OnePresentValidator class

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

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

extends: Validator

Поля (4)

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

Методы (12)

МодификаторыВозвратСигнатура
static int countPresentint countPresent(int var0, @Nonnull IntPredicate var1)
static int countPresentint countPresent(@Nonnull BuilderObjectHelper<?> var0)
static int countPresentint countPresent(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1)
static int countPresentint countPresent(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1, @Nonnull BuilderObjectHelper<?> var2)
abstract return errorMessagereturn errorMessage(var0, var1x -> var1[var1x])
for for(int var3 = 0; var3 < var0; var3++)
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 OnePresentValidator class="kw">extends Validator {
   @Nonnull
   class="kw">private class="kw">final String[] attributes;

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

   class="kw">public class="kw">static int countPresent(int var0, @Nonnull IntPredicate var1) {
      int var2 = 0;

      for (int var3 = 0; var3 < var0; var3++) {
         if (var1.test(var3)) {
            var2++;
         }
      }

      class="kw">return var2;
   }

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

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

   class="kw">public class="kw">static int countPresent(@Nonnull BuilderObjectHelper<?> var0) {
      class="kw">return var0.isPresent() ? 1 : 0;
   }

   class="kw">public class="kw">static int countPresent(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1) {
      class="kw">return countPresent(var0) + countPresent(var1);
   }

   class="kw">public class="kw">static int countPresent(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1, @Nonnull BuilderObjectHelper<?> var2) {
      class="kw">return countPresent(var0) + countPresent(var1, var2);
   }

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

   class="kw">public class="kw">static boolean test(@Nonnull BuilderObjectHelper<?> var0, @Nonnull BuilderObjectHelper<?> var1, @Nonnull BuilderObjectHelper<?> var2) {
      class="kw">return 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 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 OnePresentValidator withAttributes(String... var0) {
      class="kw">return new OnePresentValidator(var0);
   }
}