BuilderBase class
Пакет: com.hypixel.hytale.server.npc.asset.builder
Файл: com/hypixel/hytale/server/npc/asset/builder/BuilderBase.java
implements: Builder<T>
Поля (267)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Pattern |
PATTERN |
|
|
return |
|
boolean |
var1 |
|
int |
var1 |
|
String[] |
var1 |
|
boolean |
var10 |
|
JsonElement |
var10 |
|
Schema |
var10 |
|
ArraySchema |
var10 |
|
ArraySchema |
var10 |
|
boolean |
var10 |
|
JsonElement |
var10 |
|
JsonElement |
var10 |
|
ArraySchema |
var10 |
|
ArraySchema |
var10 |
|
ArraySchema |
var10 |
|
ArraySchema |
var10 |
|
boolean |
var10 |
|
JsonElement |
var10 |
|
boolean |
var10 |
|
Schema |
var10 |
|
boolean |
var10 |
|
ArraySchema |
var10 |
|
ArraySchema |
var10 |
|
JsonElement |
var10 |
|
ArraySchema |
var10 |
|
Schema |
var10 |
|
Schema |
var10 |
|
Schema |
var10 |
|
boolean |
var10 |
|
Schema |
var10 |
|
JsonElement |
var10 |
|
ArraySchema |
var10 |
|
StringSchema |
var10 |
|
String |
var10 |
|
|
var10 |
|
String[][] |
var10 |
|
ValueStoreValidator |
var10 |
|
Schema |
var11 |
|
Schema |
var11 |
|
String[] |
var11 |
|
|
var11 |
|
|
var11 |
|
Schema |
var11 |
|
Schema |
var11 |
|
JsonElement |
var11 |
|
JsonObject |
var11 |
|
boolean |
var11 |
|
Schema |
var11 |
|
Schema |
var11 |
|
JsonElement |
var11 |
|
Schema |
var11 |
|
JsonElement |
var11 |
|
Schema |
var11 |
|
JsonElement |
var11 |
|
Schema |
var11 |
|
JsonElement |
var11 |
|
Schema |
var11 |
|
Schema |
var11 |
|
Schema |
var11 |
|
StringSchema |
var11 |
|
EnumSet |
var11 |
|
StringSchema |
var11 |
|
Schema |
var11 |
|
String[] |
var11 |
|
|
var11 |
|
|
var11 |
|
JsonElement |
var11 |
|
Schema |
var11 |
|
ArraySchema |
var11 |
|
boolean |
var11 |
|
|
var11 |
|
String[] |
var11 |
|
Schema |
var12 |
|
boolean |
var12 |
|
ArraySchema |
var12 |
|
Schema |
var12 |
|
Schema |
var12 |
|
boolean |
var12 |
|
Schema |
var12 |
|
boolean |
var12 |
|
Schema |
var12 |
|
Schema |
var12 |
|
Schema |
var12 |
|
Schema |
var12 |
|
StringSchema |
var12 |
|
StringSchema |
var12 |
|
ArraySchema |
var12 |
|
StringSchema |
var12 |
|
ArraySchema |
var12 |
|
StringSchema |
var12 |
|
StringSchema |
var12 |
|
boolean |
var12 |
|
ArraySchema |
var12 |
|
Schema |
var12 |
|
Int2ObjectOpenHashMap |
var12 |
|
Schema |
var13 |
|
StringSchema |
var13 |
|
Schema |
var13 |
|
Schema |
var13 |
|
StringSchema |
var13 |
|
ArraySchema |
var14 |
|
ArraySchema |
var14 |
|
ArraySchema |
var14 |
|
ArraySchema |
var14 |
|
ArraySchema |
var14 |
|
ArraySchema |
var14 |
|
ArraySchema |
var14 |
|
StringSchema |
var14 |
|
Schema |
var15 |
|
Schema |
var15 |
|
Schema |
var15 |
|
ArraySchema |
var15 |
|
StringSchema |
var15 |
|
Schema |
var16 |
|
String |
var17 |
|
ArraySchema |
var19 |
|
|
var2 |
|
StringBuilder |
var2 |
|
Iterator |
var2 |
|
|
var2 |
|
BuilderFactory |
var2 |
|
Schema |
var2 |
|
String |
var2 |
|
Feature[] |
var2 |
|
JsonElement |
var2 |
|
Schema |
var20 |
|
String |
var3 |
|
String[] |
var3 |
|
Schema |
var3 |
|
NoDuplicatesValidator |
var3 |
|
boolean |
var3 |
|
boolean |
var3 |
|
InstructionContextValidator |
var3 |
|
JsonElement |
var3 |
|
JsonElement |
var3 |
|
JsonArray |
var3 |
|
String |
var4 |
|
JsonElement |
var4 |
|
JsonElement |
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
EnumSet |
var4 |
|
Enum[] |
var4 |
|
ObjectSchema |
var4 |
|
|
var4 |
|
HashSet |
var4 |
|
boolean |
var4 |
|
boolean |
var4 |
|
boolean |
var4 |
|
JsonElement |
var4 |
|
String[] |
var4 |
|
String |
var5 |
|
JsonArray |
var5 |
|
JsonArray |
var5 |
|
JsonArray |
var5 |
|
JsonElement |
var5 |
|
JsonArray |
var5 |
|
BuilderParameters |
var5 |
|
|
var5 |
|
Enum[] |
var5 |
|
Enum[] |
var5 |
|
Map |
var5 |
|
String |
var5 |
|
String |
var5 |
|
String[] |
var5 |
|
String[] |
var5 |
|
boolean |
var5 |
|
boolean |
var5 |
|
boolean |
var5 |
|
boolean |
var5 |
|
String[] |
var5 |
|
String[] |
var5 |
|
boolean |
var5 |
|
boolean |
var5 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
String[] |
var6 |
|
Schema |
var6 |
|
double |
var6 |
|
double |
var6 |
|
int |
var6 |
|
int |
var6 |
|
String |
var6 |
|
String |
var6 |
|
String[] |
var6 |
|
String[] |
var6 |
|
boolean |
var6 |
|
boolean |
var6 |
|
String |
var6 |
|
int[] |
var7 |
|
double[] |
var7 |
|
Schema |
var7 |
|
Schema |
var7 |
|
Schema |
var7 |
|
JsonElement |
var7 |
|
Schema |
var7 |
|
double |
var7 |
|
double |
var7 |
|
double |
var7 |
|
double |
var7 |
|
Enum |
var7 |
|
String |
var7 |
|
Enum |
var7 |
|
String |
var7 |
|
Schema |
var8 |
|
Schema |
var8 |
|
JsonElement |
var8 |
|
String |
var8 |
|
Schema |
var8 |
|
Schema |
var8 |
|
JsonElement |
var8 |
|
Schema |
var8 |
|
Schema |
var8 |
|
Schema |
var8 |
|
Schema |
var8 |
|
JsonElement |
var8 |
|
JsonElement |
var8 |
|
JsonElement |
var8 |
|
StringSchema |
var8 |
|
StringSchema |
var8 |
|
StringSchema |
var8 |
|
ObjectSchema |
var8 |
|
JsonElement |
var8 |
|
Schema |
var8 |
|
Schema |
var8 |
|
StringSchema |
var8 |
|
StringSchema |
var8 |
|
BooleanImplicationValidator |
var8 |
|
StateStringValidator |
var8 |
|
StateStringValidator |
var8 |
|
String[] |
var8 |
|
JsonElement |
var9 |
|
boolean |
var9 |
|
JsonElement |
var9 |
|
JsonElement |
var9 |
|
JsonElement |
var9 |
|
boolean |
var9 |
|
JsonElement |
var9 |
|
JsonElement |
var9 |
|
boolean |
var9 |
|
JsonElement |
var9 |
|
boolean |
var9 |
|
JsonElement |
var9 |
|
JsonElement |
var9 |
|
StringSchema |
var9 |
|
EnumSet |
var9 |
|
ArraySchema |
var9 |
|
JsonElement |
var9 |
|
JsonElement |
var9 |
|
ArraySchema |
var9 |
|
Schema |
var9 |
|
JsonElement |
var9 |
|
Schema |
var9 |
|
JsonElement |
var9 |
|
JsonElement |
var9 |
|
String |
var9 |
|
|
var9 |
|
JsonElement |
var9 |
|
boolean |
var9 |
Методы (320)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("An embeddable array can be only used once!") |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("'" + var1 + "' missing in JSON object") |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("'" + var1 + "' must be a string") |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("'" + var1 + "' must be a boolean value") |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("Expected a JSON object") |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("'" + var1 + "' must be an object: " + var0) |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException(var1 + " must be an array: " + var0) |
abstract |
return new |
Vector3dreturn new Vector3d(var0[0], var0[1], var0[2]) |
protected |
void |
addErrorvoid addError(String var1) |
protected |
void |
addErrorvoid addError(@Nonnull Exception var1) |
private |
void |
addQueryKeyvoid addQueryKey(String var1) |
protected |
void |
checkForUnexpectedComputeObjectvoid checkForUnexpectedComputeObject(@Nonnull JsonElement var1, String var2) |
public |
void |
cleanupParametersvoid cleanupParameters() |
protected |
BuilderDescriptor |
createDescriptorBuilderDescriptor createDescriptor(@Nonnull Builder<?> var1, String var2, String var3, BuilderManager var4, BuilderDescriptorState var5, String var6, String var7, Set<String> var8) |
static |
Vector3d |
createVector3dVector3d createVector3d(@Nullable double[] var0, @Nonnull Supplier<Vector3d> var1) |
protected |
void |
decreaseDepthvoid decreaseDepth() |
private |
String |
defaultArrayToStringString defaultArrayToString(@Nullable String[] var1) |
protected |
boolean |
expectBooleanboolean expectBoolean(@Nonnull JsonElement var1, String var2) |
static |
boolean |
expectBooleanElementboolean expectBooleanElement(@Nonnull JsonElement var0, String var1) |
protected |
double |
expectDoubledouble expectDouble(@Nonnull JsonElement var1, String var2) |
protected |
double[] |
expectDoubleArraydouble[] expectDoubleArray(@Nonnull JsonElement var1, String var2, int var3, int var4) |
protected |
double[] |
expectDoubleArraydouble[] expectDoubleArray(@Nonnull JsonElement var1, String var2, int var3) |
protected |
int[] |
expectIntArrayint[] expectIntArray(@Nonnull JsonElement var1, String var2, int var3, int var4) |
protected |
int[] |
expectIntArrayint[] expectIntArray(@Nonnull JsonElement var1, String var2, int var3) |
protected |
int |
expectIntegerint expectInteger(@Nonnull JsonElement var1, String var2) |
protected |
JsonArray |
expectJsonArrayJsonArray expectJsonArray(@Nonnull JsonElement var1, String var2) |
protected |
JsonObject |
expectJsonObjectJsonObject expectJsonObject(@Nonnull JsonElement var1, String var2) |
static |
JsonObject |
expectObjectJsonObject expectObject(@Nonnull JsonElement var0) |
static |
JsonObject |
expectObjectJsonObject expectObject(@Nonnull JsonElement var0, String var1) |
static |
String |
expectStringElementString expectStringElement(@Nonnull JsonElement var0, String var1) |
|
|
for for(int var8 = 0; var8 < var6; var8++) |
|
|
for for(int var8 = 0; var8 < var6; var8++) |
|
|
for for(Enum var7 : var1) |
|
|
for for(int var4 = 0; var4 < var1; var4++) |
|
|
for for(String var8 : var0) |
|
|
for for(int var5 = 0; var5 < var0.length; var5++) |
|
|
for for(JsonElement var7 : var4) |
|
|
for for(String var7 : var0) |
|
|
for for(String var8 : var1) |
|
|
for for(int var3 = 0; var3 < var2.length; var3++) |
|
|
for for(String var16 : var11) |
|
|
for for(ValueHolder var8 : this.dynamicHolders) |
|
|
for for(ValueStoreValidator.ValueUsage var9 : this.valueStoreUsages) |
abstract |
|
for for(int var7 = 0; var7 < var5.size() |
abstract |
|
for for(int var5 = 0; var5 < var3.size() |
public |
boolean |
getArrayboolean getArray(@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
ArrayValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7,
@Nonnull BuilderValidationHelper var8) |
public |
boolean |
getAssetboolean getAsset(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
String var4,
@Nonnull AssetValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getAssetboolean getAsset(@Nonnull JsonElement var1,
String var2,
@Nonnull AssetHolder var3,
String var4,
@Nonnull AssetValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getAssetArrayboolean getAssetArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
String[] var5,
@Nonnull AssetValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
getAssetArrayboolean getAssetArray(@Nonnull JsonElement var1,
String var2,
@Nonnull AssetArrayHolder var3,
String[] var4,
int var5,
int var6,
@Nonnull AssetValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10) |
public |
boolean |
getBooleanboolean getBoolean(@Nonnull JsonElement var1, String var2, @Nonnull BooleanHolder var3, boolean var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
boolean |
getBooleanboolean getBoolean(@Nonnull JsonElement var1, String var2, @Nonnull BooleanConsumer var3, boolean var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
BuilderManager |
getBuilderManagerBuilderManager getBuilderManager() |
public |
boolean |
getCodecObjectboolean getCodecObject(@Nonnull JsonElement var1, String var2, @Nonnull BuilderCodecObjectHelper<?> var3, BuilderDescriptorState var4, String var5, @Nullable String var6) |
protected |
boolean |
getDefaultSubStateboolean getDefaultSubState(@Nonnull JsonElement var1, String var2, @Nonnull Consumer<String> var3, StringValidator var4, BuilderDescriptorState var5, String var6, String var7) |
public |
boolean |
getDictionaryboolean getDictionary(@Nonnull JsonElement var1, String var2, String var3, @Nonnull BiConsumer<String, JsonElement> var4, BuilderDescriptorState var5, String var6, String var7) |
public |
boolean |
getDoubleboolean getDouble(@Nonnull JsonElement var1,
String var2,
@Nonnull DoubleConsumer var3,
double var4,
DoubleValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
getDoubleboolean getDouble(@Nonnull JsonElement var1,
String var2,
@Nonnull DoubleHolder var3,
double var4,
DoubleValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
getDoubleArrayboolean getDoubleArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
double[] var4,
int var5,
int var6,
DoubleArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10) |
public |
boolean |
getDoubleArrayboolean getDoubleArray(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
double[] var4,
int var5,
int var6,
DoubleArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10) |
public |
boolean |
getDoubleRangeboolean getDoubleRange(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8) |
public |
boolean |
getDoubleRangeboolean getDoubleRange(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8) |
protected |
boolean |
getExistentStateSetboolean getExistentStateSet(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<Int2ObjectMap<IntSet>> var3,
@Nonnull StateMappingHelper var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7) |
public |
boolean |
getFloatboolean getFloat(@Nonnull JsonElement var1,
String var2,
@Nonnull FloatConsumer var3,
float var4,
DoubleValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getFloatboolean getFloat(@Nonnull JsonElement var1,
String var2,
@Nonnull FloatHolder var3,
double var4,
DoubleValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
getIntboolean getInt(@Nonnull JsonElement var1,
String var2,
@Nonnull IntConsumer var3,
int var4,
IntValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getIntboolean getInt(@Nonnull JsonElement var1,
String var2,
@Nonnull IntHolder var3,
int var4,
IntValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getIntArrayboolean getIntArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<int[]> var3,
int[] var4,
int var5,
int var6,
IntArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10) |
public |
boolean |
getIntArrayboolean getIntArray(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int[] var4,
int var5,
int var6,
IntArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10) |
public |
boolean |
getIntRangeboolean getIntRange(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<int[]> var3,
int[] var4,
IntArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8) |
public |
boolean |
getIntRangeboolean getIntRange(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int[] var4,
IntArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8) |
public |
boolean |
getObjectboolean getObject(@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectReferenceHelper<?> var3,
BuilderDescriptorState var4,
String var5,
@Nullable String var6,
@Nonnull BuilderValidationHelper var7) |
public |
boolean |
getOverrideboolean getOverride(@Nonnull JsonElement var1, String var2, @Nonnull Consumer<FeatureOverride> var3, BuilderDescriptorState var4, String var5, @Nullable String var6) |
public |
boolean |
getOverrideboolean getOverride(@Nonnull JsonElement var1, String var2, @Nonnull EnumHolder<FeatureOverride> var3, BuilderDescriptorState var4, String var5, @Nullable String var6) |
public |
void |
getParameterBlockvoid getParameterBlock(@Nonnull JsonElement var1, BuilderDescriptorState var2, String var3, String var4) |
public |
boolean |
getStringboolean getString(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
String var4,
StringValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getStringboolean getString(@Nonnull JsonElement var1,
String var2,
@Nonnull StringHolder var3,
String var4,
StringValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
boolean |
getStringArrayboolean getStringArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
String[] var5,
StringArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
getStringArrayboolean getStringArray(@Nonnull JsonElement var1,
String var2,
@Nonnull StringArrayHolder var3,
String[] var4,
int var5,
int var6,
StringArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10) |
public |
boolean |
getVector3dboolean getVector3d(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8) |
public |
boolean |
getVector3dboolean getVector3d(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8) |
private |
boolean |
hasOverriddenParameterboolean hasOverriddenParameter(String var1, ParameterType var2, @Nonnull FeatureEvaluatorHelper var3) |
|
|
if if(this.evaluatorHelper != null) |
|
|
if if(var4 != null) |
|
|
if if(var6 >= var3 && var6 <= var4) |
|
|
if if(var3) |
|
|
if if(var4 == null) |
|
|
if if(var4) |
|
|
if if(var5 != null) |
|
|
if if(!this.useDefaultsOnly) |
|
|
if if(var3) |
|
|
if if(var10) |
|
|
if if(var2 == null) |
|
|
if if(var4) |
|
|
if if(var12) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var5 != 0) |
|
|
if if(var6 != Integer.MAX_VALUE) |
|
|
if if(var10) |
|
|
if if(var11) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var5 != 0) |
|
|
if if(var6 != Integer.MAX_VALUE) |
|
|
if if(var12) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var5 != 0) |
|
|
if if(var6 != Integer.MAX_VALUE) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var5 != 0) |
|
|
if if(var6 != Integer.MAX_VALUE) |
|
|
if if(var12) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var5 != 0) |
|
|
if if(var6 != Integer.MAX_VALUE) |
|
|
if if(var10) |
|
|
if if(var10) |
|
|
if if(var9) |
|
|
if if(var10) |
|
|
if if(var1 == 0) |
|
|
if if(var0 == null) |
|
|
if if(var0 != null && var0.length != 0) |
|
|
if if(var10 != null) |
|
|
if if(var8 != null) |
|
|
if if(var7 != null) |
|
|
if if(this.useDefaultsOnly) |
|
|
if if(var9 != null) |
|
|
if if(var10) |
|
|
if if(var2 != null) |
|
|
if if(var0 == null) |
|
|
if if(var0 == null) |
|
|
if if(var12) |
|
|
if if(var5 != 0) |
|
|
if if(var6 != Integer.MAX_VALUE) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != Integer.MAX_VALUE) |
|
|
if if(var2 != null) |
|
|
if if(var1 == null) |
|
|
if if(var7 == var4) |
|
|
if if(var6 == var4) |
|
|
if if(var7 == var4) |
|
|
if if(var6 == var4) |
|
|
if if(!var4) |
|
|
if if(!var3) |
|
|
if if(!var4x && !var5) |
|
|
if if(!var5 && !var4x) |
|
|
if if(!var4) |
|
|
if if(var4) |
|
|
if if(var3) |
|
|
if if(var4x && var5) |
|
|
if if(var5 && var4x) |
|
|
if if(var4) |
|
|
if if(this.valueStoreUsages == null) |
|
|
if if(this.valueStoreUsages == null) |
|
|
if if(this.valueStoreUsages == null) |
|
|
if if(!var3) |
|
|
if if(var9 != null) |
|
|
if if(var9 == null) |
|
|
if if(var10 == null) |
|
|
if if(var9 == null) |
|
|
if if(var9 == null) |
|
|
if if(!var5 || !var6) |
|
|
if if(!var4 || !var5) |
|
|
if if(this.dynamicHolders != null) |
|
|
if if(this.valueStoreUsages != null) |
|
|
if if(this.providedPrecedingClass != null) |
|
|
if if(this.dynamicHolders == null) |
|
|
if if(var2 == null) |
protected |
void |
increaseDepthvoid increaseDepth() |
protected |
boolean |
isComponentboolean isComponent() |
protected |
boolean |
isCreatingDescriptorboolean isCreatingDescriptor() |
protected |
boolean |
isCreatingSchemaboolean isCreatingSchema() |
protected |
void |
overrideParametersvoid overrideParameters(@Nonnull String[] var1, @Nonnull ParameterType... var2) |
private |
void |
postReadConfigvoid postReadConfig(@Nonnull JsonElement var1) |
private |
void |
preReadConfigvoid preReadConfig(BuilderContext var1, BuilderManager var2, BuilderParameters var3, @Nullable BuilderValidationHelper var4) |
protected |
void |
preventParameterOverridevoid preventParameterOverride() |
protected |
void |
provideFeaturevoid provideFeature(@Nonnull Feature var1) |
protected |
void |
provideFeaturevoid provideFeature(@Nonnull EnumSet<Feature> var1) |
private |
void |
provideFeatureOrParametersvoid provideFeatureOrParameters(ProviderEvaluator var1) |
protected |
void |
providePrecedingvoid providePreceding(@Nonnull Class<?> var1) |
static |
boolean |
readBooleanboolean readBoolean(@Nonnull JsonObject var0, String var1, boolean var2) |
public |
Builder<T> |
readCommonConfigBuilder<T> readCommonConfig(JsonElement var1) |
public |
Builder<T> |
readConfigBuilder<T> readConfig(JsonElement var1) |
static |
String |
readStringString readString(@Nonnull JsonObject var0, String var1) |
static |
String |
readStringString readString(@Nonnull JsonObject var0, String var1, String var2) |
static |
String[] |
readStringArrayString[] readStringArray(@Nonnull JsonObject var0, String var1, @Nonnull StringValidator var2, String[] var3) |
protected |
void |
registerStateRequirervoid registerStateRequirer(String var1, String var2, @Nonnull BiConsumer<Integer, Integer> var3) |
protected |
void |
registerStateSensorvoid registerStateSensor(String var1, String var2, @Nonnull BiConsumer<Integer, Integer> var3) |
protected |
void |
registerStateSettervoid registerStateSetter(String var1, String var2, @Nonnull BiConsumer<Integer, Integer> var3) |
public |
void |
registerTagsvoid registerTags(@Nonnull Set<String> var1) |
public |
void |
requireArrayvoid requireArray(@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
ArrayValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7,
@Nonnull BuilderValidationHelper var8) |
public |
void |
requireArrayvoid requireArray(@Nonnull JsonElement var1,
@Nonnull BuilderObjectArrayHelper<?, ?> var2,
ArrayValidator var3,
BuilderDescriptorState var4,
String var5,
@Nullable String var6,
@Nonnull BuilderValidationHelper var7) |
private |
void |
requireArray0void requireArray0(@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
@Nullable ArrayValidator var4,
@Nonnull BuilderValidationHelper var5) |
public |
void |
requireAssetvoid requireAsset(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
@Nonnull AssetValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7) |
public |
void |
requireAssetvoid requireAsset(@Nonnull JsonElement var1,
String var2,
@Nonnull AssetHolder var3,
@Nonnull AssetValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7) |
public |
void |
requireAssetArrayvoid requireAssetArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
@Nonnull AssetValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
void |
requireAssetArrayvoid requireAssetArray(@Nonnull JsonElement var1,
String var2,
@Nonnull AssetArrayHolder var3,
int var4,
int var5,
@Nonnull AssetValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
void |
requireBooleanvoid requireBoolean(@Nonnull JsonElement var1, String var2, @Nonnull BooleanHolder var3, BuilderDescriptorState var4, String var5, @Nullable String var6) |
public |
void |
requireBooleanvoid requireBoolean(@Nonnull JsonElement var1, String var2, @Nonnull BooleanConsumer var3, BuilderDescriptorState var4, String var5, @Nullable String var6) |
public |
void |
requireCodecObjectvoid requireCodecObject(@Nonnull JsonElement var1, String var2, @Nonnull BuilderCodecObjectHelper<?> var3, BuilderDescriptorState var4, String var5, @Nullable String var6) |
protected |
void |
requireContextvoid requireContext(@Nonnull EnumSet<InstructionType> var1, EnumSet<ComponentContext> var2) |
public |
void |
requireDictionaryvoid requireDictionary(@Nonnull JsonElement var1, String var2, String var3, @Nonnull BiConsumer<String, JsonElement> var4, BuilderDescriptorState var5, String var6, String var7) |
public |
void |
requireDoublevoid requireDouble(@Nonnull JsonElement var1,
String var2,
@Nonnull DoubleConsumer var3,
DoubleValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7) |
public |
void |
requireDoublevoid requireDouble(@Nonnull JsonElement var1, String var2, @Nonnull DoubleHolder var3, DoubleValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireDoubleArrayvoid requireDoubleArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
int var4,
int var5,
DoubleArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
void |
requireDoubleArrayvoid requireDoubleArray(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int var4,
int var5,
DoubleArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
requireDoubleIfNotOverriddenboolean requireDoubleIfNotOverridden(@Nonnull JsonElement var1, String var2, @Nonnull DoubleHolder var3, DoubleValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireDoubleRangevoid requireDoubleRange(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
DoubleArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7) |
public |
void |
requireDoubleRangevoid requireDoubleRange(@Nonnull JsonElement var1, String var2, @Nonnull NumberArrayHolder var3, DoubleArrayValidator var4, BuilderDescriptorState var5, String var6, String var7) |
public |
void |
requireEmbeddableArrayvoid requireEmbeddableArray(@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
@Nonnull ArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7,
@Nonnull BuilderValidationHelper var8) |
protected |
void |
requireFeaturevoid requireFeature(@Nonnull EnumSet<Feature> var1) |
private |
void |
requireFeaturevoid requireFeature(@Nonnull RequiredFeatureValidator var1) |
protected |
void |
requireFeatureIfvoid requireFeatureIf(String var1, boolean var2, boolean var3, @Nonnull EnumSet<Feature> var4) |
protected |
void |
requireFeatureIfvoid requireFeatureIf(@Nonnull BooleanHolder var1, boolean var2, @Nonnull EnumSet<Feature> var3) |
public |
void |
requireFloatvoid requireFloat(@Nonnull JsonElement var1,
String var2,
@Nonnull FloatConsumer var3,
DoubleValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7) |
public |
void |
requireFloatvoid requireFloat(@Nonnull JsonElement var1, String var2, @Nonnull FloatHolder var3, DoubleValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
protected |
void |
requireInstructionTypevoid requireInstructionType(@Nonnull EnumSet<InstructionType> var1) |
public |
void |
requireIntvoid requireInt(@Nonnull JsonElement var1, String var2, @Nonnull IntConsumer var3, IntValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireIntvoid requireInt(@Nonnull JsonElement var1, String var2, @Nonnull IntHolder var3, IntValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireIntArrayvoid requireIntArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<int[]> var3,
int var4,
int var5,
IntArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
void |
requireIntArrayvoid requireIntArray(@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int var4,
int var5,
IntArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
requireIntIfNotOverriddenboolean requireIntIfNotOverridden(@Nonnull JsonElement var1, String var2, @Nonnull IntHolder var3, IntValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireIntRangevoid requireIntRange(@Nonnull JsonElement var1, String var2, @Nonnull Consumer<int[]> var3, IntArrayValidator var4, BuilderDescriptorState var5, String var6, String var7) |
public |
void |
requireIntRangevoid requireIntRange(@Nonnull JsonElement var1, String var2, @Nonnull NumberArrayHolder var3, IntArrayValidator var4, BuilderDescriptorState var5, String var6, String var7) |
protected |
void |
requireIsolatedForEachvoid requireIsolatedForEach() |
protected |
void |
requireIsolatedForEachIfvoid requireIsolatedForEachIf(@Nonnull String var1, boolean var2, boolean var3) |
protected |
void |
requireNotInForEachvoid requireNotInForEach() |
protected |
void |
requireNotInForEachIfvoid requireNotInForEachIf(@Nonnull String var1, boolean var2, boolean var3) |
public |
void |
requireObjectvoid requireObject(@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectReferenceHelper<?> var3,
BuilderDescriptorState var4,
String var5,
@Nullable String var6,
@Nonnull BuilderValidationHelper var7) |
private |
boolean |
requireOrGetDictionaryboolean requireOrGetDictionary(@Nonnull JsonElement var1,
String var2,
String var3,
@Nonnull BiConsumer<String, JsonElement> var4,
boolean var5,
BuilderDescriptorState var6,
String var7,
String var8) |
protected |
void |
requirePrecedingvoid requirePreceding(@Nonnull Class<?> var1, @Nonnull BuilderDescriptorState var2, @Nonnull String var3, @Nullable String var4) |
protected |
void |
requireStateStringvoid requireStateString(@Nonnull JsonElement var1,
String var2,
boolean var3,
@Nonnull TriConsumer<String, String, Boolean> var4,
BuilderDescriptorState var5,
String var6,
String var7) |
public |
void |
requireStringvoid requireString(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
StringValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7) |
public |
void |
requireStringvoid requireString(@Nonnull JsonElement var1, String var2, @Nonnull StringHolder var3, StringValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireStringArrayvoid requireStringArray(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
StringArrayValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8) |
public |
void |
requireStringArrayvoid requireStringArray(@Nonnull JsonElement var1,
String var2,
@Nonnull StringArrayHolder var3,
int var4,
int var5,
StringArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
boolean |
requireStringIfNotOverriddenboolean requireStringIfNotOverridden(@Nonnull JsonElement var1, String var2, @Nonnull StringHolder var3, StringValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7) |
public |
void |
requireTemporalArrayvoid requireTemporalArray(@Nonnull JsonElement var1,
String var2,
@Nonnull TemporalArrayHolder var3,
int var4,
int var5,
TemporalArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9) |
public |
void |
requireTemporalRangevoid requireTemporalRange(@Nonnull JsonElement var1,
String var2,
@Nonnull TemporalArrayHolder var3,
TemporalArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7) |
public |
void |
requireVector3dvoid requireVector3d(@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
DoubleArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7) |
public |
void |
requireVector3dvoid requireVector3d(@Nonnull JsonElement var1, String var2, @Nonnull NumberArrayHolder var3, DoubleArrayValidator var4, BuilderDescriptorState var5, String var6, String var7) |
private |
void |
resolveFeatureProviderReverencesvoid resolveFeatureProviderReverences(BuilderManager var1) |
private |
boolean |
runLoadTimeValidationHelperboolean runLoadTimeValidationHelper(String var1, NPCLoadTimeValidationHelper var2, ExecutionContext var3, @Nonnull List<String> var4) |
protected |
void |
runLoadTimeValidationHelper0void runLoadTimeValidationHelper0(String var1, NPCLoadTimeValidationHelper var2, ExecutionContext var3, List<String> var4) |
protected |
void |
setNotComponentvoid setNotComponent() |
abstract |
return |
stringToEnumreturn stringToEnum(var1, var2, var3) |
protected |
<E extends Enum<E>> void |
toSet<E extends Enum<E>> void toSet(String var1, @Nonnull Class<E> var2, @Nonnull EnumSet<E> var3, @Nonnull String var4) |
protected |
<E extends Enum<E>> void |
toSet<E extends Enum<E>> void toSet(String var1, @Nonnull Class<E> var2, @Nonnull EnumSet<E> var3, @Nonnull JsonArray var4) |
protected |
<E extends Enum<E>> void |
toSet<E extends Enum<E>> void toSet(String var1, @Nonnull Class<E> var2, @Nonnull EnumSet<E> var3, @Nonnull JsonElement var4) |
private |
void |
trackDynamicHoldervoid trackDynamicHolder(@Nonnull ValueHolder var1) |
private |
void |
validateAndSetvoid validateAndSet(String var1, @Nullable StringValidator var2, @Nonnull Consumer<String> var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(String[] var1, @Nullable StringArrayValidator var2, @Nonnull Consumer<String[]> var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(double var1, @Nullable DoubleValidator var3, @Nonnull DoubleConsumer var4, String var5) |
private |
void |
validateAndSetvoid validateAndSet(int[] var1, @Nullable IntArrayValidator var2, @Nonnull Consumer<int[]> var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(double[] var1, @Nullable DoubleArrayValidator var2, @Nonnull Consumer<double[]> var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(float var1, @Nullable DoubleValidator var2, @Nonnull FloatConsumer var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(int var1, @Nullable IntValidator var2, @Nonnull IntConsumer var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(String var1, @Nullable AssetValidator var2, @Nonnull Consumer<String> var3, String var4) |
private |
void |
validateAndSetvoid validateAndSet(@Nullable String[] var1, @Nullable AssetValidator var2, @Nonnull Consumer<String[]> var3, String var4) |
protected |
void |
validateAnyvoid validateAny(String var1, boolean var2, String var3, boolean var4) |
protected |
void |
validateAnyvoid validateAny(@Nonnull BooleanHolder var1, @Nonnull BooleanHolder var2) |
protected |
void |
validateAnyvoid validateAny(@Nonnull BooleanHolder var1, String var2, boolean var3) |
protected |
void |
validateAnyvoid validateAny(String var1, boolean var2, String var3, boolean var4, String var5, boolean var6) |
protected |
void |
validateAnyvoid validateAny(@Nonnull String[] var1, @Nonnull boolean[] var2) |
protected |
void |
validateAnyPresentvoid validateAnyPresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4) |
protected |
void |
validateAnyPresentvoid validateAnyPresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4, String var5, @Nonnull BuilderObjectHelper<?> var6) |
protected |
void |
validateAnyPresentvoid validateAnyPresent(@Nonnull String[] var1, @Nonnull BuilderObjectHelper<?>[] var2) |
static |
boolean |
validateAssetboolean validateAsset(@Nullable String var0, @Nonnull AssetValidator var1, String var2, boolean var3) |
abstract |
|
validateAsset validateAsset(var7, var1, var2, var3) |
static |
boolean |
validateAssetListboolean validateAssetList(@Nullable String[] var0, @Nonnull AssetValidator var1, String var2, boolean var3) |
protected |
void |
validateAtMostOnevoid validateAtMostOne(@Nonnull BooleanHolder var1, @Nonnull BooleanHolder var2) |
protected |
void |
validateAtMostOnevoid validateAtMostOne(@Nonnull BooleanHolder var1, String var2, boolean var3) |
protected |
void |
validateAtMostOneStringvoid validateAtMostOneString(String var1, String var2, String var3, String var4) |
private |
void |
validateBooleanImplicationvoid validateBooleanImplication(String[] var1, @Nonnull boolean[] var2, boolean var3, String[] var4, @Nonnull boolean[] var5, boolean var6, boolean var7) |
protected |
void |
validateBooleanImplicationAllAntecedentsvoid validateBooleanImplicationAllAntecedents(String[] var1, @Nonnull boolean[] var2, boolean var3, String[] var4, @Nonnull boolean[] var5, boolean var6) |
protected |
void |
validateBooleanImplicationAnyAntecedentvoid validateBooleanImplicationAnyAntecedent(String[] var1, @Nonnull boolean[] var2, boolean var3, String[] var4, @Nonnull boolean[] var5, boolean var6) |
protected |
void |
validateDoubleRelationvoid validateDoubleRelation(String var1, double var2, @Nonnull RelationalOperator var4, String var5, double var6) |
protected |
void |
validateDoubleRelationvoid validateDoubleRelation(@Nonnull DoubleHolder var1, @Nonnull RelationalOperator var2, String var3, double var4) |
protected |
void |
validateDoubleRelationvoid validateDoubleRelation(String var1, double var2, @Nonnull RelationalOperator var4, @Nonnull DoubleHolder var5) |
protected |
void |
validateDoubleRelationvoid validateDoubleRelation(@Nonnull DoubleHolder var1, @Nonnull RelationalOperator var2, @Nonnull DoubleHolder var3) |
private |
boolean |
validateDynamicHolderboolean validateDynamicHolder(String var1, @Nonnull ValueHolder var2, ExecutionContext var3, @Nonnull List<String> var4) |
protected |
void |
validateExactlyOneZerovoid validateExactlyOneZero(String var1, double var2, String var4, double var5) |
protected |
void |
validateExactlyOneZerovoid validateExactlyOneZero(@Nonnull DoubleHolder var1, String var2, double var3) |
protected |
void |
validateExactlyOneZerovoid validateExactlyOneZero(String var1, double var2, @Nonnull DoubleHolder var4) |
protected |
void |
validateExactlyOneZerovoid validateExactlyOneZero(@Nonnull DoubleHolder var1, @Nonnull DoubleHolder var2) |
protected |
void |
validateExistsIfParameterSetvoid validateExistsIfParameterSet(String var1, boolean var2, String var3, @Nonnull BuilderObjectHelper<?> var4) |
protected |
void |
validateFloatRelationvoid validateFloatRelation(String var1, float var2, @Nonnull RelationalOperator var3, String var4, float var5) |
protected |
void |
validateFloatRelationvoid validateFloatRelation(@Nonnull FloatHolder var1, @Nonnull RelationalOperator var2, String var3, float var4) |
protected |
void |
validateFloatRelationvoid validateFloatRelation(String var1, float var2, @Nonnull RelationalOperator var3, @Nonnull FloatHolder var4) |
protected |
void |
validateFloatRelationvoid validateFloatRelation(@Nonnull FloatHolder var1, @Nonnull RelationalOperator var2, @Nonnull FloatHolder var3) |
protected |
void |
validateIntRelationvoid validateIntRelation(String var1, int var2, @Nonnull RelationalOperator var3, String var4, int var5) |
protected |
void |
validateIntRelationvoid validateIntRelation(@Nonnull IntHolder var1, @Nonnull RelationalOperator var2, String var3, int var4) |
protected |
void |
validateIntRelationvoid validateIntRelation(String var1, int var2, @Nonnull RelationalOperator var3, @Nonnull IntHolder var4) |
protected |
void |
validateIntRelationvoid validateIntRelation(@Nonnull IntHolder var1, @Nonnull RelationalOperator var2, @Nonnull IntHolder var3) |
protected |
void |
validateIntRelationIfBooleanIsvoid validateIntRelationIfBooleanIs(boolean var1, boolean var2, @Nonnull IntHolder var3, @Nonnull RelationalOperator var4, @Nonnull IntHolder var5) |
protected |
void |
validateIsComponentvoid validateIsComponent() |
protected |
<K> void |
validateNoDuplicates<K> void validateNoDuplicates(Iterable<K> var1, String var2) |
protected |
void |
validateNotAllStringsEmptyvoid validateNotAllStringsEmpty(String var1, String var2, String var3, String var4) |
protected |
void |
validateOneOrNonePresentvoid validateOneOrNonePresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4) |
protected |
void |
validateOneOrNonePresentvoid validateOneOrNonePresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4, String var5, @Nonnull BuilderObjectHelper<?> var6) |
protected |
void |
validateOneOrNonePresentvoid validateOneOrNonePresent(@Nonnull String[] var1, @Nonnull BuilderObjectHelper<?>[] var2) |
protected |
void |
validateOneOrNonePresentvoid validateOneOrNonePresent(@Nonnull String[] var1, @Nonnull boolean[] var2) |
protected |
void |
validateOnePresentvoid validateOnePresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4) |
protected |
void |
validateOnePresentvoid validateOnePresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4, String var5, @Nonnull BuilderObjectHelper<?> var6) |
protected |
void |
validateOnePresentvoid validateOnePresent(@Nonnull String[] var1, @Nonnull BuilderObjectHelper<?>[] var2) |
protected |
void |
validateOnePresentvoid validateOnePresent(@Nonnull String[] var1, @Nonnull boolean[] var2) |
protected |
void |
validateOneSetAssetvoid validateOneSetAsset(@Nonnull AssetHolder var1, String var2, String var3) |
protected |
void |
validateOneSetAssetvoid validateOneSetAsset(@Nonnull AssetHolder var1, @Nonnull AssetHolder var2) |
protected |
void |
validateOneSetAssetArrayvoid validateOneSetAssetArray(@Nonnull AssetArrayHolder var1, String var2, String[] var3) |
protected |
void |
validateOneSetAssetArrayvoid validateOneSetAssetArray(@Nonnull AssetArrayHolder var1, @Nonnull AssetArrayHolder var2) |
protected |
void |
validateOneSetStringvoid validateOneSetString(String var1, String var2, String var3, String var4) |
private |
void |
validateOverriddenParametervoid validateOverriddenParameter(String var1, @Nonnull ParameterType var2, @Nonnull FeatureEvaluatorHelper var3) |
private |
void |
validateRequiresFeatureIfvoid validateRequiresFeatureIf(String var1, boolean var2, boolean var3, @Nonnull EnumSet<Feature> var4, @Nonnull FeatureEvaluatorHelper var5) |
private |
void |
validateSingleAssetvoid validateSingleAsset(String var1, @Nonnull AssetValidator var2, String var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.ArraySchema;
class="kw">import com.hypixel.hytale.codec.schema.config.BooleanSchema;
class="kw">import com.hypixel.hytale.codec.schema.config.IntegerSchema;
class="kw">import com.hypixel.hytale.codec.schema.config.NumberSchema;
class="kw">import com.hypixel.hytale.codec.schema.config.ObjectSchema;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.schema.config.StringSchema;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.function.consumer.BooleanConsumer;
class="kw">import com.hypixel.hytale.function.consumer.FloatConsumer;
class="kw">import com.hypixel.hytale.function.consumer.TriConsumer;
class="kw">import com.hypixel.hytale.logger.sentry.SkipSentryException;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.expression.BuilderExpressionDynamic;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.AssetArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.AssetHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.BooleanHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.DoubleHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.EnumArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.EnumHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.EnumSetHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.FloatHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.IntHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.NumberArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.StringArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.StringHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.TemporalArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.ValueHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.ParameterProviderEvaluator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.ParameterType;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.PrecedingProviderEvaluator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.ProviderEvaluator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.UnconditionalFeatureProviderEvaluator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.UnconditionalParameterProviderEvaluator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.util.StringListHelpers;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AnyBooleanValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AnyPresentValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ArrayValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ArraysOneSetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AssetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AtMostOneBooleanValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AttributeRelationValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.BooleanImplicationValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ComponentOnlyValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleArrayValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.EnumArrayValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ExactlyOneZeroValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ExistsIfParameterSetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ForEachContextValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.InstructionContextValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.IntArrayValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.IntValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.NoDuplicatesValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.OneOrNonePresentValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.OnePresentValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.RelationalOperator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.RequiredFeatureValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.RequiresFeatureIfEnumValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.RequiresFeatureIfValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.RequiresOneOfFeaturesValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.RequiresPrecedingValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StateStringValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringArrayNoEmptyStringsValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringArrayValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringsAtMostOneValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringsNotEmptyValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringsOneSetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.TemporalArrayValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ValidateAssetIfEnumIsValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.ValidateIfEnumIsValidator;
class="kw">import com.hypixel.hytale.server.npc.decisionmaker.core.Evaluator;
class="kw">import com.hypixel.hytale.server.npc.role.RoleDebugFlags;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.util.expression.Scope;
class="kw">import com.hypixel.hytale.server.npc.validators.NPCLoadTimeValidationHelper;
class="kw">import com.hypixel.hytale.server.npc.valuestore.ValueStore;
class="kw">import com.hypixel.hytale.server.npc.valuestore.ValueStoreValidator;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.lang.reflect.Array;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Arrays;
class="kw">import java.util.EnumSet;
class="kw">import java.util.HashSet;
class="kw">import java.util.Iterator;
class="kw">import java.util.LinkedHashMap;
class="kw">import java.util.List;
class="kw">import java.util.Locale;
class="kw">import java.util.Map;
class="kw">import java.util.Objects;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import java.util.function.BiConsumer;
class="kw">import java.util.function.Consumer;
class="kw">import java.util.function.DoubleConsumer;
class="kw">import java.util.function.Function;
class="kw">import java.util.function.IntConsumer;
class="kw">import java.util.function.Supplier;
class="kw">import java.util.function.ToIntFunction;
class="kw">import java.util.logging.Level;
class="kw">import java.util.regex.Pattern;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class="kw">abstract class BuilderBase<T> class="kw">implements Builder<T> {
class="kw">private class="kw">static class="kw">final Pattern PATTERN = Pattern.compile("\\s*,\\s*");
class="kw">protected String fileName;
@Nullable
class="kw">protected Set<String> queriedKeys = new HashSet<>();
class="kw">protected boolean useDefaultsOnly;
class="kw">protected String label;
class="kw">protected String typeName;
class="kw">protected FeatureEvaluatorHelper evaluatorHelper;
class="kw">protected InternalReferenceResolver internalReferenceResolver;
class="kw">protected StateMappingHelper stateHelper;
class="kw">protected InstructionContextHelper instructionContextHelper;
class="kw">protected ExtraInfo extraInfo;
class="kw">protected List<Evaluator<?>> evaluators;
class="kw">protected BuilderValidationHelper validationHelper;
@Nullable
class="kw">protected BuilderDescriptor builderDescriptor;
class="kw">protected BuilderParameters builderParameters;
class="kw">protected BuilderManager builderManager;
class="kw">protected BuilderContext owner;
@Nullable
class="kw">private Class<?> requiredPrecedingClass;
@Nullable
class="kw">private Class<?> providedPrecedingClass;
@Nullable
class="kw">protected List<String> readErrors;
class="kw">private List<ValueHolder> dynamicHolders;
class="kw">private List<ValueStoreValidator.ValueUsage> valueStoreUsages;
@Nullable
class="kw">protected ObjectSchema builderSchema;
class="kw">protected Schema builderSchemaRaw;
@Nullable
class="kw">protected SchemaContext builderSchemaContext;
class="kw">public BuilderBase() {
}
@Override
class="kw">public void setTypeName(String var1) {
this.typeName = var1;
}
@Override
class="kw">public String getTypeName() {
class="kw">return this.typeName;
}
@Override
class="kw">public String getLabel() {
class="kw">return this.label;
}
@Override
class="kw">public void setLabel(String var1) {
this.label = var1;
}
@Override
class="kw">public FeatureEvaluatorHelper getEvaluatorHelper() {
class="kw">return this.evaluatorHelper;
}
@Override
class="kw">public StateMappingHelper getStateMappingHelper() {
class="kw">return this.stateHelper;
}
@Override
class="kw">public InstructionContextHelper getInstructionContextHelper() {
class="kw">return this.instructionContextHelper;
}
@Override
class="kw">public void validateReferencedProvidedFeatures(BuilderManager var1, ExecutionContext var2) {
if (this.evaluatorHelper != null) {
this.evaluatorHelper.validateProviderReferences(var1, var2);
}
}
@Override
class="kw">public boolean canRequireFeature() {
class="kw">return false;
}
@Override
class="kw">public boolean excludeFromRegularBuilding() {
class="kw">return false;
}
@Override
class="kw">public class="kw">final void readConfig(BuilderContext var1, @Nonnull JsonElement var2, BuilderManager var3, BuilderParameters var4, BuilderValidationHelper var5) {
this.preReadConfig(var1, var3, var4, var5);
this.readCommonConfig(var2);
this.readConfig(var2);
this.postReadConfig(var2);
}
class="kw">private void preReadConfig(BuilderContext var1, BuilderManager var2, BuilderParameters var3, @Nullable BuilderValidationHelper var4) {
this.owner = var1;
this.useDefaultsOnly = false;
this.builderParameters = var3;
this.builderManager = var2;
this.queriedKeys.add("Comment");
this.queriedKeys.add("$Title");
this.queriedKeys.add("$Comment");
this.queriedKeys.add("$Author");
this.queriedKeys.add("$TODO");
this.queriedKeys.add("$Position");
this.queriedKeys.add("$FloatingFunctionNodes");
this.queriedKeys.add("$Groups");
this.queriedKeys.add("$WorkspaceID");
this.queriedKeys.add("$NodeEditorMetadata");
this.queriedKeys.add("$NodeId");
if (var4 != null) {
this.validationHelper = var4;
this.fileName = var4.getName();
this.evaluatorHelper = var4.getFeatureEvaluatorHelper();
this.internalReferenceResolver = var4.getInternalReferenceResolver();
this.stateHelper = var4.getStateMappingHelper();
this.instructionContextHelper = var4.getInstructionContextHelper();
this.extraInfo = var4.getExtraInfo();
this.evaluators = var4.getEvaluators();
this.readErrors = var4.getReadErrors();
}
}
class="kw">private void addQueryKey(String var1) {
if (!this.queriedKeys.add(var1)) {
throw new IllegalArgumentException(String.valueOf(var1));
}
}
@Override
class="kw">public BuilderContext getOwner() {
class="kw">return this.owner;
}
@Override
class="kw">public void ignoreAttribute(String var1) {
this.queriedKeys.add(var1);
}
class="kw">private void postReadConfig(@Nonnull JsonElement var1) {
if (this.builderDescriptor == null && var1.isJsonObject()) {
this.queriedKeys.add("Type");
for (Entry var3 : var1.getAsJsonObject().entrySet()) {
String var4 = var3.getKey();
if (!this.queriedKeys.contains(var4)) {
String var5 = var1.toString();
NPCPlugin.get()
.getLogger()
.at(Level.WARNING)
.log(
"Unknown JSON attribute '%s' found in %s: %s (JSON: %s)",
var4,
this.getBreadCrumbs(),
this.builderParameters.getFileName(),
var5.length() > 60 ? var5.substring(60) + "..." : var5
);
}
}
}
this.queriedKeys = null;
this.readErrors = null;
}
class="kw">public Builder<T> readCommonConfig(JsonElement var1) {
class="kw">return this;
}
class="kw">public Builder<T> readConfig(JsonElement var1) {
class="kw">return this;
}
class="kw">public BuilderManager getBuilderManager() {
class="kw">return this.builderManager;
}
@Override
class="kw">public BuilderParameters getBuilderParameters() {
class="kw">return this.builderParameters;
}
class="kw">protected JsonObject expectJsonObject(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonObject()) {
class="kw">return var1.getAsJsonObject();
}
this.checkForUnexpectedComputeObject(var1, var2);
throw new IllegalStateException(
"Expected object when looking for parameter \"" + var2 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs()
);
}
class="kw">protected JsonArray expectJsonArray(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonArray()) {
class="kw">return var1.getAsJsonArray();
}
this.checkForUnexpectedComputeObject(var1, var2);
throw new IllegalStateException("Expected array when looking for parameter \"" + var2 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs());
}
@Nullable
class="kw">protected String expectString(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonPrimitive() && var1.getAsJsonPrimitive().isString()) {
class="kw">return var1.getAsJsonPrimitive().getAsString();
}
if (var1.isJsonNull()) {
class="kw">return null;
}
this.checkForUnexpectedComputeObject(var1, var2);
throw new IllegalStateException(
"Expected string when looking for parameter \"" + var2 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs()
);
}
class="kw">protected double expectDouble(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonPrimitive() && var1.getAsJsonPrimitive().isNumber()) {
try {
class="kw">return var1.getAsJsonPrimitive().getAsDouble();
} catch (NumberFormatException var4) {
throw new IllegalStateException(
"Invalid number when looking for parameter \"" + var2 + "\", found '" + var1 + "' in context " + this.getBreadCrumbs(), var4
);
}
} else {
this.checkForUnexpectedComputeObject(var1, var2);
throw new IllegalStateException(
"Expected number when looking for parameter \"" + var2 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs()
);
}
}
class="kw">protected int expectInteger(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonPrimitive() && var1.getAsJsonPrimitive().isNumber()) {
try {
class="kw">return var1.getAsJsonPrimitive().getAsInt();
} catch (NumberFormatException var4) {
throw new IllegalStateException(
"Invalid integer number when looking for parameter \"" + var2 + "\", found '" + var1 + "' in context " + this.getBreadCrumbs(), var4
);
}
} else {
this.checkForUnexpectedComputeObject(var1, var2);
throw new IllegalStateException(
"Expected integer number when looking for parameter \"" + var2 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs()
);
}
}
class="kw">protected boolean expectBoolean(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonPrimitive() && var1.getAsJsonPrimitive().isBoolean()) {
class="kw">return var1.getAsJsonPrimitive().getAsBoolean();
}
this.checkForUnexpectedComputeObject(var1, var2);
throw new IllegalStateException(
"Expected boolean value when looking for parameter \"" + var2 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs()
);
}
class="kw">protected int[] expectIntArray(@Nonnull JsonElement var1, String var2, int var3, int var4) {
JsonArray var5 = this.expectJsonArray(var1, var2, var3, var4);
int var6 = var5.size();
int[] var7 = new int[var6];
for (int var8 = 0; var8 < var6; var8++) {
var7[var8] = this.expectInteger(var5.get(var8), var2);
}
class="kw">return var7;
}
class="kw">protected int[] expectIntArray(@Nonnull JsonElement var1, String var2, int var3) {
class="kw">return this.expectIntArray(var1, var2, var3, var3);
}
class="kw">protected double[] expectDoubleArray(@Nonnull JsonElement var1, String var2, int var3, int var4) {
JsonArray var5 = this.expectJsonArray(var1, var2, var3, var4);
int var6 = var5.size();
double[] var7 = new double[var6];
for (int var8 = 0; var8 < var6; var8++) {
var7[var8] = this.expectDouble(var5.get(var8), var2);
}
class="kw">return var7;
}
class="kw">protected double[] expectDoubleArray(@Nonnull JsonElement var1, String var2, int var3) {
class="kw">return this.expectDoubleArray(var1, var2, var3, var3);
}
@Nonnull
class="kw">protected JsonArray expectJsonArray(@Nonnull JsonElement var1, String var2, int var3, int var4) {
JsonArray var5 = this.expectJsonArray(var1, var2);
int var6 = var5.size();
if (var6 >= var3 && var6 <= var4) {
class="kw">return var5;
} else if (var4 == var3) {
throw new IllegalStateException(
"Expected array with "
+ var4
+ " elements when looking for parameter \""
+ var2
+ "\" but found "
+ var6
+ " elements in context "
+ this.getBreadCrumbs()
);
} else {
throw new IllegalStateException(
"Expected array with "
+ var3
+ " to "
+ var4
+ " elements when looking for parameter \""
+ var2
+ "\" but found "
+ var6
+ " elements in context "
+ this.getBreadCrumbs()
);
}
}
class="kw">protected void checkForUnexpectedComputeObject(@Nonnull JsonElement var1, String var2) {
if (var1.isJsonObject() && var1.getAsJsonObject().has("Compute")) {
throw new IllegalStateException(
"Parameter \""
+ var2
+ "\" of "
+ this.category().getSimpleName()
+ " "
+ this.getTypeName()
+ " is not computable (yet) in context "
+ this.getBreadCrumbs()
);
}
}
@Nonnull
class="kw">protected JsonElement getRequiredJsonElement(@Nonnull JsonElement var1, String var2, boolean var3) {
if (var3) {
this.addQueryKey(var2);
}
JsonElement var4 = this.expectJsonObject(var1, var2).get(var2);
if (var4 == null) {
throw new IllegalStateException("Parameter \"" + var2 + "\" is missing in context " + this.getBreadCrumbs());
} else {
class="kw">return var4;
}
}
@Nonnull
class="kw">protected JsonElement getRequiredJsonElement(@Nonnull JsonElement var1, String var2) {
class="kw">return this.getRequiredJsonElement(var1, var2, true);
}
@Nullable
class="kw">protected JsonElement getRequiredJsonElementIfNotOverridden(@Nonnull JsonElement var1, String var2, @Nonnull ParameterType var3, boolean var4) {
if (var4) {
this.addQueryKey(var2);
}
JsonElement var5 = this.expectJsonObject(var1, var2).get(var2);
if (var5 != null) {
class="kw">return var5;
} else if (this.evaluatorHelper.belongsToFeatureRequiringComponent()) {
this.evaluatorHelper.addComponentRequirementValidator((var3x, var4x) -> this.validateOverriddenParameter(var2, var3, var3x));
class="kw">return null;
} else if (this.hasOverriddenParameter(var2, var3, this.evaluatorHelper)) {
class="kw">return null;
} else if (this.evaluatorHelper.requiresProviderReferenceEvaluation()) {
this.evaluatorHelper.addProviderReferenceValidator((var3x, var4x) -> {
this.resolveFeatureProviderReverences(var3x);
this.validateOverriddenParameter(var2, var3, this.evaluatorHelper);
});
class="kw">return null;
} else {
throw new IllegalStateException(
String.format(
"Parameter %s is missing and either not provided by a sensor, or provided with the wrong parameter type (expected %s) in context %s",
var2,
var3.get(),
this.getBreadCrumbs()
)
);
}
}
@Nullable
class="kw">protected JsonElement getRequiredJsonElementIfNotOverridden(@Nonnull JsonElement var1, String var2, @Nonnull ParameterType var3) {
class="kw">return this.getRequiredJsonElementIfNotOverridden(var1, var2, var3, true);
}
@Nullable
class="kw">protected JsonElement getOptionalJsonElement(@Nonnull JsonElement var1, String var2, boolean var3) {
JsonElement var4 = null;
if (!this.useDefaultsOnly) {
if (var3) {
this.addQueryKey(var2);
}
var4 = this.expectJsonObject(var1, var2).get(var2);
}
class="kw">return var4;
}
@Nullable
class="kw">protected JsonElement getOptionalJsonElement(@Nonnull JsonElement var1, String var2) {
class="kw">return this.getOptionalJsonElement(var1, var2, true);
}
class="kw">public void requireString(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
StringValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new StringSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, String.class.getSimpleName(), var5, var6, var7).required().validator(var4);
} else {
try {
this.validateAndSet(this.expectString(this.getRequiredJsonElement(var1, var2), var2), var4, var3, var2);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean getString(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
String var4,
StringValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
Schema var12 = BuilderExpressionDynamic.computableSchema(new StringSchema());
var12.setTitle(var2);
var12.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, String.class.getSimpleName(), var6, var7, var8).optional(var4).validator(var5);
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
boolean var10 = var9 != null;
if (var10) {
var4 = this.expectString(var9, var2);
}
this.validateAndSet(var4, var5, var3, var2);
class="kw">return var10;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">public void requireString(
@Nonnull JsonElement var1, String var2, @Nonnull StringHolder var3, StringValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new StringSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, String.class.getSimpleName(), var5, var6, var7).required().computable().validator(var4);
} else {
Objects.requireNonNull(var3, "stringHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean requireStringIfNotOverridden(
@Nonnull JsonElement var1, String var2, @Nonnull StringHolder var3, StringValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var11 = BuilderExpressionDynamic.computableSchema(new StringSchema());
var11.setTitle(var2);
var11.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, String.class.getSimpleName(), var5, var6, var7).requiredIfNotOverridden().computable().validator(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "stringHolder is null");
try {
JsonElement var8 = this.getRequiredJsonElementIfNotOverridden(var1, var2, ParameterType.STRING);
boolean var9 = var8 != null;
var3.readJSON(var8, null, !var9 ? null : var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
class="kw">public boolean getString(
@Nonnull JsonElement var1,
String var2,
@Nonnull StringHolder var3,
String var4,
StringValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
Schema var11 = BuilderExpressionDynamic.computableSchema(new StringSchema());
var11.setTitle(var2);
var11.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, String.class.getSimpleName(), var6, var7, var8).optional(var4).computable().validator(var5);
class="kw">return false;
}
Objects.requireNonNull(var3, "stringHolder is null");
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var9, var4, var5, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9 != null;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
class="kw">private void validateAndSet(String var1, @Nullable StringValidator var2, @Nonnull Consumer<String> var3, String var4) {
if (var2 != null && !var2.test(var1)) {
throw new IllegalStateException(var2.errorMessage(var1, var4) + " in " + this.getBreadCrumbs());
}
var3.accept(var1);
}
@Nonnull
class="kw">protected String[] nonNull(@Nullable String[] var1) {
class="kw">return var1 == null ? ArrayUtil.EMPTY_STRING_ARRAY : var1;
}
@Nonnull
class="kw">public String[] expectStringArray(@Nonnull JsonElement var1, @Nullable Function<String, String> var2, String var3, boolean var4) {
if (var2 == null) {
var2 = Function.identity();
}
if (var1.isJsonPrimitive() && var1.getAsJsonPrimitive().isString()) {
if (var4) {
NPCPlugin.get()
.getLogger()
.at(Level.WARNING)
.log(
"Use of strings for lists is deprecated for JSON attribute '%s' (use []) in %s: %s",
var3,
this.getBreadCrumbs(),
this.builderParameters.getFileName()
);
}
class="kw">return StringListHelpers.splitToStringList(var1.getAsJsonPrimitive().getAsString(), var2).toArray(String[]::new);
} else {
if (!var1.isJsonArray()) {
throw new IllegalStateException(
"Expected string or array when looking for parameter \"" + var3 + "\" but found '" + var1 + "' in context " + this.getBreadCrumbs()
);
}
JsonArray var5 = var1.getAsJsonArray();
String[] var6 = new String[var5.size()];
for (int var7 = 0; var7 < var5.size(); var7++) {
String var8 = var2.apply(this.expectString(var5.get(var7), var3).trim());
if (var8 != null && !var8.isEmpty()) {
var6[var7] = var8;
}
}
class="kw">return var6;
}
}
@Nonnull
class="kw">public String[] expectStringArray(@Nonnull JsonElement var1, Function<String, String> var2, String var3) {
class="kw">return this.expectStringArray(var1, var2, var3, true);
}
class="kw">public boolean getStringArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
String[] var5,
StringArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var14 = new ArraySchema();
var14.setItem(new StringSchema());
Schema var15 = BuilderExpressionDynamic.computableSchema(var14);
var15.setTitle(var2);
var15.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var15);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "StringList", var7, var8, var9).optional(this.defaultArrayToString(var5)).validator(var6);
class="kw">return false;
}
try {
JsonElement var10 = this.getOptionalJsonElement(var1, var2);
boolean var12 = var10 != null;
String[] var11;
if (var12) {
var11 = this.expectStringArray(var10, var4, var2);
} else {
var11 = var5;
}
this.validateAndSet(var11, var6, var3, var2);
class="kw">return var12;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
class="kw">public void requireStringArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
StringArrayValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
ArraySchema var12 = new ArraySchema();
var12.setItem(new StringSchema());
Schema var10 = BuilderExpressionDynamic.computableSchema(var12);
var10.setTitle(var2);
var10.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var10);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "StringList", var6, var7, var8).required().validator(var5);
} else {
try {
JsonElement var9 = this.getRequiredJsonElement(var1, var2);
this.validateAndSet(this.expectStringArray(var9, var4, var2), var5, var3, var2);
} catch (Exception var11) {
this.addError(var11);
}
}
}
class="kw">public void requireStringArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull StringArrayHolder var3,
int var4,
int var5,
StringArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var10 = new ArraySchema();
var10.setItem(new StringSchema());
if (var4 != 0) {
var10.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var10.setMaxItems(var5);
}
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var7, var8, var9).domain("String").length(var4, var5).validator(var6).computable().required();
} else {
Objects.requireNonNull(var3, "string array holder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var5, var6, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public void requireTemporalArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull TemporalArrayHolder var3,
int var4,
int var5,
TemporalArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var10 = new ArraySchema();
var10.setItem(new StringSchema());
if (var4 != 0) {
var10.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var10.setMaxItems(var5);
}
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "Array", var7, var8, var9)
.domain("TemporalAmount")
.length(var4, var5)
.validator(var6)
.computable()
.required();
} else {
Objects.requireNonNull(var3, "temporal array holder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var5, var6, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public void requireTemporalRange(
@Nonnull JsonElement var1,
String var2,
@Nonnull TemporalArrayHolder var3,
TemporalArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7
) {
this.requireTemporalArray(var1, var2, var3, 2, 2, var4, var5, var6, var7);
}
class="kw">public boolean getStringArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull StringArrayHolder var3,
String[] var4,
int var5,
int var6,
StringArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10
) {
if (this.isCreatingSchema()) {
ArraySchema var14 = new ArraySchema();
var14.setItem(new StringSchema());
if (var5 != 0) {
var14.setMinItems(var5);
}
if (var6 != Integer.MAX_VALUE) {
var14.setMaxItems(var6);
}
Schema var12 = BuilderExpressionDynamic.computableSchema(var14);
var12.setTitle(var2);
var12.setDescription(var10 == null ? var9 : var10);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
} else {
if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "Array", var8, var9, var10)
.domain("String")
.length(var5, var6)
.validator(var7)
.computable()
.optional(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "string array holder is null");
try {
JsonElement var11 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var11, var5, var6, var4, var7, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var11 != null;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
}
class="kw">private void validateAndSet(String[] var1, @Nullable StringArrayValidator var2, @Nonnull Consumer<String[]> var3, String var4) {
if (var2 != null && !var2.test(var1)) {
throw new IllegalStateException(var2.errorMessage(var4, var1) + " in " + this.getBreadCrumbs());
}
var3.accept(var1);
}
class="kw">private String defaultArrayToString(@Nullable String[] var1) {
class="kw">return var1 == null ? null : Arrays.toString(var1);
}
class="kw">private boolean requireOrGetDictionary(
@Nonnull JsonElement var1,
String var2,
String var3,
@Nonnull BiConsumer<String, JsonElement> var4,
boolean var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Dictionary", var6, var7, var8).required().domain(var3);
class="kw">return false;
}
try {
JsonElement var9 = var5 ? this.getRequiredJsonElement(var1, var2) : this.getOptionalJsonElement(var1, var2);
boolean var10 = var9 != null;
if (var10) {
JsonObject var11 = this.expectJsonObject(var9, var2);
var11.entrySet().forEach(var1x -> var4.accept((T)((String)var1x.getKey()), (JsonElement)var1x.getValue()));
}
class="kw">return var10;
} catch (Exception var12) {
this.addError(var12);
class="kw">return false;
}
}
class="kw">public void requireDictionary(
@Nonnull JsonElement var1, String var2, String var3, @Nonnull BiConsumer<String, JsonElement> var4, BuilderDescriptorState var5, String var6, String var7
) {
this.requireOrGetDictionary(var1, var2, var3, var4, true, var5, var6, var7);
}
class="kw">public boolean getDictionary(
@Nonnull JsonElement var1, String var2, String var3, @Nonnull BiConsumer<String, JsonElement> var4, BuilderDescriptorState var5, String var6, String var7
) {
class="kw">return this.requireOrGetDictionary(var1, var2, var3, var4, false, var5, var6, var7);
}
class="kw">public void requireDouble(
@Nonnull JsonElement var1,
String var2,
@Nonnull DoubleConsumer var3,
DoubleValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var5, var6, var7).required().validator(var4);
} else {
try {
this.validateAndSet(this.expectDouble(this.getRequiredJsonElement(var1, var2), var2), var4, var3, var2);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean getDouble(
@Nonnull JsonElement var1,
String var2,
@Nonnull DoubleConsumer var3,
double var4,
DoubleValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
Schema var13 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var13.setTitle(var2);
var13.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var13);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var7, var8, var9).optional(Double.toString(var4)).validator(var6);
class="kw">return false;
}
try {
JsonElement var10 = this.getOptionalJsonElement(var1, var2);
boolean var11 = var10 != null;
if (var11) {
var4 = this.expectDouble(var10, var2);
}
this.validateAndSet(var4, var6, var3, var2);
class="kw">return var11;
} catch (Exception var12) {
this.addError(var12);
class="kw">return false;
}
}
class="kw">public void requireDouble(
@Nonnull JsonElement var1, String var2, @Nonnull DoubleHolder var3, DoubleValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var5, var6, var7).required().computable().validator(var4);
} else {
Objects.requireNonNull(var3, "doubleHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean requireDoubleIfNotOverridden(
@Nonnull JsonElement var1, String var2, @Nonnull DoubleHolder var3, DoubleValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var11 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var11.setTitle(var2);
var11.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var5, var6, var7).requiredIfNotOverridden().computable().validator(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "doubleHolder is null");
try {
JsonElement var8 = this.getRequiredJsonElementIfNotOverridden(var1, var2, ParameterType.DOUBLE);
boolean var9 = var8 != null;
var3.readJSON(var8, -Double.MAX_VALUE, !var9 ? null : var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
class="kw">public boolean getDouble(
@Nonnull JsonElement var1,
String var2,
@Nonnull DoubleHolder var3,
double var4,
DoubleValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
Schema var12 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var12.setTitle(var2);
var12.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var7, var8, var9).optional(Double.toString(var4)).computable().validator(var6);
class="kw">return false;
}
Objects.requireNonNull(var3, "doubleHolder is null");
try {
JsonElement var10 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var10, var4, var6, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var10 != null;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">private void validateAndSet(double var1, @Nullable DoubleValidator var3, @Nonnull DoubleConsumer var4, String var5) {
if (var3 != null && !var3.test(var1)) {
throw new IllegalStateException(var3.errorMessage(var1, var5) + " in " + this.getBreadCrumbs());
}
var4.accept(var1);
}
class="kw">public void requireIntArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<int[]> var3,
int var4,
int var5,
IntArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var10 = new ArraySchema(new IntegerSchema());
if (var4 != 0) {
var10.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var10.setMaxItems(var5);
}
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var7, var8, var9).domain("integer").length(var4, var5).validator(var6).required();
} else {
try {
this.validateAndSet(this.expectIntArray(this.getRequiredJsonElement(var1, var2), var2, var4, var5), var6, var3, var2);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public boolean getIntArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<int[]> var3,
int[] var4,
int var5,
int var6,
IntArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10
) {
if (this.isCreatingSchema()) {
ArraySchema var14 = new ArraySchema(new IntegerSchema());
if (var5 != 0) {
var14.setMinItems(var5);
}
if (var6 != Integer.MAX_VALUE) {
var14.setMaxItems(var6);
}
Schema var15 = BuilderExpressionDynamic.computableSchema(var14);
var15.setTitle(var2);
var15.setDescription(var10 == null ? var9 : var10);
this.builderSchema.getProperties().put(var2, var15);
class="kw">return false;
} else {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var8, var9, var10).domain("integer").length(var5, var6).validator(var7).optional(var4);
class="kw">return false;
}
try {
JsonElement var11 = this.getOptionalJsonElement(var1, var2);
boolean var12 = var11 != null;
if (var12) {
var4 = this.expectIntArray(var11, var2, var5, var6);
}
this.validateAndSet(var4, var7, var3, var2);
class="kw">return var12;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
}
class="kw">public void requireIntArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int var4,
int var5,
IntArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var10 = new ArraySchema(new IntegerSchema());
if (var4 != 0) {
var10.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var10.setMaxItems(var5);
}
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var7, var8, var9).domain("integer").length(var4, var5).validator(var6).computable().required();
} else {
Objects.requireNonNull(var3, "int array holder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var5, var6, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public boolean getIntArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int[] var4,
int var5,
int var6,
IntArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10
) {
if (this.isCreatingSchema()) {
ArraySchema var14 = new ArraySchema(new IntegerSchema());
if (var5 != 0) {
var14.setMinItems(var5);
}
if (var6 != Integer.MAX_VALUE) {
var14.setMaxItems(var6);
}
Schema var12 = BuilderExpressionDynamic.computableSchema(var14);
var12.setTitle(var2);
var12.setDescription(var10 == null ? var9 : var10);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
} else {
if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "Array", var8, var9, var10)
.domain("integer")
.length(var5, var6)
.validator(var7)
.computable()
.optional(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "int array holder is null");
try {
JsonElement var11 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var11, var5, var6, var4, var7, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var11 != null;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
}
class="kw">public void requireIntRange(
@Nonnull JsonElement var1, String var2, @Nonnull Consumer<int[]> var3, IntArrayValidator var4, BuilderDescriptorState var5, String var6, String var7
) {
this.requireIntArray(var1, var2, var3, 2, 2, var4, var5, var6, var7);
}
class="kw">public boolean getIntRange(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<int[]> var3,
int[] var4,
IntArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
class="kw">return this.getIntArray(var1, var2, var3, var4, 2, 2, var5, var6, var7, var8);
}
class="kw">public void requireIntRange(
@Nonnull JsonElement var1, String var2, @Nonnull NumberArrayHolder var3, IntArrayValidator var4, BuilderDescriptorState var5, String var6, String var7
) {
this.requireIntArray(var1, var2, var3, 2, 2, var4, var5, var6, var7);
}
class="kw">public boolean getIntRange(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int[] var4,
IntArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
class="kw">return this.getIntArray(var1, var2, var3, var4, 2, 2, var5, var6, var7, var8);
}
class="kw">private void validateAndSet(int[] var1, @Nullable IntArrayValidator var2, @Nonnull Consumer<int[]> var3, String var4) {
if (var2 != null && !var2.test(var1)) {
throw new IllegalStateException(var2.errorMessage(var1, var4) + " in " + this.getBreadCrumbs());
}
var3.accept(var1);
}
class="kw">public void requireDoubleArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
int var4,
int var5,
DoubleArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var10 = new ArraySchema(new NumberSchema());
if (var4 != 0) {
var10.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var10.setMaxItems(var5);
}
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var7, var8, var9).domain("Double").length(var4, var5).validator(var6).required();
} else {
try {
this.validateAndSet(this.expectDoubleArray(this.getRequiredJsonElement(var1, var2), var2, var4, var5), var6, var3, var2);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public boolean getDoubleArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
double[] var4,
int var5,
int var6,
DoubleArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10
) {
if (this.isCreatingSchema()) {
ArraySchema var14 = new ArraySchema(new NumberSchema());
if (var5 != 0) {
var14.setMinItems(var5);
}
if (var6 != Integer.MAX_VALUE) {
var14.setMaxItems(var6);
}
Schema var15 = BuilderExpressionDynamic.computableSchema(var14);
var15.setTitle(var2);
var15.setDescription(var10 == null ? var9 : var10);
this.builderSchema.getProperties().put(var2, var15);
class="kw">return false;
} else {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var8, var9, var10).domain("Double").length(var5, var6).validator(var7).optional(var4);
class="kw">return false;
}
try {
JsonElement var11 = this.getOptionalJsonElement(var1, var2);
boolean var12 = var11 != null;
if (var12) {
var4 = this.expectDoubleArray(var11, var2, var5, var6);
}
this.validateAndSet(var4, var7, var3, var2);
class="kw">return var12;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
}
class="kw">public void requireDoubleArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
int var4,
int var5,
DoubleArrayValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
ArraySchema var10 = new ArraySchema(new NumberSchema());
if (var4 != 0) {
var10.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var10.setMaxItems(var5);
}
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Array", var7, var8, var9).domain("Double").length(var4, var5).validator(var6).computable().required();
} else {
Objects.requireNonNull(var3, "double array holder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var5, var6, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public boolean getDoubleArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
double[] var4,
int var5,
int var6,
DoubleArrayValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10
) {
if (this.isCreatingSchema()) {
ArraySchema var14 = new ArraySchema(new NumberSchema());
if (var5 != 0) {
var14.setMinItems(var5);
}
if (var6 != Integer.MAX_VALUE) {
var14.setMaxItems(var6);
}
Schema var12 = BuilderExpressionDynamic.computableSchema(var14);
var12.setTitle(var2);
var12.setDescription(var10 == null ? var9 : var10);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
} else {
if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "Array", var8, var9, var10)
.domain("Double")
.length(var5, var6)
.validator(var7)
.computable()
.optional(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "double array holder is null");
try {
JsonElement var11 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var11, var5, var6, var4, var7, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var11 != null;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
}
class="kw">public void requireDoubleRange(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
DoubleArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7
) {
this.requireDoubleArray(var1, var2, var3, 2, 2, var4, var5, var6, var7);
}
class="kw">public boolean getDoubleRange(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
class="kw">return this.getDoubleArray(var1, var2, var3, var4, 2, 2, var5, var6, var7, var8);
}
class="kw">public void requireVector3d(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
DoubleArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7
) {
this.requireDoubleArray(var1, var2, var3, 3, 3, var4, var5, var6, var7);
}
class="kw">public boolean getVector3d(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<double[]> var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
class="kw">return this.getDoubleArray(var1, var2, var3, var4, 3, 3, var5, var6, var7, var8);
}
class="kw">public void requireDoubleRange(
@Nonnull JsonElement var1, String var2, @Nonnull NumberArrayHolder var3, DoubleArrayValidator var4, BuilderDescriptorState var5, String var6, String var7
) {
this.requireDoubleArray(var1, var2, var3, 2, 2, var4, var5, var6, var7);
}
class="kw">public boolean getDoubleRange(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
class="kw">return this.getDoubleArray(var1, var2, var3, var4, 2, 2, var5, var6, var7, var8);
}
class="kw">public void requireVector3d(
@Nonnull JsonElement var1, String var2, @Nonnull NumberArrayHolder var3, DoubleArrayValidator var4, BuilderDescriptorState var5, String var6, String var7
) {
this.requireDoubleArray(var1, var2, var3, 3, 3, var4, var5, var6, var7);
}
class="kw">public boolean getVector3d(
@Nonnull JsonElement var1,
String var2,
@Nonnull NumberArrayHolder var3,
double[] var4,
DoubleArrayValidator var5,
BuilderDescriptorState var6,
String var7,
String var8
) {
class="kw">return this.getDoubleArray(var1, var2, var3, var4, 3, 3, var5, var6, var7, var8);
}
class="kw">private void validateAndSet(double[] var1, @Nullable DoubleArrayValidator var2, @Nonnull Consumer<double[]> var3, String var4) {
if (var2 != null && !var2.test(var1)) {
throw new IllegalStateException(var2.errorMessage(var1, var4) + " in " + this.getBreadCrumbs());
}
var3.accept(var1);
}
@Nonnull
class="kw">public class="kw">static Vector3d createVector3d(@Nonnull double[] var0) {
class="kw">return new Vector3d(var0[0], var0[1], var0[2]);
}
class="kw">public class="kw">static Vector3d createVector3d(@Nullable double[] var0, @Nonnull Supplier<Vector3d> var1) {
class="kw">return var0 != null ? createVector3d(var0) : var1.get();
}
class="kw">public void requireFloat(
@Nonnull JsonElement var1,
String var2,
@Nonnull FloatConsumer var3,
DoubleValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var5, var6, var7).required().validator(var4);
} else {
try {
this.validateAndSet((float)this.expectDouble(this.getRequiredJsonElement(var1, var2), var2), var4, var3, var2);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean getFloat(
@Nonnull JsonElement var1,
String var2,
@Nonnull FloatConsumer var3,
float var4,
DoubleValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
Schema var12 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var12.setTitle(var2);
var12.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var6, var7, var8).optional(Double.toString(var4)).validator(var5);
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
boolean var10 = var9 != null;
if (var10) {
var4 = (float)this.expectDouble(var9, var2);
}
this.validateAndSet(var4, var5, var3, var2);
class="kw">return var10;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">public void requireFloat(
@Nonnull JsonElement var1, String var2, @Nonnull FloatHolder var3, DoubleValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var5, var6, var7).required().computable().validator(var4);
} else {
Objects.requireNonNull(var3, "floatHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean getFloat(
@Nonnull JsonElement var1,
String var2,
@Nonnull FloatHolder var3,
double var4,
DoubleValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
Schema var12 = BuilderExpressionDynamic.computableSchema(new NumberSchema());
var12.setTitle(var2);
var12.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Double.class.getSimpleName(), var7, var8, var9).optional(Double.toString(var4)).computable().validator(var6);
class="kw">return false;
}
Objects.requireNonNull(var3, "floatHolder is null");
try {
JsonElement var10 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var10, var4, var6, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var10 != null;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">private void validateAndSet(float var1, @Nullable DoubleValidator var2, @Nonnull FloatConsumer var3, String var4) {
if (var2 != null && !var2.test(var1)) {
throw new IllegalStateException(var2.errorMessage(var1, var4) + " in " + this.getBreadCrumbs());
}
var3.accept(var1);
}
class="kw">public void requireInt(
@Nonnull JsonElement var1, String var2, @Nonnull IntConsumer var3, IntValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new IntegerSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Integer.class.getSimpleName(), var5, var6, var7).required().validator(var4);
} else {
try {
this.validateAndSet(this.expectInteger(this.getRequiredJsonElement(var1, var2), var2), var4, var3, var2);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean getInt(
@Nonnull JsonElement var1,
String var2,
@Nonnull IntConsumer var3,
int var4,
IntValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
Schema var12 = BuilderExpressionDynamic.computableSchema(new IntegerSchema());
var12.setTitle(var2);
var12.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Integer.class.getSimpleName(), var6, var7, var8).optional(Integer.toString(var4)).validator(var5);
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
boolean var10 = var9 != null;
if (var10) {
var4 = this.expectInteger(var9, var2);
}
this.validateAndSet(var4, var5, var3, var2);
class="kw">return var10;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">public void requireInt(
@Nonnull JsonElement var1, String var2, @Nonnull IntHolder var3, IntValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var8 = BuilderExpressionDynamic.computableSchema(new IntegerSchema());
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Integer.class.getSimpleName(), var5, var6, var7).required().computable().validator(var4);
} else {
Objects.requireNonNull(var3, "intHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean requireIntIfNotOverridden(
@Nonnull JsonElement var1, String var2, @Nonnull IntHolder var3, IntValidator var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var11 = BuilderExpressionDynamic.computableSchema(new IntegerSchema());
var11.setTitle(var2);
var11.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Integer.class.getSimpleName(), var5, var6, var7).requiredIfNotOverridden().computable().validator(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "intHolder is null");
try {
JsonElement var8 = this.getRequiredJsonElementIfNotOverridden(var1, var2, ParameterType.INTEGER);
boolean var9 = var8 != null;
var3.readJSON(var8, Integer.MIN_VALUE, !var9 ? null : var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
class="kw">public boolean getInt(
@Nonnull JsonElement var1,
String var2,
@Nonnull IntHolder var3,
int var4,
IntValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
Schema var11 = BuilderExpressionDynamic.computableSchema(new IntegerSchema());
var11.setTitle(var2);
var11.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor
.addAttribute(var2, Integer.class.getSimpleName(), var6, var7, var8)
.optional(Double.toString(var4))
.computable()
.validator(var5);
class="kw">return false;
}
try {
Objects.requireNonNull(var3, "intHolder is null");
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var9, var4, var5, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9 != null;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
class="kw">private void validateAndSet(int var1, @Nullable IntValidator var2, @Nonnull IntConsumer var3, String var4) {
if (var2 != null && !var2.test(var1)) {
throw new IllegalStateException(var2.errorMessage(var1, var4) + " in " + this.getBreadCrumbs());
}
var3.accept(var1);
}
class="kw">public void requireBoolean(
@Nonnull JsonElement var1, String var2, @Nonnull BooleanHolder var3, BuilderDescriptorState var4, String var5, @Nullable String var6
) {
if (this.isCreatingSchema()) {
Schema var7 = BuilderExpressionDynamic.computableSchema(new BooleanSchema());
var7.setTitle(var2);
var7.setDescription(var6 == null ? var5 : var6);
this.builderSchema.getProperties().put(var2, var7);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Boolean.class.getSimpleName(), var4, var5, var6).required().computable();
} else {
Objects.requireNonNull(var3, "booleanHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var8) {
this.addError(var8);
}
}
}
class="kw">public boolean getBoolean(
@Nonnull JsonElement var1, String var2, @Nonnull BooleanHolder var3, boolean var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var10 = BuilderExpressionDynamic.computableSchema(new BooleanSchema());
var10.setTitle(var2);
var10.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var10);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, Boolean.class.getSimpleName(), var5, var6, var7).optional(Boolean.toString(var4)).computable();
class="kw">return false;
}
Objects.requireNonNull(var3, "booleanHolder is null");
try {
JsonElement var8 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var8, var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var8 != null;
} catch (Exception var9) {
this.addError(var9);
class="kw">return false;
}
}
class="kw">public void requireBoolean(
@Nonnull JsonElement var1, String var2, @Nonnull BooleanConsumer var3, BuilderDescriptorState var4, String var5, @Nullable String var6
) {
if (this.isCreatingSchema()) {
Schema var7 = BuilderExpressionDynamic.computableSchema(new BooleanSchema());
var7.setTitle(var2);
var7.setDescription(var6 == null ? var5 : var6);
this.builderSchema.getProperties().put(var2, var7);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Boolean.class.getSimpleName(), var4, var5, var6).required();
} else {
try {
var3.accept(this.expectBoolean(this.getRequiredJsonElement(var1, var2), var2));
} catch (Exception var8) {
this.addError(var8);
}
}
}
class="kw">public boolean getBoolean(
@Nonnull JsonElement var1, String var2, @Nonnull BooleanConsumer var3, boolean var4, BuilderDescriptorState var5, String var6, @Nullable String var7
) {
if (this.isCreatingSchema()) {
Schema var11 = BuilderExpressionDynamic.computableSchema(new BooleanSchema());
var11.setTitle(var2);
var11.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, Boolean.class.getSimpleName(), var5, var6, var7).optional(Boolean.toString(var4));
class="kw">return false;
}
try {
JsonElement var8 = this.getOptionalJsonElement(var1, var2);
boolean var9 = var8 != null;
if (var9) {
var4 = this.expectBoolean(var8, var2);
}
var3.accept(var4);
class="kw">return var9;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
class="kw">public void getParameterBlock(@Nonnull JsonElement var1, BuilderDescriptorState var2, String var3, String var4) {
if (this.isCreatingSchema()) {
this.builderSchema.getProperties().put("Parameters", new ObjectSchema());
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute("Parameters", "Parameters", var2, var3, var4).optional("");
} else {
if (!var1.isJsonObject()) {
throw new IllegalStateException(String.format("Looking for parameter block in a JsonElement that isn't an object at %s", this.getBreadCrumbs()));
}
BuilderParameters var5 = new BuilderParameters(this.builderParameters);
var5.readJSON(var1.getAsJsonObject(), this.stateHelper);
var5.validateNoDuplicateParameters(this.builderParameters);
var5.addParametersToScope();
this.builderParameters = var5;
this.addQueryKey("Parameters");
}
}
class="kw">public void cleanupParameters() {
if (!this.isCreatingDescriptor()) {
this.builderParameters.disposeCompileContext();
}
}
@Nonnull
class="kw">protected <E class="kw">extends Enum<E>> E resolveValue(String var1, E[] var2, String var3) {
try {
class="kw">return stringToEnum(var1, var2, var3);
} catch (IllegalArgumentException var5) {
throw new IllegalArgumentException(var5.getMessage() + " in " + this.getBreadCrumbs(), var5);
}
}
@Nonnull
class="kw">public class="kw">static <E class="kw">extends Enum<E>> E stringToEnum(@Nullable String var0, E[] var1, String var2) {
if (var0 != null && !var0.isBlank()) {
String var3 = var0.trim();
for (Enum var7 : var1) {
if (var7.name().equalsIgnoreCase(var3)) {
class="kw">return var7;
}
}
}
throw new IllegalArgumentException(String.format("Enum value '%s' is '%s', must be one of %s", var2, var0, getDomain(var1)));
}
@Nonnull
class="kw">public class="kw">static <E class="kw">extends Enum<E>> String getDomain(E[] var0) {
class="kw">return Arrays.toString(var0);
}
@Nonnull
class="kw">private class="kw">static String formatEnumCamelCase(@Nonnull String var0) {
boolean var1 = Character.isLowerCase(var0.charAt(0));
if (var0.chars().anyMatch(var1x -> Character.isLowerCase(var1x) != var1)) {
class="kw">return var0;
}
StringBuilder var2 = new StringBuilder();
for (String var6 : var0.split("_", 0)) {
var2.append(Character.toUpperCase(var6.charAt(0))).append(var6.substring(1).toLowerCase(Locale.ROOT)).append('_');
}
var2.deleteCharAt(var2.length() - 1);
class="kw">return var2.toString();
}
@Nonnull
class="kw">private class="kw">static <E class="kw">extends Enum<E>> String[] getEnumValues(@Nonnull Class<E> var0) {
class="kw">return Arrays.stream(var0.getEnumConstants()).map(Enum::name).map(BuilderBase::formatEnumCamelCase).toArray(String[]::new);
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> void requireEnum(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<E> var3,
@Nonnull Class<E> var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
StringSchema var8 = new StringSchema();
var8.setEnum(getEnumValues(var4));
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var8));
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Flag", var5, var6, var7).required().setEnum(var4);
} else {
try {
var3.accept(this.resolveValue(this.expectString(this.getRequiredJsonElement(var1, var2), var2), var4.getEnumConstants(), var2));
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> boolean getEnum(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<E> var3,
@Nonnull Class<E> var4,
@Nullable E var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var12 = new StringSchema();
var12.setEnum(getEnumValues(var4));
var12.setTitle(var2);
var12.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var12));
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Flag", var6, var7, var8).optional(var5 != null ? var5.toString() : "<context>").setEnum(var4);
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
boolean var10 = var9 != null;
if (var10) {
var5 = this.resolveValue(this.expectString(var9, var2), var4.getEnumConstants(), var2);
}
var3.accept(var5);
class="kw">return var10;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> void requireEnum(
@Nonnull JsonElement var1,
String var2,
@Nonnull EnumHolder<E> var3,
@Nonnull Class<E> var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
StringSchema var8 = new StringSchema();
var8.setEnum(getEnumValues(var4));
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var8));
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "Flag", var5, var6, var7).required().computable().setEnum(var4);
} else {
Objects.requireNonNull(var3, "enumHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> boolean getEnum(
@Nonnull JsonElement var1,
String var2,
@Nonnull EnumHolder<E> var3,
@Nonnull Class<E> var4,
@Nonnull E var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var11 = new StringSchema();
var11.setEnum(getEnumValues(var4));
var11.setTitle(var2);
var11.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var11));
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "Flag", var6, var7, var8).optional(var5.toString()).computable().setEnum(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "enumHolder is null");
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var9, var4, var5, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9 != null;
} catch (Exception var10) {
this.addError(var10);
class="kw">return false;
}
}
@Nonnull
class="kw">public class="kw">static <E class="kw">extends Enum<E>> String[] enumSetToStrings(@Nonnull EnumSet<E> var0) {
int var1 = 0;
Iterator var2 = var0.iterator();
while (var2.hasNext()) {
var1++;
var2.next();
}
if (var1 == 0) {
class="kw">return ArrayUtil.EMPTY_STRING_ARRAY;
}
String[] var3 = new String[var1];
var2 = var0.iterator();
for (int var4 = 0; var4 < var1; var4++) {
var3[var4] = var2.next().toString();
}
class="kw">return var3;
}
@Nonnull
class="kw">public class="kw">static <E class="kw">extends Enum<E>> EnumSet<E> stringsToEnumSet(@Nullable String[] var0, @Nonnull Class<E> var1, E[] var2, String var3) {
EnumSet var4 = EnumSet.noneOf(var1);
if (var0 == null) {
class="kw">return var4;
}
for (String var8 : var0) {
var4.add(stringToEnum(var8, var2, var3));
}
class="kw">return var4;
}
@Nonnull
class="kw">public class="kw">static <E class="kw">extends Enum<E>> E[] stringsToEnumArray(@Nullable String[] var0, @Nonnull Class<E> var1, E[] var2, String var3) {
if (var0 != null && var0.length != 0) {
Enum[] var4 = (E[])Array.newInstance(var1, var0.length);
for (int var5 = 0; var5 < var0.length; var5++) {
var4[var5] = stringToEnum(var0[var5], var2, var3);
}
class="kw">return var4;
} else {
class="kw">return (E[])((Enum[])Array.newInstance(var1, 0));
}
}
class="kw">protected <E class="kw">extends Enum<E>> void toSet(String var1, @Nonnull Class<E> var2, @Nonnull EnumSet<E> var3, @Nonnull String var4) {
Enum[] var5 = (E[])var2.getEnumConstants();
for (String var9 : var4.split(",", 0)) {
var3.add(this.resolveValue(var9.trim(), var5, var1));
}
}
@Nonnull
class="kw">protected EnumSet<RoleDebugFlags> toDebugFlagSet(String var1, @Nonnull String var2) {
try {
class="kw">return RoleDebugFlags.getFlags(PATTERN.split(var2.trim(), 0));
} catch (IllegalArgumentException var4) {
throw new IllegalArgumentException(var4.getMessage() + " in parameter " + var1 + " at " + this.getBreadCrumbs(), var4);
}
}
class="kw">protected <E class="kw">extends Enum<E>> void toSet(String var1, @Nonnull Class<E> var2, @Nonnull EnumSet<E> var3, @Nonnull JsonArray var4) {
Enum[] var5 = (E[])var2.getEnumConstants();
for (JsonElement var7 : var4) {
var3.add(this.resolveValue(this.expectString(var7, var1), var5, var1));
}
}
class="kw">protected <E class="kw">extends Enum<E>> void toSet(String var1, @Nonnull Class<E> var2, @Nonnull EnumSet<E> var3, @Nonnull JsonElement var4) {
if (var4.isJsonArray()) {
this.toSet(var1, var2, var3, this.expectJsonArray(var4, var1));
NPCPlugin.get()
.getLogger()
.at(Level.WARNING)
.log(
"Use of strings for enum sets is deprecated for JSON attribute '%s' (use []) in %s: %s",
var1,
this.getBreadCrumbs(),
this.builderParameters.getFileName()
);
} else {
this.toSet(var1, var2, var3, this.expectString(var4, var1));
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> void requireEnumArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull EnumArrayHolder<E> var3,
@Nonnull Class<E> var4,
EnumArrayValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var9 = new StringSchema();
var9.setEnum(getEnumValues(var4));
var9.setTitle(var2);
var9.setDescription(var8 == null ? var7 : var8);
ArraySchema var10 = new ArraySchema();
var10.setItem(var9);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var10));
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "FlagArray", var6, var7, var8).required().computable().validator(var5).setEnum(var4);
} else {
Objects.requireNonNull(var3, "enumArrayHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var5, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var11) {
this.addError(var11);
}
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> void requireEnumSet(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<? super EnumSet<E>> var3,
@Nonnull Class<E> var4,
@Nonnull Supplier<? class="kw">extends EnumSet<E>> var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var12 = new StringSchema();
var12.setEnum(getEnumValues(var4));
var12.setTitle(var2);
var12.setDescription(var8 == null ? var7 : var8);
ArraySchema var10 = new ArraySchema();
var10.setItem(var12);
var10.setUniqueItems(true);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var10));
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "FlagSet", var6, var7, var8).required().setEnum(var4);
} else {
try {
EnumSet var9 = (EnumSet<E>)var5.get();
this.toSet(var2, var4, var9, this.getRequiredJsonElement(var1, var2));
var3.accept(var9);
} catch (Exception var11) {
this.addError(var11);
}
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> boolean getEnumSet(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<? super EnumSet<E>> var3,
@Nonnull Class<E> var4,
@Nonnull Supplier<? class="kw">extends EnumSet<E>> var5,
@Nonnull EnumSet<E> var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
StringSchema var13 = new StringSchema();
var13.setEnum(getEnumValues(var4));
var13.setTitle(var2);
var13.setDescription(var9 == null ? var8 : var9);
ArraySchema var14 = new ArraySchema();
var14.setItem(var13);
var14.setUniqueItems(true);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var14));
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "FlagSet", var7, var8, var9).optional(var6.toString()).setEnum(var4);
class="kw">return false;
}
try {
JsonElement var10 = this.getOptionalJsonElement(var1, var2);
if (var10 != null) {
EnumSet var11 = (EnumSet<E>)var5.get();
this.toSet(var2, var4, var11, var10);
var3.accept(var11);
class="kw">return true;
}
var3.accept(var6);
} catch (Exception var12) {
this.addError(var12);
}
class="kw">return false;
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> void requireEnumSet(
@Nonnull JsonElement var1,
String var2,
@Nonnull EnumSetHolder<E> var3,
@Nonnull Class<E> var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
StringSchema var11 = new StringSchema();
var11.setEnum(getEnumValues(var4));
var11.setTitle(var2);
var11.setDescription(var7 == null ? var6 : var7);
ArraySchema var12 = new ArraySchema();
var12.setItem(var11);
var12.setUniqueItems(true);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var12));
} else if (this.isCreatingSchema()) {
StringSchema var8 = new StringSchema();
var8.setEnum(getEnumValues(var4));
var8.setTitle(var2);
var8.setDescription(var7 == null ? var6 : var7);
ArraySchema var9 = new ArraySchema();
var9.setItem(var8);
var9.setUniqueItems(true);
this.builderSchema.getProperties().put(var2, var9);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "FlagSet", var5, var6, var7).required().computable().setEnum(var4);
} else {
Objects.requireNonNull(var3, "enumSetHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
} catch (Exception var10) {
this.addError(var10);
}
}
}
class="kw">public <E class="kw">extends Enum<E> & Supplier<String>> boolean getEnumSet(
@Nonnull JsonElement var1,
String var2,
@Nonnull EnumSetHolder<E> var3,
@Nonnull Class<E> var4,
@Nonnull EnumSet<E> var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var12 = new StringSchema();
var12.setEnum(getEnumValues(var4));
var12.setTitle(var2);
var12.setDescription(var8 == null ? var7 : var8);
ArraySchema var10 = new ArraySchema();
var10.setItem(var12);
var10.setUniqueItems(true);
this.builderSchema.getProperties().put(var2, BuilderExpressionDynamic.computableSchema(var10));
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "FlagSet", var6, var7, var8).optional(var5.toString()).computable().setEnum(var4);
class="kw">return false;
}
Objects.requireNonNull(var3, "enumSetHolder is null");
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var9, var5, var4, var2, this.builderParameters);
this.trackDynamicHolder(var3);
class="kw">return var9 != null;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
@Nonnull
class="kw">private Schema getObjectSchema(@Nonnull Class<?> var1) {
BuilderFactory var2 = this.builderManager.getFactory(var1);
Schema var3 = this.builderSchemaContext.refDefinition(var2);
ObjectSchema var4 = new ObjectSchema();
var4.setProperties(new LinkedHashMap<>());
Map var5 = var4.getProperties();
var5.put("Reference", BuilderExpressionDynamic.computableSchema(new StringSchema()));
var5.put("Local", BuilderExpressionDynamic.computableSchema(new BooleanSchema()));
var5.put("$Label", BuilderExpressionDynamic.computableSchema(new StringSchema()));
var5.put("Nullable", BuilderExpressionDynamic.computableSchema(new BooleanSchema()));
var5.put("Interfaces", BuilderExpressionDynamic.computableSchema(new ArraySchema(new StringSchema())));
var5.put("AcceptsForward", new BooleanSchema());
var5.put("Modify", BuilderModifier.toSchema(this.builderSchemaContext));
Schema var6 = new Schema();
var6.setDoNotSuggest(true);
var5.put("Comment", var6);
var5.put("$Title", var6);
var5.put("$Comment", var6);
var5.put("$TODO", var6);
var5.put("$Author", var6);
var5.put("$Position", var6);
var5.put("$FloatingFunctionNodes", var6);
var5.put("$Groups", var6);
var5.put("$WorkspaceID", var6);
var5.put("$NodeEditorMetadata", var6);
var5.put("$NodeId", var6);
var4.setTitle("Object reference");
var4.setRequired("Reference");
var4.setAdditionalProperties(false);
Schema var7 = new Schema();
ObjectSchema var8 = new ObjectSchema();
var8.setProperties(Map.of("Reference", BuilderExpressionDynamic.computableSchema(new StringSchema())));
var8.setRequired("Reference");
var7.setIf(var8);
var7.setThen(var4);
var7.setElse(var3);
class="kw">return BuilderExpressionDynamic.computableSchema(var7);
}
class="kw">public boolean getObject(
@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectReferenceHelper<?> var3,
BuilderDescriptorState var4,
String var5,
@Nullable String var6,
@Nonnull BuilderValidationHelper var7
) {
if (this.isCreatingSchema()) {
Schema var10 = this.getObjectSchema(var3.getClassType());
var10.setTitle(var2);
var10.setDescription(var6 == null ? var5 : var6);
this.builderSchema.getProperties().put(var2, var10);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "ObjectRef", var4, var5, var6)
.domain(this.builderManager.getCategoryName(var3.getClassType()))
.optional((String)null);
class="kw">return false;
}
this.addQueryKey(var2);
try {
JsonElement var8 = this.expectJsonObject(var1, var2).get(var2);
if (var8 != null) {
var3.setLabel(var2);
this.extraInfo.pushKey(var2);
var3.readConfig(var8, this.builderManager, this.builderParameters, var7);
this.extraInfo.popKey();
class="kw">return true;
}
} catch (Exception var9) {
this.addError(var9);
}
class="kw">return false;
}
class="kw">public void requireObject(
@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectReferenceHelper<?> var3,
BuilderDescriptorState var4,
String var5,
@Nullable String var6,
@Nonnull BuilderValidationHelper var7
) {
if (this.isCreatingSchema()) {
Schema var8 = this.getObjectSchema(var3.getClassType());
var8.setTitle(var2);
var8.setDescription(var6 == null ? var5 : var6);
this.builderSchema.getProperties().put(var2, var8);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "ObjectRef", var4, var5, var6).domain(this.builderManager.getCategoryName(var3.getClassType())).required();
} else {
try {
var3.setLabel(var2);
this.extraInfo.pushKey(var2);
var3.readConfig(this.getRequiredJsonElement(var1, var2), this.builderManager, this.builderParameters, var7);
this.extraInfo.popKey();
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public boolean getCodecObject(
@Nonnull JsonElement var1, String var2, @Nonnull BuilderCodecObjectHelper<?> var3, BuilderDescriptorState var4, String var5, @Nullable String var6
) {
if (this.isCreatingSchema()) {
Schema var11 = this.builderSchemaContext.refDefinition(var3.codec);
var11.setDescription(var6 == null ? var5 : var6);
this.builderSchema.getProperties().put(var2, var11);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "CodecObject", var4, var5, var6).domain(var3.getClassType().getSimpleName()).optional((String)null);
class="kw">return false;
}
this.addQueryKey(var2);
try {
JsonElement var7 = this.expectJsonObject(var1, var2).get(var2);
if (var7 != null) {
this.extraInfo.pushKey(var2);
try {
var3.readConfig(var7, this.extraInfo);
} catch (Exception var9) {
this.addError(var9);
}
this.extraInfo.popKey();
class="kw">return true;
}
} catch (Exception var10) {
this.addError(var10);
}
class="kw">return false;
}
class="kw">public void requireCodecObject(
@Nonnull JsonElement var1, String var2, @Nonnull BuilderCodecObjectHelper<?> var3, BuilderDescriptorState var4, String var5, @Nullable String var6
) {
if (this.isCreatingSchema()) {
Schema var7 = this.builderSchemaContext.refDefinition(var3.codec);
var7.setTitle(var2);
var7.setDescription(var6 == null ? var5 : var6);
this.builderSchema.getProperties().put(var2, var7);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "CodecObject", var4, var5, var6).domain(var3.getClassType().getSimpleName()).required();
} else {
this.extraInfo.pushKey(var2);
try {
var3.readConfig(this.getRequiredJsonElement(var1, var2), this.extraInfo);
} catch (Exception var8) {
this.addError(var8);
}
this.extraInfo.popKey();
}
}
class="kw">public void requireEmbeddableArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
@Nonnull ArrayValidator var4,
BuilderDescriptorState var5,
String var6,
String var7,
@Nonnull BuilderValidationHelper var8
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "EmbeddableArray", var5, var6, var7)
.domain(this.builderManager.getCategoryName(var3.getClassType()))
.validator(var4)
.required();
} else {
if (this.useDefaultsOnly) {
throw new IllegalArgumentException("An embeddable array can be only used once!");
}
try {
if (var1.isJsonArray()) {
var3.readConfig(var1, this.builderManager, this.builderParameters, var8);
if (!var4.test(var3)) {
throw new IllegalStateException(var4.errorMessage(var3) + " at " + this.getBreadCrumbs());
}
this.useDefaultsOnly = true;
} else {
this.requireArray0(var1, var2, var3, var4, var8);
}
} catch (Exception var10) {
this.addError(var10);
}
}
}
class="kw">public boolean getArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
ArrayValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7,
@Nonnull BuilderValidationHelper var8
) {
if (this.isCreatingSchema()) {
ArraySchema var12 = new ArraySchema();
Schema var10 = this.getObjectSchema(var3.getClassType());
var12.setDescription(var7 == null ? var6 : var7);
var12.setItem(var10);
this.builderSchema.getProperties().put(var2, var12);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "Array", var5, var6, var7)
.optional((String)null)
.validator(var4)
.domain(this.builderManager.getCategoryName(var3.getClassType()));
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
if (var9 != null) {
this.requireArray0(var9, var2, var3, var4, var8);
class="kw">return true;
}
} catch (Exception var11) {
this.addError(var11);
}
class="kw">return false;
}
class="kw">public void requireArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
ArrayValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7,
@Nonnull BuilderValidationHelper var8
) {
if (this.isCreatingSchema()) {
ArraySchema var9 = new ArraySchema();
Schema var10 = this.getObjectSchema(var3.getClassType());
var9.setDescription(var7 == null ? var6 : var7);
var9.setItem(var10);
this.builderSchema.getProperties().put(var2, var9);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(var2, "Array", var5, var6, var7)
.required()
.validator(var4)
.domain(this.builderManager.getCategoryName(var3.getClassType()));
} else {
try {
this.requireArray0(this.getRequiredJsonElement(var1, var2), var2, var3, var4, var8);
} catch (Exception var11) {
this.addError(var11);
}
}
}
class="kw">private void requireArray0(
@Nonnull JsonElement var1,
String var2,
@Nonnull BuilderObjectArrayHelper<?, ?> var3,
@Nullable ArrayValidator var4,
@Nonnull BuilderValidationHelper var5
) {
var3.setLabel(var2);
this.extraInfo.pushKey(var2);
var3.readConfig(var1, this.builderManager, this.builderParameters, var5);
this.extraInfo.popKey();
if (var4 != null && !var4.test(var3)) {
throw new IllegalStateException(var4.errorMessage(var3) + " at " + this.getBreadCrumbs());
}
}
class="kw">public void requireArray(
@Nonnull JsonElement var1,
@Nonnull BuilderObjectArrayHelper<?, ?> var2,
ArrayValidator var3,
BuilderDescriptorState var4,
String var5,
@Nullable String var6,
@Nonnull BuilderValidationHelper var7
) {
if (this.isCreatingSchema()) {
this.builderSchemaRaw = new ArraySchema();
Schema var8 = this.getObjectSchema(var2.getClassType());
this.builderSchemaRaw.setDescription(var6 == null ? var5 : var6);
((ArraySchema)this.builderSchemaRaw).setItem(var8);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor
.addAttribute(null, "Array", var4, var5, var6)
.domain(this.builderManager.getCategoryName(var2.getClassType()))
.validator(var3)
.required();
} else {
try {
var2.readConfig(var1, this.builderManager, this.builderParameters, var7);
} catch (Exception var9) {
this.addError(var9);
}
}
}
class="kw">public void requireAsset(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
@Nonnull AssetValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
StringSchema var8 = new StringSchema();
var4.updateSchema(var8);
Schema var9 = BuilderExpressionDynamic.computableSchema(var8);
var9.setTitle(var2);
var9.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var9);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Asset", var5, var6, var7).required().domain(var4.getDomain());
} else {
try {
this.validateAndSet(this.expectString(this.getRequiredJsonElement(var1, var2), var2), var4, var3, var2);
} catch (Exception var10) {
this.addError(var10);
}
}
}
class="kw">public boolean getAsset(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String> var3,
String var4,
@Nonnull AssetValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var12 = new StringSchema();
var5.updateSchema(var12);
Schema var13 = BuilderExpressionDynamic.computableSchema(var12);
var13.setTitle(var2);
var13.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var13);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "Asset", var6, var7, var8).optional(var4).domain(var5.getDomain());
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
boolean var10 = var9 != null;
if (var10) {
var4 = this.expectString(var9, var2);
}
this.validateAndSet(var4, var5, var3, var2);
class="kw">return var10;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">public void requireAsset(
@Nonnull JsonElement var1,
String var2,
@Nonnull AssetHolder var3,
@Nonnull AssetValidator var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
if (this.isCreatingSchema()) {
StringSchema var8 = new StringSchema();
var4.updateSchema(var8);
Schema var9 = BuilderExpressionDynamic.computableSchema(var8);
var9.setTitle(var2);
var9.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var9);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "Asset", var5, var6, var7).required().computable().domain(var4.getDomain());
} else {
Objects.requireNonNull(var3, "assetHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var2, this.builderParameters);
var3.staticValidate();
this.trackDynamicHolder(var3);
} catch (Exception var10) {
this.addError(var10);
}
}
}
class="kw">public boolean getAsset(
@Nonnull JsonElement var1,
String var2,
@Nonnull AssetHolder var3,
String var4,
@Nonnull AssetValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var12 = new StringSchema();
var5.updateSchema(var12);
Schema var10 = BuilderExpressionDynamic.computableSchema(var12);
var10.setTitle(var2);
var10.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var10);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "Asset", var6, var7, var8).optional(var4).computable().domain(var5.getDomain());
class="kw">return false;
}
Objects.requireNonNull(var3, "assetHolder is null");
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var9, var4, var5, var2, this.builderParameters);
var3.staticValidate();
this.trackDynamicHolder(var3);
class="kw">return var9 != null;
} catch (Exception var11) {
this.addError(var11);
class="kw">return false;
}
}
class="kw">private void validateAndSet(String var1, @Nullable AssetValidator var2, @Nonnull Consumer<String> var3, String var4) {
if (var2 != null) {
this.validateSingleAsset(var1, var2, var4);
}
var3.accept(var1);
}
class="kw">public class="kw">static boolean validateAssetList(@Nullable String[] var0, @Nonnull AssetValidator var1, String var2, boolean var3) {
if (var0 == null) {
if (!var1.canListBeEmpty()) {
throw new IllegalStateException("Null is not an allowed list of " + var1.getDomain() + " value for attribute \"" + var2 + "\"");
} else {
class="kw">return true;
}
} else if (var0.length == 0) {
if (!var1.canListBeEmpty()) {
throw new IllegalStateException("List of " + var1.getDomain() + " value for attribute \"" + var2 + "\" must not be empty");
} else {
class="kw">return true;
}
} else {
for (String var7 : var0) {
validateAsset(var7, var1, var2, var3);
}
class="kw">return true;
}
}
class="kw">public class="kw">static boolean validateAsset(@Nullable String var0, @Nonnull AssetValidator var1, String var2, boolean var3) {
if (var0 == null) {
if (!var1.isNullable()) {
throw new SkipSentryException(new IllegalStateException("Null is not an allowed " + var1.getDomain() + " value for attribute \"" + var2 + "\""));
} else {
class="kw">return true;
}
} else if (var0.isEmpty()) {
if (!var1.canBeEmpty()) {
throw new SkipSentryException(
new IllegalStateException("Empty string is not an allowed " + var1.getDomain() + " value for attribute \"" + var2 + "\"")
);
} else {
class="kw">return true;
}
} else if (!var3) {
class="kw">return true;
} else if (var1.isMatcher() && StringUtil.isGlobPattern(var0)) {
class="kw">return true;
} else if (!var1.test(var0)) {
throw new SkipSentryException(new IllegalStateException(var1.errorMessage(var0, var2)));
} else {
class="kw">return true;
}
}
class="kw">private void validateSingleAsset(String var1, @Nonnull AssetValidator var2, String var3) {
try {
if (!validateAsset(var1, var2, var3, true)) {
NPCPlugin.get()
.getLogger()
.at(Level.WARNING)
.log("%s in %s: %s", var2.errorMessage(var1, var3), this.getBreadCrumbs(), this.builderParameters.getFileName());
}
} catch (IllegalStateException var5) {
throw new IllegalStateException(var5.getMessage() + " in " + this.getBreadCrumbs());
}
}
class="kw">public boolean getAssetArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
String[] var5,
@Nonnull AssetValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
StringSchema var14 = new StringSchema();
var6.updateSchema(var14);
ArraySchema var15 = new ArraySchema(var14);
Schema var16 = BuilderExpressionDynamic.computableSchema(var15);
var16.setTitle(var2);
var16.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var16);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "AssetArray", var7, var8, var9).optional(this.defaultArrayToString(var5)).domain(var6.getDomain());
class="kw">return false;
}
try {
JsonElement var10 = this.getOptionalJsonElement(var1, var2);
boolean var12 = var10 != null;
String[] var11;
if (var12) {
var11 = this.expectStringArray(var10, var4, var2);
} else {
var11 = var5;
}
this.validateAndSet(var11, var6, var3, var2);
class="kw">return var12;
} catch (Exception var13) {
this.addError(var13);
class="kw">return false;
}
}
class="kw">public boolean getAssetArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull AssetArrayHolder var3,
String[] var4,
int var5,
int var6,
@Nonnull AssetValidator var7,
BuilderDescriptorState var8,
String var9,
@Nullable String var10
) {
if (this.isCreatingSchema()) {
StringSchema var15 = new StringSchema();
var7.updateSchema(var15);
ArraySchema var12 = new ArraySchema(var15);
if (var5 != 0) {
var12.setMinItems(var5);
}
if (var6 != Integer.MAX_VALUE) {
var12.setMaxItems(var6);
}
Schema var13 = BuilderExpressionDynamic.computableSchema(var12);
var13.setTitle(var2);
var13.setDescription(var10 == null ? var9 : var10);
this.builderSchema.getProperties().put(var2, var13);
class="kw">return false;
} else {
if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor
.addAttribute(var2, "AssetArray", var8, var9, var10)
.optional(this.defaultArrayToString(var4))
.computable()
.domain(var7.getDomain());
class="kw">return false;
}
Objects.requireNonNull(var3, "assetHolder is null");
try {
JsonElement var11 = this.getOptionalJsonElement(var1, var2);
var3.readJSON(var11, var5, var6, var4, var7, var2, this.builderParameters);
var3.staticValidate();
this.trackDynamicHolder(var3);
class="kw">return var11 != null;
} catch (Exception var14) {
this.addError(var14);
class="kw">return false;
}
}
}
class="kw">public void requireAssetArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<String[]> var3,
Function<String, String> var4,
@Nonnull AssetValidator var5,
BuilderDescriptorState var6,
String var7,
@Nullable String var8
) {
if (this.isCreatingSchema()) {
StringSchema var13 = new StringSchema();
var5.updateSchema(var13);
ArraySchema var10 = new ArraySchema(var13);
Schema var11 = BuilderExpressionDynamic.computableSchema(var10);
var11.setTitle(var2);
var11.setDescription(var8 == null ? var7 : var8);
this.builderSchema.getProperties().put(var2, var11);
} else if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "AssetArray", var6, var7, var8).required().domain(var5.getDomain());
} else {
try {
JsonElement var9 = this.getRequiredJsonElement(var1, var2);
this.validateAndSet(this.expectStringArray(var9, var4, var2), var5, var3, var2);
} catch (Exception var12) {
this.addError(var12);
}
}
}
class="kw">public void requireAssetArray(
@Nonnull JsonElement var1,
String var2,
@Nonnull AssetArrayHolder var3,
int var4,
int var5,
@Nonnull AssetValidator var6,
BuilderDescriptorState var7,
String var8,
@Nullable String var9
) {
if (this.isCreatingSchema()) {
StringSchema var10 = new StringSchema();
var6.updateSchema(var10);
ArraySchema var11 = new ArraySchema(var10);
if (var4 != 0) {
var11.setMinItems(var4);
}
if (var5 != Integer.MAX_VALUE) {
var11.setMaxItems(var5);
}
Schema var12 = BuilderExpressionDynamic.computableSchema(var11);
var12.setTitle(var2);
var12.setDescription(var9 == null ? var8 : var9);
this.builderSchema.getProperties().put(var2, var12);
} else if (this.isCreatingDescriptor()) {
var3.setName(var2);
this.builderDescriptor.addAttribute(var2, "AssetArray", var7, var8, var9).required().computable().domain(var6.getDomain());
} else {
Objects.requireNonNull(var3, "assetHolder is null");
try {
var3.readJSON(this.getRequiredJsonElement(var1, var2), var4, var5, var6, var2, this.builderParameters);
var3.staticValidate();
this.trackDynamicHolder(var3);
} catch (Exception var13) {
this.addError(var13);
}
}
}
class="kw">private void validateAndSet(@Nullable String[] var1, @Nullable AssetValidator var2, @Nonnull Consumer<String[]> var3, String var4) {
if (var2 != null) {
if (var1 == null) {
if (!var2.canListBeEmpty()) {
throw new IllegalStateException(
"Null is not an allowed list of " + var2.getDomain() + " value for attribute \"" + var4 + "\" in " + this.getBreadCrumbs()
);
}
} else if (var1.length == 0) {
if (!var2.canListBeEmpty()) {
throw new IllegalStateException(
"List of " + var2.getDomain() + " value for attribute \"" + var4 + "\" must not be empty in " + this.getBreadCrumbs()
);
}
} else {
for (String var8 : var1) {
this.validateSingleAsset(var8, var2, var4);
}
}
}
var3.accept(var1);
}
class="kw">public boolean getOverride(
@Nonnull JsonElement var1, String var2, @Nonnull Consumer<FeatureOverride> var3, BuilderDescriptorState var4, String var5, @Nullable String var6
) {
class="kw">return this.getEnum(var1, var2, var3, FeatureOverride.class, FeatureOverride.Default, var4, var5, var6);
}
class="kw">public boolean getOverride(
@Nonnull JsonElement var1, String var2, @Nonnull EnumHolder<FeatureOverride> var3, BuilderDescriptorState var4, String var5, @Nullable String var6
) {
class="kw">return this.getEnum(var1, var2, var3, FeatureOverride.class, FeatureOverride.Default, var4, var5, var6);
}
class="kw">protected BuilderDescriptor createDescriptor(
@Nonnull Builder<?> var1, String var2, String var3, BuilderManager var4, BuilderDescriptorState var5, String var6, String var7, Set<String> var8
) {
this.builderDescriptor = new BuilderDescriptor(var2, var3, var6, var7, var8, var5);
try {
var1.readConfig(null, null, var4, this.builderParameters, null);
class="kw">return this.builderDescriptor;
} class="kw">finally {
this.builderDescriptor = null;
}
}
class="kw">protected boolean isCreatingDescriptor() {
class="kw">return this.builderDescriptor != null;
}
class="kw">protected boolean isCreatingSchema() {
class="kw">return this.builderSchema != null;
}
@Nonnull
@Override
class="kw">public String getSchemaName() {
class="kw">return this.typeName == null ? "NPC:Class:" + this.getClass().getSimpleName() : "NPC:" + this.typeName;
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
try {
this.builderSchemaContext = var1;
this.builderSchemaRaw = this.builderSchema = new ObjectSchema();
this.builderSchema.setProperties(new LinkedHashMap<>());
this.builderSchema.setAdditionalProperties(false);
this.builderDescriptor = new BuilderDescriptor(null, null, null, null, null, null);
try {
this.readConfig(null, null, BuilderManager.SCHEMA_BUILDER_MANAGER, this.builderParameters, null);
} class="kw">finally {
this.builderDescriptor = null;
}
Schema var2 = new Schema();
var2.setDoNotSuggest(true);
this.builderSchema.getProperties().put("Comment", var2);
this.builderSchema.getProperties().put("$Title", var2);
this.builderSchema.getProperties().put("$Comment", var2);
this.builderSchema.getProperties().put("$TODO", var2);
this.builderSchema.getProperties().put("$Author", var2);
this.builderSchema.getProperties().put("$Position", var2);
this.builderSchema.getProperties().put("$FloatingFunctionNodes", var2);
this.builderSchema.getProperties().put("$Groups", var2);
this.builderSchema.getProperties().put("$WorkspaceID", var2);
this.builderSchema.getProperties().put("$NodeEditorMetadata", var2);
this.builderSchema.getProperties().put("$NodeId", var2);
this.builderSchemaRaw.setTitle(this.typeName);
this.builderSchemaRaw.setDescription(this.getLongDescription());
class="kw">return this.builderSchemaRaw;
} class="kw">finally {
this.builderSchema = null;
this.builderSchemaContext = null;
}
}
@Override
class="kw">public class="kw">final BuilderDescriptor getDescriptor(String var1, String var2, BuilderManager var3) {
HashSet var4 = new HashSet<>();
this.registerTags(var4);
class="kw">return this.createDescriptor(this, var1, var2, var3, this.getBuilderDescriptorState(), this.getShortDescription(), this.getLongDescription(), var4);
}
@Nullable
class="kw">public class="kw">abstract String getShortDescription();
@Nullable
class="kw">public class="kw">abstract String getLongDescription();
class="kw">public void registerTags(@Nonnull Set<String> var1) {
String var2 = this.getClass().getPackageName().replaceFirst("\\.builders$", "");
var1.add(var2.substring(var2.lastIndexOf(46) + 1));
}
@Nullable
@Override
class="kw">public class="kw">abstract BuilderDescriptorState getBuilderDescriptorState();
class="kw">protected void validateNotAllStringsEmpty(String var1, String var2, String var3, String var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(StringsNotEmptyValidator.withAttributes(var1, var3));
} else {
if (!StringsNotEmptyValidator.test(var2, var4)) {
this.addError(StringsNotEmptyValidator.errorMessage(var2, var1, var4, var3, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateAtMostOneString(String var1, String var2, String var3, String var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(StringsAtMostOneValidator.withAttributes(var1, var3));
} else {
if (StringsAtMostOneValidator.test(var2, var4)) {
this.addError(StringsAtMostOneValidator.errorMessage(var2, var1, var4, var3, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateOneSetString(String var1, String var2, String var3, String var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(StringsOneSetValidator.withAttributes(var1, var3));
} else {
if (!StringsOneSetValidator.test(var2, var4)) {
this.addError(StringsOneSetValidator.formatErrorMessage(var2, var1, var4, var3, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateOneSetAsset(@Nonnull AssetHolder var1, String var2, String var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(StringsOneSetValidator.withAttributes(var1.getName(), var3));
} else if (var1.isStatic()) {
this.validateOneSetString(var1.getName(), var1.get(null), var2, var3);
} else {
var1.addRelationValidator((var4, var5) -> {
if (!StringsOneSetValidator.test(var5, var3)) {
throw new IllegalStateException(StringsOneSetValidator.formatErrorMessage(var5, var1.getName(), var3, var2, this.getBreadCrumbs()));
}
});
}
}
class="kw">protected void validateOneSetAsset(@Nonnull AssetHolder var1, @Nonnull AssetHolder var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(StringsOneSetValidator.withAttributes(var1.getName(), var2.getName()));
} else if (var1.isStatic()) {
this.validateOneSetAsset(var2, var1.getName(), var1.get(null));
} else if (var2.isStatic()) {
this.validateOneSetAsset(var1, var2.getName(), var2.get(null));
} else {
var1.addRelationValidator((var3, var4) -> {
String var5 = var2.rawGet(var3);
if (!StringsOneSetValidator.test(var4, var5)) {
throw new IllegalStateException(StringsOneSetValidator.formatErrorMessage(var4, var1.getName(), var5, var2.getName(), this.getBreadCrumbs()));
}
});
var2.addRelationValidator((var3, var4) -> {
String var5 = var1.rawGet(var3);
if (!StringsOneSetValidator.test(var5, var4)) {
throw new IllegalStateException(StringsOneSetValidator.formatErrorMessage(var5, var1.getName(), var4, var2.getName(), this.getBreadCrumbs()));
}
});
}
}
class="kw">protected void validateOneSetAssetArray(@Nonnull AssetArrayHolder var1, String var2, String[] var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ArraysOneSetValidator.withAttributes(var1.getName(), var2));
} else if (var1.isStatic()) {
if (!ArraysOneSetValidator.validate(var1.get(null), var3)) {
this.addError(ArraysOneSetValidator.formatErrorMessage(var1.getName(), var2, this.getBreadCrumbs()));
}
} else {
var1.addRelationValidator((var4, var5) -> {
if (!ArraysOneSetValidator.validate(var5, var3)) {
throw new IllegalStateException(ArraysOneSetValidator.formatErrorMessage(var1.getName(), var2, this.getBreadCrumbs()));
}
});
}
}
class="kw">protected void validateOneSetAssetArray(@Nonnull AssetArrayHolder var1, @Nonnull AssetArrayHolder var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ArraysOneSetValidator.withAttributes(var1.getName(), var2.getName()));
} else if (var1.isStatic()) {
this.validateOneSetAssetArray(var2, var1.getName(), var1.get(null));
} else if (var2.isStatic()) {
this.validateOneSetAssetArray(var1, var2.getName(), var2.get(null));
} else {
var1.addRelationValidator((var3, var4) -> {
String[] var5 = var2.rawGet(var3);
if (!ArraysOneSetValidator.validate(var4, var5)) {
throw new IllegalStateException(ArraysOneSetValidator.formatErrorMessage(var1.getName(), var2.getName(), this.getBreadCrumbs()));
}
});
var2.addRelationValidator((var3, var4) -> {
String[] var5 = var1.rawGet(var3);
if (!ArraysOneSetValidator.validate(var5, var4)) {
throw new IllegalStateException(ArraysOneSetValidator.formatErrorMessage(var1.getName(), var2.getName(), this.getBreadCrumbs()));
}
});
}
}
class="kw">protected <K> void validateNoDuplicates(Iterable<K> var1, String var2) {
NoDuplicatesValidator var3 = NoDuplicatesValidator.withAttributes(var1, var2);
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(var3);
} else {
if (!var3.test()) {
this.addError(var3.errorMessage());
}
}
}
class="kw">protected void validateDoubleRelation(String var1, double var2, @Nonnull RelationalOperator var4, String var5, double var6) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1, var4, var5));
} else {
if (!DoubleValidator.compare(var2, var4, var6)) {
this.addError(String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1, var2, var4.asText(), var5, var6, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateDoubleRelation(@Nonnull DoubleHolder var1, @Nonnull RelationalOperator var2, String var3, double var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1.getName(), var2, var3));
} else {
if (var1.isStatic()) {
this.validateDoubleRelation(var1.getName(), var1.get(null), var2, var3, var4);
} else {
var1.addRelationValidator(
(var6, var7) -> {
if (!DoubleValidator.compare(var7, var2, var4)) {
throw new IllegalStateException(
String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var7, var2.asText(), var3, var4, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateDoubleRelation(String var1, double var2, @Nonnull RelationalOperator var4, @Nonnull DoubleHolder var5) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1, var4, var5.getName()));
} else {
if (var5.isStatic()) {
this.validateDoubleRelation(var1, var2, var4, var5.getName(), var5.get(null));
} else {
var5.addRelationValidator(
(var6, var7) -> {
if (!DoubleValidator.compare(var2, var4, var7)) {
throw new IllegalStateException(
String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1, var2, var4.asText(), var5.getName(), var7, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateDoubleRelation(@Nonnull DoubleHolder var1, @Nonnull RelationalOperator var2, @Nonnull DoubleHolder var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1.getName(), var2, var3.getName()));
} else {
if (var1.isStatic()) {
this.validateDoubleRelation(var1.getName(), var1.get(null), var2, var3);
} else if (var3.isStatic()) {
this.validateDoubleRelation(var1, var2, var3.getName(), var3.get(null));
} else {
var1.addRelationValidator(
(var4, var5) -> {
double var7 = var3.rawGet(var4);
if (!DoubleValidator.compare(var5, var2, var7)) {
throw new IllegalStateException(
String.format(
"'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var5, var2.asText(), var3.getName(), var7, this.getBreadCrumbs()
)
);
}
}
);
var3.addRelationValidator(
(var4, var5) -> {
double var7 = var1.rawGet(var4);
if (!DoubleValidator.compare(var7, var2, var5)) {
throw new IllegalStateException(
String.format(
"'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var7, var2.asText(), var3.getName(), var5, this.getBreadCrumbs()
)
);
}
}
);
}
}
}
class="kw">protected void validateExactlyOneZero(String var1, double var2, String var4, double var5) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ExactlyOneZeroValidator.withAttributes(var1, var4));
} else {
if (!ExactlyOneZeroValidator.test(var2, var5)) {
this.addError(ExactlyOneZeroValidator.formatErrorMessage(var1, var2, var4, var5, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateExactlyOneZero(@Nonnull DoubleHolder var1, String var2, double var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ExactlyOneZeroValidator.withAttributes(var1.getName(), var2));
} else {
if (var1.isStatic()) {
this.validateExactlyOneZero(var1.getName(), var1.get(null), var2, var3);
} else {
var1.addRelationValidator((var5, var6) -> {
if (!ExactlyOneZeroValidator.test(var6, var3)) {
throw new IllegalStateException(ExactlyOneZeroValidator.formatErrorMessage(var1.getName(), var6, var2, var3, this.getBreadCrumbs()));
}
});
}
}
}
class="kw">protected void validateExactlyOneZero(String var1, double var2, @Nonnull DoubleHolder var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ExactlyOneZeroValidator.withAttributes(var1, var4.getName()));
} else {
if (var4.isStatic()) {
this.validateExactlyOneZero(var1, var2, var4.getName(), var4.get(null));
} else {
var4.addRelationValidator((var5, var6) -> {
if (!ExactlyOneZeroValidator.test(var2, var6)) {
throw new IllegalStateException(ExactlyOneZeroValidator.formatErrorMessage(var1, var2, var4.getName(), var6, this.getBreadCrumbs()));
}
});
}
}
}
class="kw">protected void validateExactlyOneZero(@Nonnull DoubleHolder var1, @Nonnull DoubleHolder var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ExactlyOneZeroValidator.withAttributes(var1.getName(), var2.getName()));
} else {
if (var1.isStatic()) {
this.validateExactlyOneZero(var1.getName(), var1.get(null), var2);
} else if (var2.isStatic()) {
this.validateExactlyOneZero(var1, var2.getName(), var2.get(null));
} else {
var1.addRelationValidator(
(var3, var4) -> {
double var6 = var2.rawGet(var3);
if (!ExactlyOneZeroValidator.test(var4, var6)) {
throw new IllegalStateException(
ExactlyOneZeroValidator.formatErrorMessage(var1.getName(), var4, var2.getName(), var6, this.getBreadCrumbs())
);
}
}
);
var2.addRelationValidator(
(var3, var4) -> {
double var6 = var1.rawGet(var3);
if (!ExactlyOneZeroValidator.test(var6, var4)) {
throw new IllegalStateException(
ExactlyOneZeroValidator.formatErrorMessage(var1.getName(), var6, var2.getName(), var4, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateFloatRelation(String var1, float var2, @Nonnull RelationalOperator var3, String var4, float var5) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1, var3, var4));
} else {
if (!DoubleValidator.compare(var2, var3, var5)) {
this.addError(String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1, var2, var3.asText(), var4, var5, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateFloatRelation(@Nonnull FloatHolder var1, @Nonnull RelationalOperator var2, String var3, float var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1.getName(), var2, var3));
} else {
if (var1.isStatic()) {
this.validateFloatRelation(var1.getName(), var1.get(null), var2, var3, var4);
} else {
var1.addRelationValidator(
(var5, var6) -> {
if (!DoubleValidator.compare(var6, var2, var4)) {
throw new IllegalStateException(
String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var6, var2.asText(), var3, var4, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateFloatRelation(String var1, float var2, @Nonnull RelationalOperator var3, @Nonnull FloatHolder var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1, var3, var4.getName()));
} else {
if (var4.isStatic()) {
this.validateFloatRelation(var1, var2, var3, var4.getName(), var4.get(null));
} else {
var4.addRelationValidator(
(var5, var6) -> {
if (!DoubleValidator.compare(var2, var3, var6)) {
throw new IllegalStateException(
String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1, var2, var3.asText(), var4.getName(), var6, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateFloatRelation(@Nonnull FloatHolder var1, @Nonnull RelationalOperator var2, @Nonnull FloatHolder var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1.getName(), var2, var3.getName()));
} else {
if (var1.isStatic()) {
this.validateFloatRelation(var1.getName(), var1.get(null), var2, var3);
} else if (var3.isStatic()) {
this.validateFloatRelation(var1, var2, var3.getName(), var3.get(null));
} else {
var1.addRelationValidator(
(var4, var5) -> {
double var7 = var3.rawGet(var4);
if (!DoubleValidator.compare(var5, var2, var7)) {
throw new IllegalStateException(
String.format(
"'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var5, var2.asText(), var3.getName(), var7, this.getBreadCrumbs()
)
);
}
}
);
var3.addRelationValidator(
(var4, var5) -> {
double var7 = var1.rawGet(var4);
if (!DoubleValidator.compare(var7, var2, var5)) {
throw new IllegalStateException(
String.format(
"'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var7, var2.asText(), var3.getName(), var5, this.getBreadCrumbs()
)
);
}
}
);
}
}
}
class="kw">protected void validateIntRelation(String var1, int var2, @Nonnull RelationalOperator var3, String var4, int var5) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1, var3, var4));
} else {
if (!IntValidator.compare(var2, var3, var5)) {
this.addError(String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1, var2, var3.asText(), var4, var5, this.getBreadCrumbs()));
}
}
}
class="kw">protected void validateIntRelation(@Nonnull IntHolder var1, @Nonnull RelationalOperator var2, String var3, int var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1.getName(), var2, var3));
} else {
if (var1.isStatic()) {
this.validateIntRelation(var1.getName(), var1.get(null), var2, var3, var4);
} else {
var1.addRelationValidator(
(var5, var6) -> {
if (!IntValidator.compare(var6, var2, var4)) {
throw new IllegalStateException(
String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var6, var2.asText(), var3, var4, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateIntRelation(String var1, int var2, @Nonnull RelationalOperator var3, @Nonnull IntHolder var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1, var3, var4.getName()));
} else {
if (var4.isStatic()) {
this.validateIntRelation(var1, var2, var3, var4.getName(), var4.get(null));
} else {
var4.addRelationValidator(
(var5, var6) -> {
if (!IntValidator.compare(var2, var3, var6)) {
throw new IllegalStateException(
String.format("'%s'(=%s) should be %s '%s'(=%s) in %s", var1, var2, var3.asText(), var4.getName(), var6, this.getBreadCrumbs())
);
}
}
);
}
}
}
class="kw">protected void validateIntRelation(@Nonnull IntHolder var1, @Nonnull RelationalOperator var2, @Nonnull IntHolder var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var1.getName(), var2, var3.getName()));
} else {
if (var1.isStatic()) {
this.validateIntRelation(var1.getName(), var1.get(null), var2, var3);
} else if (var3.isStatic()) {
this.validateIntRelation(var1, var2, var3.getName(), var3.get(null));
} else {
var1.addRelationValidator(
(var4, var5) -> {
int var6 = var3.rawGet(var4);
if (!IntValidator.compare(var5, var2, var6)) {
throw new IllegalStateException(
String.format(
"'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var5, var2.asText(), var3.getName(), var6, this.getBreadCrumbs()
)
);
}
}
);
var3.addRelationValidator(
(var4, var5) -> {
int var6 = var1.rawGet(var4);
if (!IntValidator.compare(var6, var2, var5)) {
throw new IllegalStateException(
String.format(
"'%s'(=%s) should be %s '%s'(=%s) in %s", var1.getName(), var6, var2.asText(), var3.getName(), var5, this.getBreadCrumbs()
)
);
}
}
);
}
}
}
class="kw">protected void validateIntRelationIfBooleanIs(boolean var1, boolean var2, @Nonnull IntHolder var3, @Nonnull RelationalOperator var4, @Nonnull IntHolder var5) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AttributeRelationValidator.withAttributes(var3.getName(), var4, var5.getName()));
} else if (var2 == var1) {
this.validateIntRelation(var3, var4, var5);
}
}
class="kw">protected void validateAnyPresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyPresentValidator.withAttributes(var1, var3));
} else if (!var2.isPresent() && !var4.isPresent()) {
this.addError(AnyPresentValidator.errorMessage(new String[]{var1, var3}) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateAnyPresent(
String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4, String var5, @Nonnull BuilderObjectHelper<?> var6
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyPresentValidator.withAttributes(new String[]{var1, var3, var5}));
} else if (!var2.isPresent() && !var4.isPresent() && !var6.isPresent()) {
this.addError(AnyPresentValidator.errorMessage(new String[]{var1, var3, var5}) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateAnyPresent(@Nonnull String[] var1, @Nonnull BuilderObjectHelper<?>[] var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyPresentValidator.withAttributes(var1));
} else if (!AnyPresentValidator.test(var2)) {
this.addError(AnyPresentValidator.errorMessage(var1) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateOnePresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OnePresentValidator.withAttributes(var1, var3));
} else if (!OnePresentValidator.test(var2, var4)) {
this.addError(OnePresentValidator.errorMessage(new String[]{var1, var3}, new BuilderObjectHelper[]{var2, var4}) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateOnePresent(
String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4, String var5, @Nonnull BuilderObjectHelper<?> var6
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OnePresentValidator.withAttributes(var1, var3, var5));
} else if (!OnePresentValidator.test(var2, var4, var6)) {
this.addError(
OnePresentValidator.errorMessage(new String[]{var1, var3, var5}, new BuilderObjectHelper[]{var2, var4, var6}) + " in " + this.getBreadCrumbs()
);
}
}
class="kw">protected void validateOnePresent(@Nonnull String[] var1, @Nonnull BuilderObjectHelper<?>[] var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OnePresentValidator.withAttributes(var1));
} else if (!OnePresentValidator.test(var2)) {
this.addError(OnePresentValidator.errorMessage(var1, var2) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateOnePresent(@Nonnull String[] var1, @Nonnull boolean[] var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OnePresentValidator.withAttributes(var1));
} else if (!OnePresentValidator.test(var2)) {
this.addError(OnePresentValidator.errorMessage(var1, var2) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateOneOrNonePresent(String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OneOrNonePresentValidator.withAttributes(var1, var3));
} else if (!OneOrNonePresentValidator.test(var2, var4)) {
this.addError(OneOrNonePresentValidator.errorMessage(new String[]{var1, var3}, new BuilderObjectHelper[]{var2, var4}) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateOneOrNonePresent(
String var1, @Nonnull BuilderObjectHelper<?> var2, String var3, @Nonnull BuilderObjectHelper<?> var4, String var5, @Nonnull BuilderObjectHelper<?> var6
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OneOrNonePresentValidator.withAttributes(var1, var3, var5));
} else if (!OneOrNonePresentValidator.test(var2, var4, var6)) {
this.addError(
OneOrNonePresentValidator.errorMessage(new String[]{var1, var3, var5}, new BuilderObjectHelper[]{var2, var4, var6})
+ " in "
+ this.getBreadCrumbs()
);
}
}
class="kw">protected void validateOneOrNonePresent(@Nonnull String[] var1, @Nonnull BuilderObjectHelper<?>[] var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OneOrNonePresentValidator.withAttributes(var1));
} else if (!OneOrNonePresentValidator.test(var2)) {
this.addError(OneOrNonePresentValidator.errorMessage(var1, var2) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateOneOrNonePresent(@Nonnull String[] var1, @Nonnull boolean[] var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(OneOrNonePresentValidator.withAttributes(var1));
} else if (!OneOrNonePresentValidator.test(var2)) {
this.addError(OneOrNonePresentValidator.errorMessage(var1, var2) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateExistsIfParameterSet(String var1, boolean var2, String var3, @Nonnull BuilderObjectHelper<?> var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ExistsIfParameterSetValidator.withAttributes(var1, var3));
} else if (var2) {
if (!var4.isPresent()) {
this.addError(ExistsIfParameterSetValidator.errorMessage(var1, var3) + " in " + this.getBreadCrumbs());
}
}
}
class="kw">protected <E class="kw">extends Enum<E> & Supplier<String>> void validateStringIfEnumIs(
@Nonnull StringHolder var1, @Nonnull StringValidator var2, @Nonnull EnumHolder<E> var3, E var4
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ValidateIfEnumIsValidator.withAttributes(var1.getName(), var2, var3.getName(), var4));
} else if (var3.isStatic()) {
this.validateStringIfEnumIs(var1, var2, var3.getName(), var3.get(null), var4);
} else {
var1.addRelationValidator(
(var5, var6) -> {
Enum var7 = var3.rawGet(var5);
if (var7 == var4) {
if (!var2.test(var6)) {
throw new IllegalStateException(
var2.errorMessage(var6, var1.getName()) + " if " + var3.getName() + " is " + var4 + " in " + this.getBreadCrumbs()
);
}
}
}
);
var3.addEnumRelationValidator(
(var5, var6) -> {
if (var6 == var4) {
String var7 = var1.rawGet(var5);
if (!var2.test(var7)) {
throw new IllegalStateException(
var2.errorMessage(var7, var1.getName()) + " if " + var3.getName() + " is " + var4 + " in " + this.getBreadCrumbs()
);
}
}
}
);
}
}
class="kw">protected <E class="kw">extends Enum<E> & Supplier<String>> void validateStringIfEnumIs(
@Nonnull StringHolder var1, @Nonnull StringValidator var2, String var3, E var4, E var5
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ValidateIfEnumIsValidator.withAttributes(var1.getName(), var2, var3, var4));
} else if (var4 == var5) {
if (var1.isStatic()) {
String var6 = var1.get(null);
if (!var2.test(var6)) {
this.addError(var2.errorMessage(var6, var1.getName()) + " if " + var3 + " is " + var4 + " in " + this.getBreadCrumbs());
}
} else {
var1.addRelationValidator((var5x, var6x) -> {
if (!var2.test(var6x)) {
throw new IllegalStateException(var2.errorMessage(var6x, var1.getName()) + " if " + var3 + " is " + var4 + " in " + this.getBreadCrumbs());
}
});
}
}
}
class="kw">protected <E class="kw">extends Enum<E> & Supplier<String>> void validateAssetIfEnumIs(
@Nonnull AssetHolder var1, @Nonnull AssetValidator var2, @Nonnull EnumHolder<E> var3, E var4
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ValidateAssetIfEnumIsValidator.withAttributes(var1.getName(), var2, var3.getName(), var4));
} else if (var3.isStatic()) {
this.validateAssetIfEnumIs(var1, var2, var3.getName(), var3.get(null), var4);
} else {
var1.addRelationValidator(
(var5, var6) -> {
Enum var7 = var3.rawGet(var5);
if (var7 == var4) {
if (!var2.test(var6)) {
throw new IllegalStateException(
var2.errorMessage(var6, var1.getName()) + " if " + var3.getName() + " is " + var4 + " in " + this.getBreadCrumbs()
);
}
}
}
);
var3.addEnumRelationValidator(
(var5, var6) -> {
if (var6 == var4) {
String var7 = var1.rawGet(var5);
if (!var2.test(var7)) {
throw new IllegalStateException(
var2.errorMessage(var7, var1.getName()) + " if " + var3.getName() + " is " + var4 + " in " + this.getBreadCrumbs()
);
}
}
}
);
}
}
class="kw">protected <E class="kw">extends Enum<E> & Supplier<String>> void validateAssetIfEnumIs(
@Nonnull AssetHolder var1, @Nonnull AssetValidator var2, String var3, E var4, E var5
) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ValidateAssetIfEnumIsValidator.withAttributes(var1.getName(), var2, var3, var4));
} else if (var4 == var5) {
if (var1.isStatic()) {
String var6 = var1.get(null);
if (!var2.test(var6)) {
throw new IllegalStateException(var2.errorMessage(var6, var1.getName()) + " if " + var3 + " is " + var4 + " in " + this.getBreadCrumbs());
}
} else {
var1.addRelationValidator((var5x, var6x) -> {
if (!var2.test(var6x)) {
throw new IllegalStateException(var2.errorMessage(var6x, var1.getName()) + " if " + var3 + " is " + var4 + " in " + this.getBreadCrumbs());
}
});
}
}
}
class="kw">protected void validateAny(String var1, boolean var2, String var3, boolean var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyBooleanValidator.withAttributes(var1, var3));
} else if (!var2 && !var4) {
this.addError(AnyBooleanValidator.errorMessage(new String[]{var1, var3}) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateAny(@Nonnull BooleanHolder var1, @Nonnull BooleanHolder var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyBooleanValidator.withAttributes(var1.getName(), var2.getName()));
} else if (var1.isStatic()) {
boolean var4 = var1.get(null);
if (!var4) {
this.validateAny(var2, var1.getName(), var4);
}
} else if (var2.isStatic()) {
boolean var3 = var2.get(null);
if (!var3) {
this.validateAny(var1, var2.getName(), var3);
}
} else {
var1.addRelationValidator((var3x, var4x) -> {
boolean var5 = var2.rawGet(var3x);
if (!var4x && !var5) {
throw new IllegalStateException(AnyBooleanValidator.errorMessage(new String[]{var1.getName(), var2.getName()}) + " in " + this.getBreadCrumbs());
}
});
var2.addRelationValidator((var3x, var4x) -> {
boolean var5 = var1.rawGet(var3x);
if (!var5 && !var4x) {
throw new IllegalStateException(AnyBooleanValidator.errorMessage(new String[]{var1.getName(), var2.getName()}) + " in " + this.getBreadCrumbs());
}
});
}
}
class="kw">protected void validateAny(@Nonnull BooleanHolder var1, String var2, boolean var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyBooleanValidator.withAttributes(var1.getName(), var2));
} else if (!var3) {
if (var1.isStatic()) {
if (var1.get(null)) {
class="kw">return;
}
this.addError(AnyBooleanValidator.errorMessage(new String[]{var1.getName(), var2}) + " in " + this.getBreadCrumbs());
}
var1.addRelationValidator((var3x, var4) -> {
if (!var4) {
throw new IllegalStateException(AnyBooleanValidator.errorMessage(new String[]{var1.getName(), var2}) + " in " + this.getBreadCrumbs());
}
});
}
}
class="kw">protected void validateAny(String var1, boolean var2, String var3, boolean var4, String var5, boolean var6) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyBooleanValidator.withAttributes(new String[]{var1, var3, var5}));
} else if (!var2 && !var4 && !var6) {
this.addError(AnyBooleanValidator.errorMessage(new String[]{var1, var3, var5}) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateAny(@Nonnull String[] var1, @Nonnull boolean[] var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AnyBooleanValidator.withAttributes(var1));
} else if (!AnyBooleanValidator.test(var2)) {
this.addError(AnyBooleanValidator.errorMessage(var1) + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void validateAtMostOne(@Nonnull BooleanHolder var1, @Nonnull BooleanHolder var2) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AtMostOneBooleanValidator.withAttributes(var1.getName(), var2.getName()));
} else if (var1.isStatic()) {
boolean var4 = var1.get(null);
if (var4) {
this.validateAtMostOne(var2, var1.getName(), var4);
}
} else if (var2.isStatic()) {
boolean var3 = var2.get(null);
if (var3) {
this.validateAtMostOne(var1, var2.getName(), var3);
}
} else {
var1.addRelationValidator(
(var3x, var4x) -> {
boolean var5 = var2.rawGet(var3x);
if (var4x && var5) {
throw new IllegalStateException(
AtMostOneBooleanValidator.errorMessage(new String[]{var1.getName(), var2.getName()}) + " in " + this.getBreadCrumbs()
);
}
}
);
var2.addRelationValidator(
(var3x, var4x) -> {
boolean var5 = var1.rawGet(var3x);
if (var5 && var4x) {
throw new IllegalStateException(
AtMostOneBooleanValidator.errorMessage(new String[]{var1.getName(), var2.getName()}) + " in " + this.getBreadCrumbs()
);
}
}
);
}
}
class="kw">protected void validateAtMostOne(@Nonnull BooleanHolder var1, String var2, boolean var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(AtMostOneBooleanValidator.withAttributes(var1.getName(), var2));
} else if (var3) {
if (var1.isStatic() && var1.get(null)) {
this.addError(AtMostOneBooleanValidator.errorMessage(new String[]{var1.getName(), var2}) + " in " + this.getBreadCrumbs());
}
var1.addRelationValidator((var3x, var4) -> {
if (var4) {
throw new IllegalStateException(AtMostOneBooleanValidator.errorMessage(new String[]{var1.getName(), var2}) + " in " + this.getBreadCrumbs());
}
});
}
}
class="kw">protected void validateBooleanImplicationAnyAntecedent(
String[] var1, @Nonnull boolean[] var2, boolean var3, String[] var4, @Nonnull boolean[] var5, boolean var6
) {
this.validateBooleanImplication(var1, var2, var3, var4, var5, var6, true);
}
class="kw">protected void validateBooleanImplicationAllAntecedents(
String[] var1, @Nonnull boolean[] var2, boolean var3, String[] var4, @Nonnull boolean[] var5, boolean var6
) {
this.validateBooleanImplication(var1, var2, var3, var4, var5, var6, false);
}
@Nonnull
class="kw">protected ToIntFunction<BuilderSupport> requireStringValueStoreParameter(String var1, ValueStoreValidator.UseType var2) {
if (this.valueStoreUsages == null) {
this.valueStoreUsages = new ObjectArrayList();
}
this.valueStoreUsages.add(new ValueStoreValidator.ValueUsage(var1, ValueStore.Type.String, var2, this));
class="kw">return var1x -> var1x.getValueStoreStringSlot(var1);
}
@Nonnull
class="kw">protected ToIntFunction<BuilderSupport> requireIntValueStoreParameter(String var1, ValueStoreValidator.UseType var2) {
if (this.valueStoreUsages == null) {
this.valueStoreUsages = new ObjectArrayList();
}
this.valueStoreUsages.add(new ValueStoreValidator.ValueUsage(var1, ValueStore.Type.Int, var2, this));
class="kw">return var1x -> var1x.getValueStoreIntSlot(var1);
}
@Nonnull
class="kw">protected ToIntFunction<BuilderSupport> requireDoubleValueStoreParameter(String var1, ValueStoreValidator.UseType var2) {
if (this.valueStoreUsages == null) {
this.valueStoreUsages = new ObjectArrayList();
}
this.valueStoreUsages.add(new ValueStoreValidator.ValueUsage(var1, ValueStore.Type.Double, var2, this));
class="kw">return var1x -> var1x.getValueStoreDoubleSlot(var1);
}
class="kw">private void validateBooleanImplication(
String[] var1, @Nonnull boolean[] var2, boolean var3, String[] var4, @Nonnull boolean[] var5, boolean var6, boolean var7
) {
BooleanImplicationValidator var8 = BooleanImplicationValidator.withAttributes(var1, var3, var4, var6, var7);
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(var8);
} else if (!var8.test(var2, var5)) {
this.addError(var8.errorMessage() + " in " + this.getBreadCrumbs());
}
}
class="kw">protected void requirePreceding(@Nonnull Class<?> var1, @Nonnull BuilderDescriptorState var2, @Nonnull String var3, @Nullable String var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(new RequiresPrecedingValidator(var1, var2, var3, var4));
} else {
this.requiredPrecedingClass = var1;
}
}
class="kw">protected void providePreceding(@Nonnull Class<?> var1) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addProviderEvaluator(new PrecedingProviderEvaluator(var1));
} else {
this.providedPrecedingClass = var1;
}
}
class="kw">protected void provideFeature(@Nonnull Feature var1) {
this.provideFeatureOrParameters(new UnconditionalFeatureProviderEvaluator(var1));
}
class="kw">protected void overrideParameters(@Nonnull String[] var1, @Nonnull ParameterType... var2) {
if (this.isCreatingDescriptor() || !this.evaluatorHelper.isDisallowParameterProviders()) {
this.provideFeatureOrParameters(new UnconditionalParameterProviderEvaluator(var1, var2));
}
}
class="kw">protected void preventParameterOverride() {
if (!this.isCreatingDescriptor()) {
this.evaluatorHelper.disallowParameterProviders();
}
}
class="kw">private void provideFeatureOrParameters(ProviderEvaluator var1) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addProviderEvaluator(var1);
} else {
this.evaluatorHelper.add(var1);
}
}
class="kw">protected void provideFeature(@Nonnull EnumSet<Feature> var1) {
var1.forEach(this::provideFeature);
}
class="kw">protected void requireFeature(@Nonnull EnumSet<Feature> var1) {
this.requireFeature(RequiresOneOfFeaturesValidator.withFeatures(var1));
}
class="kw">protected <E class="kw">extends Enum<E> & Supplier<String>> void requireFeatureIf(String var1, E var2, E var3, @Nonnull EnumSet<Feature> var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(RequiresFeatureIfEnumValidator.withAttributes(var1, var2, var4));
} else if (var2 == var3) {
if (this.evaluatorHelper.belongsToFeatureRequiringComponent()) {
this.evaluatorHelper.addComponentRequirementValidator((var5x, var6) -> this.validateRequiresFeatureIf(var1, var2, var3, var4, var5x));
} else if (!RequiresFeatureIfEnumValidator.staticValidate(this.evaluatorHelper, var4, var2, var3)) {
if (this.evaluatorHelper.requiresProviderReferenceEvaluation()) {
this.evaluatorHelper.addProviderReferenceValidator((var5x, var6) -> {
this.resolveFeatureProviderReverences(var5x);
this.validateRequiresFeatureIf(var1, var2, var3, var4, this.evaluatorHelper);
});
} else {
String[] var5 = getDescriptionArray(var4);
this.addError(String.format("If %s is %s, one of %s must be provided at %s", var1, var2, String.join(", ", var5), this.getBreadCrumbs()));
}
}
}
}
class="kw">protected void requireFeatureIf(String var1, boolean var2, boolean var3, @Nonnull EnumSet<Feature> var4) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(RequiresFeatureIfValidator.withAttributes(var1, var2, var4));
} else if (this.evaluatorHelper.belongsToFeatureRequiringComponent()) {
this.evaluatorHelper.addComponentRequirementValidator((var5x, var6) -> this.validateRequiresFeatureIf(var1, var2, var3, var4, var5x));
} else if (!RequiresFeatureIfValidator.staticValidate(this.evaluatorHelper, var4, var2, var3)) {
if (this.evaluatorHelper.requiresProviderReferenceEvaluation()) {
this.evaluatorHelper.addProviderReferenceValidator((var5x, var6) -> {
this.resolveFeatureProviderReverences(var5x);
this.validateRequiresFeatureIf(var1, var2, var3, var4, this.evaluatorHelper);
});
} else {
String[] var5 = getDescriptionArray(var4);
this.addError(
String.format("If %s is %s, one of %s must be provided at %s", var1, var2 ? "set" : "not set", String.join(", ", var5), this.getBreadCrumbs())
);
}
}
}
class="kw">protected void requireFeatureIf(@Nonnull BooleanHolder var1, boolean var2, @Nonnull EnumSet<Feature> var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(RequiresFeatureIfValidator.withAttributes(var1.getName(), var2, var3));
} else if (this.evaluatorHelper.belongsToFeatureRequiringComponent()) {
this.evaluatorHelper
.addComponentRequirementValidator((var4, var5) -> this.validateRequiresFeatureIf(var1.getName(), var2, var1.get(var5), var3, var4));
} else if (!var1.isStatic() || !RequiresFeatureIfValidator.staticValidate(this.evaluatorHelper, var3, var2, var1.get(null))) {
if (this.evaluatorHelper.requiresProviderReferenceEvaluation()) {
this.evaluatorHelper.addProviderReferenceValidator((var4, var5) -> {
this.resolveFeatureProviderReverences(var4);
this.validateRequiresFeatureIf(var1.getName(), var2, var1.rawGet(var5), var3, this.evaluatorHelper);
});
} else {
var1.addRelationValidator((var4, var5) -> this.validateRequiresFeatureIf(var1.getName(), var2, var5, var3, this.evaluatorHelper));
}
}
}
class="kw">private boolean hasOverriddenParameter(String var1, ParameterType var2, @Nonnull FeatureEvaluatorHelper var3) {
for (ProviderEvaluator var5 : var3.getProviders()) {
if (var5 class="kw">instanceof ParameterProviderEvaluator && ((ParameterProviderEvaluator)var5).hasParameter(var1, var2)) {
class="kw">return true;
}
}
class="kw">return false;
}
class="kw">private void validateOverriddenParameter(String var1, @Nonnull ParameterType var2, @Nonnull FeatureEvaluatorHelper var3) {
if (!this.hasOverriddenParameter(var1, var2, var3)) {
throw new IllegalStateException(
String.format(
"Parameter %s is missing and either not provided by a sensor, or provided with the wrong parameter type (expected %s) in context %s",
var1,
var2.get(),
this.getBreadCrumbs()
)
);
}
}
class="kw">private <E class="kw">extends Enum<E> & Supplier<String>> void validateRequiresFeatureIf(
String var1, E var2, E var3, @Nonnull EnumSet<Feature> var4, @Nonnull FeatureEvaluatorHelper var5
) {
if (!RequiresFeatureIfEnumValidator.staticValidate(var5, var4, var2, var3)) {
String[] var6 = getDescriptionArray(var4);
throw new IllegalStateException(
String.format("If %s is %s, one of %s must be provided at %s", var1, var2, String.join(", ", var6), this.getBreadCrumbs())
);
}
}
class="kw">private void validateRequiresFeatureIf(String var1, boolean var2, boolean var3, @Nonnull EnumSet<Feature> var4, @Nonnull FeatureEvaluatorHelper var5) {
if (!RequiresFeatureIfValidator.staticValidate(var5, var4, var2, var3)) {
String[] var6 = getDescriptionArray(var4);
throw new IllegalStateException(
String.format("If %s is %s, one of %s must be provided at %s", var1, var2 ? "set" : "not set", String.join(", ", var6), this.getBreadCrumbs())
);
}
}
class="kw">private void requireFeature(@Nonnull RequiredFeatureValidator var1) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(var1);
} else if (this.evaluatorHelper.belongsToFeatureRequiringComponent()) {
this.evaluatorHelper.addComponentRequirementValidator((var2, var3) -> {
if (!var1.validate(var2)) {
throw new IllegalStateException(var1.getErrorMessage(this.getBreadCrumbs()));
}
});
} else if (!var1.validate(this.evaluatorHelper)) {
if (this.evaluatorHelper.requiresProviderReferenceEvaluation()) {
this.evaluatorHelper.addProviderReferenceValidator((var2, var3) -> {
this.resolveFeatureProviderReverences(var2);
if (!var1.validate(this.evaluatorHelper)) {
throw new IllegalStateException(var1.getErrorMessage(this.getBreadCrumbs()));
}
});
} else {
this.addError(var1.getErrorMessage(this.getBreadCrumbs()));
}
}
}
@Nonnull
class="kw">public class="kw">static String[] getDescriptionArray(@Nonnull EnumSet<Feature> var0) {
String[] var1 = new String[var0.size()];
Feature[] var2 = var0.toArray(Feature[]::new);
for (int var3 = 0; var3 < var2.length; var3++) {
var1[var3] = var2[var3].get();
}
class="kw">return var1;
}
class="kw">private void resolveFeatureProviderReverences(BuilderManager var1) {
for (ProviderEvaluator var3 : this.evaluatorHelper.getProviders()) {
var3.resolveReferences(var1);
}
}
class="kw">protected void registerStateSensor(String var1, String var2, @Nonnull BiConsumer<Integer, Integer> var3) {
if (!this.isCreatingDescriptor()) {
this.stateHelper.getAndPutSensorIndex(var1, var2, var3);
this.getParent().setCurrentStateName(var1);
}
}
class="kw">protected void registerStateSetter(String var1, String var2, @Nonnull BiConsumer<Integer, Integer> var3) {
if (!this.isCreatingDescriptor()) {
this.stateHelper.getAndPutSetterIndex(var1, var2, var3);
}
}
class="kw">protected void registerStateRequirer(String var1, String var2, @Nonnull BiConsumer<Integer, Integer> var3) {
if (!this.isCreatingDescriptor()) {
this.stateHelper.getAndPutStateRequirerIndex(var1, var2, var3);
}
}
class="kw">protected void validateIsComponent() {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ComponentOnlyValidator.get());
} else {
if (!this.isComponent()) {
this.addError(String.format("Element not valid outside of component at: %s", this.getBreadCrumbs()));
}
}
}
class="kw">protected void requireStateString(
@Nonnull JsonElement var1,
String var2,
boolean var3,
@Nonnull TriConsumer<String, String, Boolean> var4,
BuilderDescriptorState var5,
String var6,
String var7
) {
StateStringValidator var8 = StateStringValidator.get();
this.requireString(var1, var2, var0 -> {}, var8, var5, var6, var7);
if (!this.isCreatingDescriptor()) {
String var9 = var8.hasMainState() ? var8.getMainState() : null;
String var10 = var8.hasSubState() ? var8.getSubState() : null;
if (this.stateHelper.isComponent()) {
if (!var3) {
this.addError(String.format("Components not supported for state setter %s at %s", var10, this.getBreadCrumbs()));
}
if (!this.stateHelper.hasDefaultLocalState()) {
this.addError("Component with local states must define a 'DefaultState' at the top of the file");
}
if (var9 != null) {
this.addError(String.format("Components must not contain references to main states (%s) at %s", var9, this.getBreadCrumbs()));
}
var4.accept(var10, null, false);
} else {
if (var9 == null) {
var9 = this.stateHelper.getCurrentParentState();
}
boolean var11 = false;
if (var10 == null) {
var10 = this.stateHelper.getDefaultSubState();
var11 = true;
}
if (var9 == null) {
this.addError(String.format("Substate %s does not have a specified main state at %s", var10, this.getBreadCrumbs()));
}
var4.accept(var9, var10, var11);
}
}
}
class="kw">protected boolean getExistentStateSet(
@Nonnull JsonElement var1,
String var2,
@Nonnull Consumer<Int2ObjectMap<IntSet>> var3,
@Nonnull StateMappingHelper var4,
BuilderDescriptorState var5,
String var6,
@Nullable String var7
) {
StateStringValidator var8 = StateStringValidator.requireMainState();
if (this.isCreatingSchema()) {
ArraySchema var19 = new ArraySchema();
var19.setItem(new StringSchema());
Schema var20 = BuilderExpressionDynamic.computableSchema(var19);
var20.setTitle(var2);
var20.setDescription(var7 == null ? var6 : var7);
this.builderSchema.getProperties().put(var2, var20);
class="kw">return false;
}
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addAttribute(var2, "StringList", var5, var6, var7).required().validator(var8);
class="kw">return false;
}
try {
JsonElement var9 = this.getOptionalJsonElement(var1, var2);
if (var9 == null) {
var3.accept(null);
class="kw">return false;
}
String[][] var10 = new String[1][1];
this.validateAndSet(this.expectStringArray(var9, null, var2), StringArrayNoEmptyStringsValidator.get(), var1x -> var10[0] = var1x, var2);
String[] var11 = var10[0];
Int2ObjectOpenHashMap var12 = new Int2ObjectOpenHashMap();
for (String var16 : var11) {
if (!var8.test(var16)) {
throw new IllegalStateException(var8.errorMessage(var16));
}
String var17 = var8.hasSubState() ? var8.getSubState() : var4.getDefaultSubState();
var4.getAndPutStateRequirerIndex(
var8.getMainState(), var17, (var1x, var2x) -> ((IntSet)var12.computeIfAbsent(var1x, var0x -> new IntOpenHashSet())).add(var2x)
);
}
var12.trim();
var3.accept(var12);
class="kw">return true;
} catch (Exception var18) {
this.addError(var18);
class="kw">return false;
}
}
class="kw">protected boolean getDefaultSubState(
@Nonnull JsonElement var1, String var2, @Nonnull Consumer<String> var3, StringValidator var4, BuilderDescriptorState var5, String var6, String var7
) {
String[] var8 = new String[1];
boolean var9 = this.getString(var1, var2, var1x -> var8[0] = var1x, "Default", var4, var5, var6, var7);
if (!this.isCreatingDescriptor()) {
this.stateHelper.setDefaultSubState(var8[0]);
}
var3.accept(var8[0]);
class="kw">return var9;
}
class="kw">protected void increaseDepth() {
if (!this.isCreatingDescriptor()) {
this.stateHelper.increaseDepth();
}
}
class="kw">protected void decreaseDepth() {
if (!this.isCreatingDescriptor()) {
this.stateHelper.decreaseDepth();
}
}
class="kw">protected void setNotComponent() {
if (!this.isCreatingDescriptor()) {
this.stateHelper.setNotComponent();
}
}
class="kw">protected boolean isComponent() {
class="kw">return this.isCreatingDescriptor() ? false : this.stateHelper.isComponent();
}
class="kw">protected void requireInstructionType(@Nonnull EnumSet<InstructionType> var1) {
this.requireContext(var1, null);
}
class="kw">protected void requireContext(@Nonnull EnumSet<InstructionType> var1, EnumSet<ComponentContext> var2) {
InstructionContextValidator var3 = InstructionContextValidator.inInstructions(var1, var2);
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(var3);
} else if (this.instructionContextHelper.isComponent()) {
this.instructionContextHelper
.addComponentContextEvaluator(
(var3x, var4x) -> {
boolean var5 = InstructionContextHelper.isInCorrectInstruction(var1, var3x);
boolean var6 = InstructionContextHelper.extraContextMatches(var2, var4x);
if (!var5 || !var6) {
throw new IllegalStateException(
InstructionContextValidator.getErrorMessage(this.getTypeName(), var3x, var5, var4x, var6, this.getBreadCrumbs())
);
}
}
);
} else {
boolean var4 = this.instructionContextHelper.isInCorrectInstruction(var1);
boolean var5 = this.instructionContextHelper.extraContextMatches(var2);
if (!var4 || !var5) {
this.addError(
InstructionContextValidator.getErrorMessage(
this.getTypeName(),
this.instructionContextHelper.getInstructionContext(),
var4,
this.instructionContextHelper.getComponentContext(),
var5,
this.getBreadCrumbs()
)
);
}
}
}
class="kw">protected void requireNotInForEach() {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ForEachContextValidator.notInForEach());
} else {
if (this.instructionContextHelper != null && this.instructionContextHelper.isInForEach()) {
this.addError(ForEachContextValidator.notInForEachError(this.getTypeName(), this.getBreadCrumbs()));
}
}
}
class="kw">protected void requireIsolatedForEach() {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ForEachContextValidator.requiresIsolatedForEach());
} else {
if (this.instructionContextHelper != null && this.instructionContextHelper.isInUnisolatedForEach()) {
this.addError(ForEachContextValidator.requiresIsolatedError(this.getTypeName(), this.getBreadCrumbs()));
}
}
}
class="kw">protected void requireNotInForEachIf(@Nonnull String var1, boolean var2, boolean var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ForEachContextValidator.notInForEachIf(var1, var2));
} else if (var2 == var3) {
if (this.instructionContextHelper != null && this.instructionContextHelper.isInForEach()) {
this.addError(ForEachContextValidator.notInForEachError(this.getTypeName(), this.getBreadCrumbs()));
}
}
}
class="kw">protected void requireIsolatedForEachIf(@Nonnull String var1, boolean var2, boolean var3) {
if (this.isCreatingDescriptor()) {
this.builderDescriptor.addValidator(ForEachContextValidator.requiresIsolatedForEachIf(var1, var2));
} else if (var2 == var3) {
if (this.instructionContextHelper != null && this.instructionContextHelper.isInUnisolatedForEach()) {
this.addError(ForEachContextValidator.requiresIsolatedError(this.getTypeName(), this.getBreadCrumbs()));
}
}
}
@Override
class="kw">public IntSet getDependencies() {
class="kw">return this.builderParameters.getDependencies();
}
@Override
class="kw">public boolean validate(String var1, @Nonnull NPCLoadTimeValidationHelper var2, ExecutionContext var3, Scope var4, @Nonnull List<String> var5) {
boolean var6 = true;
if (this.dynamicHolders != null) {
for (ValueHolder var8 : this.dynamicHolders) {
var6 &= this.validateDynamicHolder(var1, var8, var3, var5);
}
}
ValueStoreValidator var10 = var2.getValueStoreValidator();
if (this.valueStoreUsages != null) {
for (ValueStoreValidator.ValueUsage var9 : this.valueStoreUsages) {
var10.registerValueUsage(var9);
}
}
class="kw">return var6 & this.runLoadTimeValidationHelper(var1, var2, var3, var5);
}
class="kw">protected void runLoadTimeValidationHelper0(String var1, NPCLoadTimeValidationHelper var2, ExecutionContext var3, List<String> var4) {
if (this.requiredPrecedingClass != null && !var2.checkPrecedingProvided(this.requiredPrecedingClass)) {
var4.add(String.format("%s: requires a preceding %s in the same instruction list scope", var1, this.requiredPrecedingClass.getSimpleName()));
}
if (this.providedPrecedingClass != null) {
var2.registerPrecedingProvider(this.providedPrecedingClass);
}
}
class="kw">private boolean runLoadTimeValidationHelper(String var1, NPCLoadTimeValidationHelper var2, ExecutionContext var3, @Nonnull List<String> var4) {
try {
this.runLoadTimeValidationHelper0(var1, var2, var3, var4);
class="kw">return true;
} catch (Exception var6) {
var4.add(String.format("%s: %s", var1, var6.getMessage()));
class="kw">return false;
}
}
class="kw">private boolean validateDynamicHolder(String var1, @Nonnull ValueHolder var2, ExecutionContext var3, @Nonnull List<String> var4) {
try {
var2.validate(var3);
class="kw">return true;
} catch (Exception var6) {
var4.add(String.format("%s: %s", var1, var6.getMessage()));
class="kw">return false;
}
}
class="kw">private void trackDynamicHolder(@Nonnull ValueHolder var1) {
if (!var1.isStatic()) {
if (this.dynamicHolders == null) {
this.dynamicHolders = new ArrayList<>();
}
this.dynamicHolders.add(var1);
}
}
class="kw">public class="kw">static String readString(@Nonnull JsonObject var0, String var1) {
class="kw">return expectStringElement(expectKey(var0, var1), var1);
}
class="kw">public class="kw">static String readString(@Nonnull JsonObject var0, String var1, String var2) {
JsonElement var3 = var0.get(var1);
class="kw">return var3 == null ? var2 : expectStringElement(var3, var1);
}
class="kw">public class="kw">static boolean readBoolean(@Nonnull JsonObject var0, String var1, boolean var2) {
JsonElement var3 = var0.get(var1);
class="kw">return var3 == null ? var2 : expectBooleanElement(var3, var1);
}
@Nonnull
class="kw">public class="kw">static JsonElement expectKey(@Nonnull JsonObject var0, String var1) {
JsonElement var2 = var0.get(var1);
if (var2 == null) {
throw new IllegalStateException("'" + var1 + "' missing in JSON object");
} else {
class="kw">return var2;
}
}
class="kw">public class="kw">static String expectStringElement(@Nonnull JsonElement var0, String var1) {
if (var0.isJsonPrimitive() && var0.getAsJsonPrimitive().isString()) {
class="kw">return var0.getAsJsonPrimitive().getAsString();
} else {
throw new IllegalStateException("'" + var1 + "' must be a string");
}
}
class="kw">public class="kw">static boolean expectBooleanElement(@Nonnull JsonElement var0, String var1) {
if (var0.isJsonPrimitive() && var0.getAsJsonPrimitive().isBoolean()) {
class="kw">return var0.getAsJsonPrimitive().getAsBoolean();
} else {
throw new IllegalStateException("'" + var1 + "' must be a boolean value");
}
}
class="kw">public class="kw">static JsonObject expectObject(@Nonnull JsonElement var0) {
if (!var0.isJsonObject()) {
throw new IllegalStateException("Expected a JSON object");
} else {
class="kw">return var0.getAsJsonObject();
}
}
class="kw">public class="kw">static JsonObject expectObject(@Nonnull JsonElement var0, String var1) {
if (!var0.isJsonObject()) {
throw new IllegalStateException("'" + var1 + "' must be an object: " + var0);
} else {
class="kw">return var0.getAsJsonObject();
}
}
class="kw">public class="kw">static String[] readStringArray(@Nonnull JsonObject var0, String var1, @Nonnull StringValidator var2, String[] var3) {
JsonElement var4 = var0.get(var1);
class="kw">return var4 == null ? var3 : readStringArray(var4, var1, var2);
}
@Nonnull
class="kw">public class="kw">static String[] readStringArray(@Nonnull JsonElement var0, String var1, @Nonnull StringValidator var2) {
if (!var0.isJsonArray()) {
throw new IllegalStateException(var1 + " must be an array: " + var0);
}
JsonArray var3 = var0.getAsJsonArray();
String[] var4 = new String[var3.size()];
for (int var5 = 0; var5 < var3.size(); var5++) {
String var6 = expectStringElement(var3.get(var5), String.format("%s element at position %s", var1, var5));
if (!var2.test(var6)) {
throw new IllegalStateException(var2.errorMessage(var6));
}
var4[var5] = var6;
}
class="kw">return var4;
}
class="kw">protected void addError(String var1) {
this.readErrors.add(this.fileName + ": " + var1);
}
class="kw">protected void addError(@Nonnull Exception var1) {
this.addError(var1.getMessage());
}
}