通用枚举类

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;
	}
}

  

posted @ 2016-12-20 11:03  探讨  阅读(134)  评论(0)    收藏  举报