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