DoubleHolderBase class
Пакет: com.hypixel.hytale.server.npc.asset.builder.holder
Файл: com/hypixel/hytale/server/npc/asset/builder/holder/DoubleHolderBase.java
extends: ValueHolder
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
protected |
List<ObjDoubleConsumer<ExecutionContext>> |
relationValidators |
|
double |
var2 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
addRelationValidatorvoid addRelationValidator(ObjDoubleConsumer<ExecutionContext> var1) |
|
|
for for(ObjDoubleConsumer var5 : this.relationValidators) |
|
|
if if(this.relationValidators == null) |
|
|
if if(this.relationValidators != null) |
public |
double |
rawGetdouble rawGet(ExecutionContext var1) |
public |
void |
readJSONvoid readJSON(@Nonnull JsonElement var1, DoubleValidator var2, String var3, @Nonnull BuilderParameters var4) |
public |
void |
readJSONvoid readJSON(JsonElement var1, double var2, DoubleValidator var4, String var5, @Nonnull BuilderParameters var6) |
abstract |
|
super super(ValueType.NUMBER) |
public |
void |
validatevoid validate(double var1) |
protected |
void |
validateRelationsvoid validateRelations(ExecutionContext var1, double 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.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.DoubleValidator;
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.ObjDoubleConsumer;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">abstract class DoubleHolderBase class="kw">extends ValueHolder {
class="kw">protected List<ObjDoubleConsumer<ExecutionContext>> relationValidators;
class="kw">protected DoubleValidator doubleValidator;
class="kw">protected DoubleHolderBase() {
super(ValueType.NUMBER);
}
class="kw">public void readJSON(@Nonnull JsonElement var1, DoubleValidator var2, String var3, @Nonnull BuilderParameters var4) {
this.readJSON(var1, var3, var4);
this.doubleValidator = var2;
if (this.isStatic()) {
this.validate(this.expression.getNumber(null));
}
}
class="kw">public void readJSON(JsonElement var1, double var2, DoubleValidator var4, String var5, @Nonnull BuilderParameters var6) {
this.readJSON(var1, () -> new BuilderExpressionStaticNumber(var2), var5, var6);
this.doubleValidator = var4;
if (this.isStatic()) {
this.validate(this.expression.getNumber(null));
}
}
class="kw">public void addRelationValidator(ObjDoubleConsumer<ExecutionContext> var1) {
if (this.relationValidators == null) {
this.relationValidators = new ObjectArrayList();
}
this.relationValidators.add(var1);
}
class="kw">protected void validateRelations(ExecutionContext var1, double var2) {
if (this.relationValidators != null) {
for (ObjDoubleConsumer var5 : this.relationValidators) {
var5.accept(var1, var2);
}
}
}
class="kw">public double rawGet(ExecutionContext var1) {
double var2 = this.expression.getNumber(var1);
if (!this.isStatic()) {
this.validate(var2);
}
class="kw">return var2;
}
class="kw">public void validate(double var1) {
if (this.doubleValidator != null && !this.doubleValidator.test(var1)) {
throw new IllegalStateException(this.doubleValidator.errorMessage(var1, this.name));
}
}
}