Simplify ArgumentUtils.ofEnum
Dieser Commit ist enthalten in:
Ursprung
215db51837
Commit
28f1802a35
@ -71,13 +71,9 @@ public class ArgumentUtils {
|
||||
return new Argument<>(Double::parseDouble, predicate, tabCompletes(Arrays.stream(tabValues).boxed(), predicate));
|
||||
}
|
||||
|
||||
public static <T extends Enum<?>> Argument<T> ofEnum(Class<T> enumClass) {
|
||||
T[] enumValues = enumClass.getEnumConstants();
|
||||
String[] strings = Arrays.stream(enumValues).map(Enum::name).toArray(String[]::new);
|
||||
return new Argument<>((s, sender) -> {
|
||||
for (T enumValue : enumValues) if (enumValue.name().startsWith(s)) return enumValue;
|
||||
return null;
|
||||
}, Objects::nonNull, s -> strings);
|
||||
public static <T extends Enum<T>> Argument<T> ofEnum(Class<T> enumClass) {
|
||||
String[] strings = Arrays.stream(enumClass.getEnumConstants()).map(Enum::name).toArray(String[]::new);
|
||||
return new Argument<>((s, sender) -> Enum.valueOf(enumClass, s), Objects::nonNull, s -> strings);
|
||||
}
|
||||
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren