1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-11 09:05:01 +02:00
This commit is contained in:
snowleo
2013-01-01 23:54:22 +01:00
parent bca953a96e
commit 279e3f6f47

View File

@@ -14,7 +14,7 @@ public class EnumConverter<E extends Enum<E>> implements ArgumentsParser<E>, Ser
private static final Pattern REPLACE = Pattern.compile("[_-]");
private final Map<String, E> enumMap = new HashMap<String, E>();
private final Map<E, String> serializedMap;
private EnumConverter(final Class<E> enumClass)
{
serializedMap = new EnumMap<E, String>(enumClass);
@@ -24,7 +24,7 @@ public class EnumConverter<E extends Enum<E>> implements ArgumentsParser<E>, Ser
serializedMap.put(t, prettifyString(t.name()));
}
}
public static <T extends Enum<T>> EnumConverter<T> getInstance(final Class<T> enumClass)
{
synchronized (converterMap)
@@ -38,7 +38,7 @@ public class EnumConverter<E extends Enum<E>> implements ArgumentsParser<E>, Ser
return converter;
}
}
@Override
public ParserResult<E> parse(final String... args)
{
@@ -51,18 +51,20 @@ public class EnumConverter<E extends Enum<E>> implements ArgumentsParser<E>, Ser
}
return new FirstEntryParserResult<E>(e, args);
}
@Override
public String serialize(final E input)
{
return serializedMap.get(input);
}
private String cleanString(final String input) {
private String cleanString(final String input)
{
return REPLACE.matcher(input).replaceAll("").toLowerCase(Locale.ENGLISH);
}
private String prettifyString(final String input) {
return input.replace("_", "-").toLowerCase(Locale.ENGLISH);
private String prettifyString(final String input)
{
return input.replace('_', '-').toLowerCase(Locale.ENGLISH);
}
}