BooleanImplicationValidator class
Пакет: com.hypixel.hytale.server.npc.asset.builder.validators
Файл: com/hypixel/hytale/server/npc/asset/builder/validators/BooleanImplicationValidator.java
extends: Validator
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String[] |
antecedentSet |
|
boolean |
var3 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
private |
boolean |
allMatchboolean allMatch(@Nonnull boolean[] var1, boolean var2) |
private |
boolean |
anyMatchboolean anyMatch(@Nonnull boolean[] var1, boolean var2) |
|
|
for for(boolean var6 : var1) |
|
|
for for(boolean var6 : var1) |
|
|
if if(var6 != var2) |
|
|
if if(var6 == var2) |
public |
boolean |
testboolean test(@Nonnull boolean[] var1, @Nonnull boolean[] var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder.validators;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">public class BooleanImplicationValidator class="kw">extends Validator {
class="kw">private class="kw">final String[] antecedentSet;
class="kw">private class="kw">final boolean antecedentState;
class="kw">private class="kw">final String[] consequentSet;
class="kw">private class="kw">final boolean consequentState;
class="kw">private class="kw">final boolean anyAntecedent;
class="kw">private BooleanImplicationValidator(String[] var1, boolean var2, String[] var3, boolean var4, boolean var5) {
this.antecedentSet = var1;
this.antecedentState = var2;
this.consequentSet = var3;
this.consequentState = var4;
this.anyAntecedent = var5;
}
class="kw">public boolean test(@Nonnull boolean[] var1, @Nonnull boolean[] var2) {
boolean var3 = this.anyAntecedent ? this.anyMatch(var1, this.antecedentState) : this.allMatch(var1, this.antecedentState);
class="kw">return !var3 || this.allMatch(var2, this.consequentState);
}
class="kw">private boolean allMatch(@Nonnull boolean[] var1, boolean var2) {
for (boolean var6 : var1) {
if (var6 != var2) {
class="kw">return false;
}
}
class="kw">return true;
}
class="kw">private boolean anyMatch(@Nonnull boolean[] var1, boolean var2) {
for (boolean var6 : var1) {
if (var6 == var2) {
class="kw">return true;
}
}
class="kw">return false;
}
@Nonnull
class="kw">public String errorMessage() {
class="kw">return String.format(
"If %s%s%s %s, all members of %s must be %s",
this.anyAntecedent ? "any of " : "all members of ",
Arrays.toString(this.antecedentSet),
this.anyAntecedent ? " is set to" : " are set to",
this.antecedentState,
Arrays.toString(this.consequentSet),
this.consequentState
);
}
@Nonnull
class="kw">public class="kw">static BooleanImplicationValidator withAttributes(String[] var0, boolean var1, String[] var2, boolean var3, boolean var4) {
class="kw">return new BooleanImplicationValidator(var0, var1, var2, var3, var4);
}
}