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