OneOrNonePresentValidator class

Пакет: com.hypixel.hytale.server.npc.asset.builder.validators

Файл: com/hypixel/hytale/server/npc/asset/builder/validators/OneOrNonePresentValidator.java

extends: Validator

Поля (3)

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

Методы (7)

МодификаторыВозвратСигнатура
abstract return errorMessagereturn errorMessage(var0, var1x -> var1[var1x])
for for(int var4 = 0; var4 < var0.length; var4++)
if if(var4 == var0.length - 1)
static boolean testboolean test(@Nonnull BuilderObjectHelper<?>[] var0)
static boolean testboolean test(@Nonnull boolean[] var0)
static boolean testboolean test(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1)
static boolean testboolean test(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1, @Nonnull BuilderObjectHelper<?> var2)

Исходный код

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

class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderObjectHelper;
class="kw">import java.util.Objects;
class="kw">import java.util.function.IntPredicate;
class="kw">import javax.annotation.Nonnull;

class="kw">public class OneOrNonePresentValidator class="kw">extends Validator {
   @Nonnull
   class="kw">private class="kw">final String[] attributes;

   class="kw">private OneOrNonePresentValidator(String... var1) {
      this.attributes = Objects.requireNonNull(var1, "Attributes in OneOrNonePresentValidator must not be null");
   }

   class="kw">public class="kw">static boolean test(@Nonnull BuilderObjectHelper<?>[] var0) {
      class="kw">return OnePresentValidator.countPresent(var0.length, var1 -> var0[var1].isPresent()) <= 1;
   }

   class="kw">public class="kw">static boolean test(@Nonnull boolean[] var0) {
      class="kw">return OnePresentValidator.countPresent(var0.length, var1 -> var0[var1]) <= 1;
   }

   class="kw">public class="kw">static boolean test(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1) {
      class="kw">return OnePresentValidator.countPresent(var0, var1) <= 1;
   }

   class="kw">public class="kw">static boolean test(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1, @Nonnull BuilderObjectHelper<?> var2) {
      class="kw">return OnePresentValidator.countPresent(var0, var1, var2) <= 1;
   }

   @Nonnull
   class="kw">public class="kw">static String errorMessage(@Nonnull String[] var0, BuilderObjectHelper<?>[] var1) {
      class="kw">return errorMessage(var0, var1x -> var1[var1x].isPresent());
   }

   @Nonnull
   class="kw">public class="kw">static String errorMessage(@Nonnull String[] var0, boolean[] var1) {
      class="kw">return errorMessage(var0, var1x -> var1[var1x]);
   }

   @Nonnull
   class="kw">public class="kw">static String errorMessage(@Nonnull String[] var0, @Nonnull IntPredicate var1) {
      StringBuilder var2 = new StringBuilder("Exactly one or none of ");
      String var3 = ", ";

      for (int var4 = 0; var4 < var0.length; var4++) {
         if (var4 == var0.length - 1) {
            var3 = "";
         }

         var2.append(String.format("'%s'%s%s", var0[var4], var1.test(var4) ? "(Present)" : "", var3));
      }

      class="kw">return var2 + " must be present";
   }

   @Nonnull
   class="kw">public class="kw">static OneOrNonePresentValidator withAttributes(String... var0) {
      class="kw">return new OneOrNonePresentValidator(var0);
   }
}