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));
|
return new Argument<>(Double::parseDouble, predicate, tabCompletes(Arrays.stream(tabValues).boxed(), predicate));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends Enum<?>> Argument<T> ofEnum(Class<T> enumClass) {
|
public static <T extends Enum<T>> Argument<T> ofEnum(Class<T> enumClass) {
|
||||||
T[] enumValues = enumClass.getEnumConstants();
|
String[] strings = Arrays.stream(enumClass.getEnumConstants()).map(Enum::name).toArray(String[]::new);
|
||||||
String[] strings = Arrays.stream(enumValues).map(Enum::name).toArray(String[]::new);
|
return new Argument<>((s, sender) -> Enum.valueOf(enumClass, s), Objects::nonNull, s -> strings);
|
||||||
return new Argument<>((s, sender) -> {
|
|
||||||
for (T enumValue : enumValues) if (enumValue.name().startsWith(s)) return enumValue;
|
|
||||||
return null;
|
|
||||||
}, Objects::nonNull, s -> strings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren