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