StateStringValidator class
Пакет: com.hypixel.hytale.server.npc.asset.builder.validators
Файл: com/hypixel/hytale/server/npc/asset/builder/validators/StateStringValidator.java
extends: StringValidator
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
private |
String[] |
stateParts |
|
String |
var1 |
|
String |
var2 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
String |
getMainStateString getMainState() |
public |
String |
getSubStateString getSubState() |
public |
boolean |
hasMainStateboolean hasMainState() |
public |
boolean |
hasSubStateboolean hasSubState() |
|
|
if if(var1 == null) |
|
|
if if(this.stateParts.length > 2) |
|
|
if if(this.stateParts.length <= 0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder.validators;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class StateStringValidator class="kw">extends StringValidator {
class="kw">private String[] stateParts;
class="kw">private class="kw">final boolean allowEmptyMain;
class="kw">private class="kw">final boolean mainStateOnly;
class="kw">private class="kw">final boolean allowNull;
class="kw">private StateStringValidator(boolean var1, boolean var2, boolean var3) {
this.allowEmptyMain = var1;
this.mainStateOnly = var2;
this.allowNull = var3;
}
@Override
class="kw">public boolean test(@Nullable String var1) {
if (var1 == null) {
class="kw">return this.allowNull;
} else if (var1.isEmpty()) {
class="kw">return false;
} else {
this.stateParts = var1.split("\\.", 0);
if (this.stateParts.length > 2) {
class="kw">return false;
} else if (this.stateParts.length > 1 && this.mainStateOnly) {
class="kw">return false;
} else if (this.stateParts.length > 1 && this.allowEmptyMain) {
String var2 = this.stateParts[1];
class="kw">return var2 != null && !var2.isEmpty();
} else {
class="kw">return this.stateParts.length == 0 ? false : this.stateParts[0] != null && !this.stateParts[0].isEmpty();
}
}
}
@Nonnull
@Override
class="kw">public String errorMessage(String var1) {
class="kw">return String.format(
"%s is not a valid format for a state string. May only contain one . separator and must not be empty.%s%s",
var1,
this.allowEmptyMain ? "" : " Main state must not be empty.",
this.mainStateOnly ? " Sub state must not be set." : ""
);
}
@Nonnull
@Override
class="kw">public String errorMessage(String var1, String var2) {
class="kw">return String.format(
"Parameter %s, %s is not a valid format for a state string. May only contain one . separator and must not be empty.%s%s",
var2,
var1,
this.allowEmptyMain ? "" : " Main state must not be empty.",
this.mainStateOnly ? " Sub state must not be set." : ""
);
}
class="kw">public boolean hasMainState() {
if (this.stateParts.length <= 0) {
class="kw">return false;
}
String var1 = this.stateParts[0];
class="kw">return var1 != null && !var1.isEmpty();
}
class="kw">public boolean hasSubState() {
class="kw">return this.stateParts.length > 1 && this.stateParts[1] != null && !this.stateParts[1].isEmpty();
}
class="kw">public String getMainState() {
class="kw">return this.stateParts[0];
}
class="kw">public String getSubState() {
class="kw">return this.stateParts[1];
}
@Nonnull
class="kw">public class="kw">static StateStringValidator get() {
class="kw">return new StateStringValidator(true, false, false);
}
@Nonnull
class="kw">public class="kw">static StateStringValidator mainStateOnly() {
class="kw">return new StateStringValidator(false, true, false);
}
@Nonnull
class="kw">public class="kw">static StateStringValidator requireMainState() {
class="kw">return new StateStringValidator(false, false, false);
}
@Nonnull
class="kw">public class="kw">static StateStringValidator requireMainStateOrNull() {
class="kw">return new StateStringValidator(false, false, true);
}
}