IntHolder class
Пакет: com.hypixel.hytale.server.npc.asset.builder.holder
Файл: com/hypixel/hytale/server/npc/asset/builder/holder/IntHolder.java
extends: ValueHolder
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
protected |
List<ObjIntConsumer<ExecutionContext>> |
relationValidators |
|
int |
var2 |
|
int |
var2 |
Методы (11)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
addRelationValidatorvoid addRelationValidator(ObjIntConsumer<ExecutionContext> var1) |
|
|
for for(ObjIntConsumer var4 : this.relationValidators) |
public |
int |
getint get(ExecutionContext var1) |
|
|
if if(this.relationValidators == null) |
|
|
if if(this.relationValidators != null) |
public |
int |
rawGetint rawGet(ExecutionContext var1) |
public |
void |
readJSONvoid readJSON(@Nonnull JsonElement var1, IntValidator var2, String var3, @Nonnull BuilderParameters var4) |
public |
void |
readJSONvoid readJSON(JsonElement var1, int var2, IntValidator var3, String var4, @Nonnull BuilderParameters var5) |
abstract |
|
super super(ValueType.NUMBER) |
public |
void |
validatevoid validate(int var1) |
protected |
void |
validateRelationsvoid validateRelations(ExecutionContext var1, int var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder.holder;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderParameters;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.expression.BuilderExpressionStaticNumber;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.IntValidator;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ValueType;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import java.util.function.ObjIntConsumer;
class="kw">import javax.annotation.Nonnull;
class="kw">public class IntHolder class="kw">extends ValueHolder {
class="kw">protected List<ObjIntConsumer<ExecutionContext>> relationValidators;
class="kw">protected IntValidator intValidator;
class="kw">public IntHolder() {
super(ValueType.NUMBER);
}
@Override
class="kw">public void validate(ExecutionContext var1) {
this.get(var1);
}
class="kw">public void readJSON(@Nonnull JsonElement var1, IntValidator var2, String var3, @Nonnull BuilderParameters var4) {
this.readJSON(var1, var3, var4);
this.intValidator = var2;
if (this.isStatic()) {
this.validate(MathUtil.floor(this.expression.getNumber(null)));
}
}
class="kw">public void readJSON(JsonElement var1, int var2, IntValidator var3, String var4, @Nonnull BuilderParameters var5) {
this.readJSON(var1, () -> new BuilderExpressionStaticNumber(var2), var4, var5);
this.intValidator = var3;
if (this.isStatic()) {
this.validate(MathUtil.floor(this.expression.getNumber(null)));
}
}
class="kw">public int get(ExecutionContext var1) {
int var2 = this.rawGet(var1);
this.validateRelations(var1, var2);
class="kw">return var2;
}
class="kw">public int rawGet(ExecutionContext var1) {
int var2 = MathUtil.floor(this.expression.getNumber(var1));
if (!this.isStatic()) {
this.validate(var2);
}
class="kw">return var2;
}
class="kw">public void validate(int var1) {
if (this.intValidator != null && !this.intValidator.test(var1)) {
throw new IllegalStateException(this.intValidator.errorMessage(var1, this.name));
}
}
class="kw">public void addRelationValidator(ObjIntConsumer<ExecutionContext> var1) {
if (this.relationValidators == null) {
this.relationValidators = new ObjectArrayList();
}
this.relationValidators.add(var1);
}
class="kw">protected void validateRelations(ExecutionContext var1, int var2) {
if (this.relationValidators != null) {
for (ObjIntConsumer var4 : this.relationValidators) {
var4.accept(var1, var2);
}
}
}
}