SemverComparator class
Пакет: com.hypixel.hytale.common.semver
Файл: com/hypixel/hytale/common/semver/SemverComparator.java
implements: SemverSatisfies
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
SemverComparator.ComparisonType |
comparisonType |
|
private final String |
prefix |
|
private final BiPredicate<Semver, Semver> |
satisfies |
|
|
var0 |
|
String |
var1 |
|
String |
var6 |
|
Semver |
var7 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
ComparisonType ComparisonType(String nullxx, BiPredicate<Semver, Semver> nullxxx) |
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Invalid comparator type! " + var0) |
|
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;
}
}
}