ComparisonType enum

Пакет: com.hypixel.hytale.common.semver

Файл: com/hypixel/hytale/common/semver/SemverComparator.java

Поля (2)

МодификаторыТипИмя
private final String prefix
private final BiPredicate<Semver, Semver> satisfies

Методы (3)

МодификаторыВозвратСигнатура
public String getPrefixpublic String getPrefix()
public static boolean hasAPrefixpublic static boolean hasAPrefix(@Nonnull String var0)
public boolean satisfiespublic boolean satisfies(Semver var1, Semver var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.common.semver;

class="kw">import java.util.Objects;
class="kw">import java.util.function.BiPredicate;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SemverComparator class="kw">implements SemverSatisfies {
   class="kw">private class="kw">final SemverComparator.ComparisonType comparisonType;
   class="kw">private class="kw">final Semver compareTo;

   class="kw">public SemverComparator(SemverComparator.ComparisonType var1, Semver var2) {
      this.comparisonType = var1;
      this.compareTo = var2;
   }

   @Override
   class="kw">public boolean satisfies(Semver var1) {
      class="kw">return this.comparisonType.satisfies(this.compareTo, var1);
   }

   @Nonnull
   class="kw">public Semver getCompareTo() {
      class="kw">return this.compareTo;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return this.comparisonType.getPrefix() + this.compareTo;
   }

   @Nonnull
   class="kw">public class="kw">static SemverComparator fromString(String var0) {
      Objects.requireNonNull(var0, "Comparator string can't be null!");
      String var1 = var0;
      var0 = var0.trim();
      if (var0.isEmpty()) {
         throw new IllegalArgumentException("Comparator string is empty (input: '" + var1 + "')");
      }

      for (SemverComparator.ComparisonType var5 : SemverComparator.ComparisonType.values()) {
         if (var0.startsWith(var5.getPrefix())) {
            String var6 = var0.substring(var5.getPrefix().length()).trim();
            if (var6.isEmpty()) {
               throw new IllegalArgumentException("Comparator '" + var5.getPrefix() + "' has no version after the operator (input: '" + var1 + "')");
            }

            Semver var7 = Semver.fromString(var6);
            class="kw">return new SemverComparator(var5, var7);
         }
      }

      throw new IllegalArgumentException("Invalid comparator type! " + var0);
   }

   class="kw">public enum ComparisonType {
      GTE(">=", (var0, var1) -> var0.compareTo(var1) <= 0),
      GT(">", (var0, var1) -> var0.compareTo(var1) < 0),
      LTE("<=", (var0, var1) -> var0.compareTo(var1) >= 0),
      LT("<", (var0, var1) -> var0.compareTo(var1) > 0),
      EQUAL("=", (var0, var1) -> var0.compareTo(var1) == 0);

      class="kw">private class="kw">final String prefix;
      class="kw">private class="kw">final BiPredicate<Semver, Semver> satisfies;

      ComparisonType(String nullxx, BiPredicate<Semver, Semver> nullxxx) {
         this.prefix = nullxx;
         this.satisfies = nullxxx;
      }

      class="kw">public String getPrefix() {
         class="kw">return this.prefix;
      }

      class="kw">public boolean satisfies(Semver var1, Semver var2) {
         class="kw">return this.satisfies.test(var1, var2);
      }

      class="kw">public class="kw">static boolean hasAPrefix(@Nonnull String var0) {
         for (SemverComparator.ComparisonType var4 : values()) {
            if (var0.startsWith(var4.prefix)) {
               class="kw">return true;
            }
         }

         class="kw">return false;
      }
   }
}