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