/**EnumEdiror.java*/ package org.howsun.editor; import java.beans.PropertyEditorSupport; import org.howsun.util.Strings; /** * @Description:EnumEdiror,通用枚举类型编辑器,可以将前端传来的字符串转换成所需的Java枚举对象 * @author 张纪豪 * @Date 2010-7-5 * @version v1.0 */ @SuppressWarnings("unchecked") public class GenericEnumEdiror<T extends Enum<T>> extends PropertyEditorSupport{ private Class<T> clazz; public GenericEnumEdiror(Class<T> clazz){ this.clazz = clazz; } @Override public void setAsText(String text) throws IllegalArgumentException { T target = null; if(Strings.hasLengthBytrim(text)){ target = (T) Enum.valueOf(clazz, text.toUpperCase()); } setValue(target); } @Override public String getAsText() { Enum<T> e = (T) super.getValue(); return e.name(); } }