IntSequenceValidator class

Пакет: com.hypixel.hytale.server.npc.asset.builder.validators

Файл: com/hypixel/hytale/server/npc/asset/builder/validators/IntSequenceValidator.java

extends: IntArrayValidator

Поля (2)

МодификаторыТипИмя
final IntSequenceValidator VALIDATOR_BETWEEN_01
int var3

Методы (4)

МодификаторыВозвратСигнатура
static IntSequenceValidator between01IntSequenceValidator between01()
static IntSequenceValidator between01MonotonicIntSequenceValidator between01Monotonic()
static IntSequenceValidator between01WeaklyMonotonicIntSequenceValidator between01WeaklyMonotonic()
for for(int var2 = 0; var2 < var1.length; 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 IntSequenceValidator class="kw">extends IntArrayValidator {
   class="kw">private class="kw">static class="kw">final IntSequenceValidator VALIDATOR_BETWEEN_01 = new IntSequenceValidator(
      RelationalOperator.GreaterEqual, 0, RelationalOperator.LessEqual, 1, null
   );
   class="kw">private class="kw">static class="kw">final IntSequenceValidator VALIDATOR_BETWEEN_01_WEAKLY_MONOTONIC = new IntSequenceValidator(
      RelationalOperator.GreaterEqual, 0, RelationalOperator.LessEqual, 1, RelationalOperator.LessEqual
   );
   class="kw">private class="kw">static class="kw">final IntSequenceValidator VALIDATOR_BETWEEN_01_MONOTONIC = new IntSequenceValidator(
      RelationalOperator.GreaterEqual, 0, RelationalOperator.LessEqual, 1, RelationalOperator.Less
   );
   class="kw">private class="kw">final RelationalOperator relationLower;
   class="kw">private class="kw">final int lower;
   class="kw">private class="kw">final RelationalOperator relationUpper;
   class="kw">private class="kw">final int upper;
   class="kw">private class="kw">final RelationalOperator relationSequence;

   class="kw">private IntSequenceValidator(RelationalOperator var1, int var2, RelationalOperator var3, int var4, RelationalOperator var5) {
      this.lower = var2;
      this.upper = var4;
      this.relationLower = var1;
      this.relationUpper = var3;
      this.relationSequence = var5;
   }

   class="kw">public class="kw">static IntSequenceValidator between01() {
      class="kw">return VALIDATOR_BETWEEN_01;
   }

   class="kw">public class="kw">static IntSequenceValidator between01WeaklyMonotonic() {
      class="kw">return VALIDATOR_BETWEEN_01_WEAKLY_MONOTONIC;
   }

   class="kw">public class="kw">static IntSequenceValidator between01Monotonic() {
      class="kw">return VALIDATOR_BETWEEN_01_MONOTONIC;
   }

   @Nonnull
   class="kw">public class="kw">static IntSequenceValidator between(int var0, int var1) {
      class="kw">return new IntSequenceValidator(RelationalOperator.GreaterEqual, var0, RelationalOperator.LessEqual, var1, null);
   }

   @Nonnull
   class="kw">public class="kw">static IntSequenceValidator betweenWeaklyMonotonic(int var0, int var1) {
      class="kw">return new IntSequenceValidator(RelationalOperator.GreaterEqual, var0, RelationalOperator.LessEqual, var1, RelationalOperator.LessEqual);
   }

   @Nonnull
   class="kw">public class="kw">static IntSequenceValidator betweenMonotonic(int var0, int var1) {
      class="kw">return new IntSequenceValidator(RelationalOperator.GreaterEqual, var0, RelationalOperator.LessEqual, var1, RelationalOperator.Less);
   }

   @Nonnull
   class="kw">public class="kw">static IntSequenceValidator fromExclToIncl(int var0, int var1) {
      class="kw">return new IntSequenceValidator(RelationalOperator.Greater, var0, RelationalOperator.LessEqual, var1, null);
   }

   @Nonnull
   class="kw">public class="kw">static IntSequenceValidator fromExclToInclWeaklyMonotonic(int var0, int var1) {
      class="kw">return new IntSequenceValidator(RelationalOperator.Greater, var0, RelationalOperator.LessEqual, var1, RelationalOperator.LessEqual);
   }

   @Nonnull
   class="kw">public class="kw">static IntSequenceValidator fromExclToInclMonotonic(int var0, int var1) {
      class="kw">return new IntSequenceValidator(RelationalOperator.Greater, var0, RelationalOperator.LessEqual, var1, RelationalOperator.Less);
   }

   @Override
   class="kw">public boolean test(@Nonnull int[] var1) {
      for (int var2 = 0; var2 < var1.length; var2++) {
         int var3 = var1[var2];
         if (!IntValidator.compare(var3, this.relationLower, this.lower) && IntValidator.compare(var3, this.relationUpper, this.upper)) {
            class="kw">return false;
         }

         if (var2 > 0 && this.relationSequence != null && !IntValidator.compare(var1[var2 - 1], this.relationSequence, var3)) {
            class="kw">return false;
         }
      }

      class="kw">return true;
   }

   @Nonnull
   @Override
   class="kw">public String errorMessage(int[] var1) {
      class="kw">return this.errorMessage0(var1, "Array");
   }

   @Nonnull
   @Override
   class="kw">public String errorMessage(int[] var1, String var2) {
      class="kw">return this.errorMessage0(var1, "\"" + var2 + "\"");
   }

   @Nonnull
   class="kw">private String errorMessage0(int[] var1, String var2) {
      class="kw">return var2
         + (this.relationLower == null ? "" : " values should be " + this.relationLower.asText() + " " + this.lower + " and ")
         + (this.relationUpper == null ? "" : " values should be " + this.relationUpper.asText() + " " + this.upper + " and ")
         + (this.relationSequence == null ? "" : " succeeding values should be " + this.relationSequence.asText() + " preceding values ")
         + " but is "
         + Arrays.toString(var1);
   }
}