DoubleSequenceValidator class

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

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

extends: DoubleArrayValidator

Поля (2)

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

Методы (6)

МодификаторыВозвратСигнатура
static DoubleSequenceValidator between01DoubleSequenceValidator between01()
static DoubleSequenceValidator between01MonotonicDoubleSequenceValidator between01Monotonic()
static DoubleSequenceValidator between01WeaklyMonotonicDoubleSequenceValidator between01WeaklyMonotonic()
for for(int var2 = 0; var2 < var1.length; var2++)
static DoubleSequenceValidator monotonicDoubleSequenceValidator monotonic()
static DoubleSequenceValidator weaklyMonotonicDoubleSequenceValidator weaklyMonotonic()

Исходный код

Показать/скрыть
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 DoubleSequenceValidator class="kw">extends DoubleArrayValidator {
   class="kw">private class="kw">static class="kw">final DoubleSequenceValidator VALIDATOR_BETWEEN_01 = new DoubleSequenceValidator(
      RelationalOperator.GreaterEqual, 0.0, RelationalOperator.LessEqual, 1.0, null
   );
   class="kw">private class="kw">static class="kw">final DoubleSequenceValidator VALIDATOR_BETWEEN_01_WEAKLY_MONOTONIC = new DoubleSequenceValidator(
      RelationalOperator.GreaterEqual, 0.0, RelationalOperator.LessEqual, 1.0, RelationalOperator.LessEqual
   );
   class="kw">private class="kw">static class="kw">final DoubleSequenceValidator VALIDATOR_BETWEEN_01_MONOTONIC = new DoubleSequenceValidator(
      RelationalOperator.GreaterEqual, 0.0, RelationalOperator.LessEqual, 1.0, RelationalOperator.Less
   );
   class="kw">private class="kw">static class="kw">final DoubleSequenceValidator VALIDATOR_WEAKLY_MONOTONIC = new DoubleSequenceValidator(
      RelationalOperator.GreaterEqual, -Double.MAX_VALUE, RelationalOperator.LessEqual, Double.MAX_VALUE, RelationalOperator.LessEqual
   );
   class="kw">private class="kw">static class="kw">final DoubleSequenceValidator VALIDATOR_MONOTONIC = new DoubleSequenceValidator(
      RelationalOperator.GreaterEqual, -Double.MAX_VALUE, RelationalOperator.LessEqual, Double.MAX_VALUE, RelationalOperator.Less
   );
   class="kw">private class="kw">final RelationalOperator relationLower;
   class="kw">private class="kw">final double lower;
   class="kw">private class="kw">final RelationalOperator relationUpper;
   class="kw">private class="kw">final double upper;
   class="kw">private class="kw">final RelationalOperator relationSequence;

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

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

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

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

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

   @Nonnull
   class="kw">public class="kw">static DoubleSequenceValidator betweenWeaklyMonotonic(double var0, double var2) {
      class="kw">return new DoubleSequenceValidator(RelationalOperator.GreaterEqual, var0, RelationalOperator.LessEqual, var2, RelationalOperator.LessEqual);
   }

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

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

   @Nonnull
   class="kw">public class="kw">static DoubleSequenceValidator fromExclToInclWeaklyMonotonic(double var0, double var2) {
      class="kw">return new DoubleSequenceValidator(RelationalOperator.Greater, var0, RelationalOperator.LessEqual, var2, RelationalOperator.LessEqual);
   }

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

   class="kw">public class="kw">static DoubleSequenceValidator monotonic() {
      class="kw">return VALIDATOR_MONOTONIC;
   }

   class="kw">public class="kw">static DoubleSequenceValidator weaklyMonotonic() {
      class="kw">return VALIDATOR_WEAKLY_MONOTONIC;
   }

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

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

      class="kw">return true;
   }

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

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

   @Nonnull
   class="kw">private String errorMessage0(double[] 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);
   }
}