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);
   }
}