Scope interface

Пакет: com.hypixel.hytale.server.npc.util.expression

Файл: com/hypixel/hytale/server/npc/util/expression/Scope.java

Поля (1)

МодификаторыТипИмя
StringBuilder var2

Методы (18)

МодификаторыВозвратСигнатура
abstract void callvoid call(ExecutionContext var1, int var2)
static char encodeTypechar encodeType(@Nonnull ValueType var0)
for for(int var3 = 0; var3 < var1.length; var3++)
default boolean getBooleanboolean getBoolean(String var1)
default boolean[] getBooleanArrayboolean[] getBooleanArray(String var1)
abstract Supplier<boolean[]> getBooleanArraySupplierSupplier<boolean[]> getBooleanArraySupplier(String var1)
abstract BooleanSupplier getBooleanSupplierBooleanSupplier getBooleanSupplier(String var1)
abstract Scope.Function getFunctionScope.Function getFunction(String var1)
default double getNumberdouble getNumber(String var1)
default double[] getNumberArraydouble[] getNumberArray(String var1)
abstract Supplier<double[]> getNumberArraySupplierSupplier<double[]> getNumberArraySupplier(String var1)
abstract DoubleSupplier getNumberSupplierDoubleSupplier getNumberSupplier(String var1)
default String getStringString getString(String var1)
default String[] getStringArrayString[] getStringArray(String var1)
abstract Supplier<String[]> getStringArraySupplierSupplier<String[]> getStringArraySupplier(String var1)
abstract Supplier<String> getStringSupplierSupplier<String> getStringSupplier(String var1)
abstract boolean isConstantboolean isConstant(String var1)
return switchreturn switch(var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.util.expression;

class="kw">import java.util.function.BooleanSupplier;
class="kw">import java.util.function.DoubleSupplier;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class="kw">interface Scope {
   Supplier<String> getStringSupplier(String var1);

   DoubleSupplier getNumberSupplier(String var1);

   BooleanSupplier getBooleanSupplier(String var1);

   Supplier<String[]> getStringArraySupplier(String var1);

   Supplier<double[]> getNumberArraySupplier(String var1);

   Supplier<boolean[]> getBooleanArraySupplier(String var1);

   Scope.Function getFunction(String var1);

   class="kw">default String getString(String var1) {
      class="kw">return this.getStringSupplier(var1).get();
   }

   class="kw">default double getNumber(String var1) {
      class="kw">return this.getNumberSupplier(var1).getAsDouble();
   }

   class="kw">default boolean getBoolean(String var1) {
      class="kw">return this.getBooleanSupplier(var1).getAsBoolean();
   }

   class="kw">default String[] getStringArray(String var1) {
      class="kw">return this.getStringArraySupplier(var1).get();
   }

   class="kw">default double[] getNumberArray(String var1) {
      class="kw">return this.getNumberArraySupplier(var1).get();
   }

   class="kw">default boolean[] getBooleanArray(String var1) {
      class="kw">return this.getBooleanArraySupplier(var1).get();
   }

   boolean isConstant(String var1);

   @Nullable
   ValueType getType(String var1);

   @Nonnull
   class="kw">static String encodeFunctionName(@Nonnull String var0, @Nonnull ValueType[] var1) {
      StringBuilder var2 = new StringBuilder(var0).append('@');

      for (int var3 = 0; var3 < var1.length; var3++) {
         var2.append(encodeType(var1[var3]));
      }

      class="kw">return var2.toString();
   }

   class="kw">static char encodeType(@Nonnull ValueType var0) {
      class="kw">return class="kw">switch (var0) {
         case NUMBER -> 'n';
         case STRING -> 's';
         case BOOLEAN -> 'b';
         case NUMBER_ARRAY -> 'N';
         case STRING_ARRAY -> 'S';
         case BOOLEAN_ARRAY -> 'B';
         class="kw">default -> throw new IllegalStateException("Type cannot be encoded for function name: " + var0);
      };
   }

   @FunctionalInterface
   class="kw">interface Function {
      void call(ExecutionContext var1, int var2);
   }
}