CommandFramework3 #94
@ -199,28 +199,6 @@ class SWCommandUtils {
|
||||
return arguments;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static Function<String, Object> mapper(Parameter parameter) {
|
||||
Class<?> clazz = parameter.getType();
|
||||
if (parameter.isVarArgs()) {
|
||||
clazz = clazz.getComponentType();
|
||||
}
|
||||
|
||||
if (clazz.isEnum()) {
|
||||
Class<Enum<?>> enumClass = (Class<Enum<?>>) clazz;
|
||||
return s -> ENUM_MAPPER.apply(enumClass, s);
|
||||
}
|
||||
|
||||
String name = clazz.getTypeName();
|
||||
SWCommand.Mapper mapper = parameter.getAnnotation(SWCommand.Mapper.class);
|
||||
if (mapper != null) {
|
||||
name = mapper.mapper();
|
||||
}
|
||||
|
||||
TypeMapper<?> typeMapper = MAPPER_FUNCTIONS.getOrDefault(name, ERROR_FUNCTION);
|
||||
return typeMapper::map;
|
||||
}
|
||||
|
||||
public static void addMapper(String name, TypeMapper<?> mapper) {
|
||||
if (MAPPER_FUNCTIONS.containsKey(name)) return;
|
||||
MAPPER_FUNCTIONS.put(name, mapper);
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren