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