public class GenericEnum implements Serializable {
private static final long serialVersionUID = 1L;
private final TreeMap<Object, String> enumMap = new TreeMap<Object, String>();
public GenericEnum() {
}
public String getName(Object value) {
return (String) enumMap.get(value);
}
public Object getValue(String name) {
Object value;
label0: {
value = null;
if (enumMap.containsValue(name)) {
Iterator<Object> i = enumMap.keySet().iterator();
Object key;
String enumName;
do {
if (!i.hasNext())
break label0;
key = i.next();
enumName = (String) enumMap.get(key);
} while (!enumName.equals(name));
value = key;
} else {
throw new UserException((new StringBuilder()).append("[").append(getClass().getSimpleName())
.append("]\u672A\u77E5\u679A\u4E3E\u540D\u79F0\uFF1A").append(name).toString());
}
}
return value;
}
public String[] getAllNames() {
String names[] = new String[enumMap.size()];
enumMap.values().toArray(names);
return names;
}
public void putEnum(Object value, String name) {
enumMap.put(value, name);
}
public Map<Object, String> getAllEnum() {
return enumMap;
}
}