package com.times.ecpp.datamanager.enumeration.common;
/**
* 枚举接口
* @author njq
*
*/
public interface CommonEnum {
//此处对应枚举的字段,如状态枚举StatusEnum定义了code,name
//那么这里定义这个2个字段的get方法,可以获取到所有的字段
public String getCode();
public String getName();
}
package com.times.ecpp.datamanager.enumeration.common;
/**
* 枚举示例
* @author njq
*
*/
public enum StatusEnum implements CommonEnum{
WAITTING("WAITTING", "等待"),
STARTED("STARTED", "开始"),
END("END", "结束");
private String code;
private String name;
private StatusEnum(String code,String name) {
this.code = code;
this.name = name;
}
@Override
public String getCode() {
// TODO Auto-generated method stub
return code;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return name;
}
}
package com.times.ecpp.datamanager.enumeration.util;
import com.times.ecpp.datamanager.enumeration.common.CommonEnum;
/**
* 枚举工具类 njq
*/
public class EnumUtil {
/**
* 返回指定名称的'枚举'
* @param name
* @return SharedObjTypeEnum
* @throws
*/
public static <T extends CommonEnum> T getEnumByName(Class<T> clazz, String name) {
for(T _enum : clazz.getEnumConstants())
if(_enum.getName().equals(name))
return _enum;
return null;
}
/**
* 返回指定编码的'枚举'
* @param desc
* @return SharedObjTypeEnum
* @throws
*/
public static <T extends CommonEnum> T getEnumByCode(Class<T> clazz, String code) {
for(T _enum : clazz.getEnumConstants())
if(_enum.getCode().equals(code))
return _enum;
return null;
}
}