package cn.axzo.msg.center.common.enums;

/**
 * 项目名称：pudge
 * 类 名 称：AbstractEnum
 * 类 描 述：
 * 创建时间：2022/7/14 12:26
 * 创 建 人：xuyaozuo
 */
public interface IEnum {

    Integer getCode();
    String getMessage();

    static <T extends Enum<T> & IEnum> T enumFromCode(Class<T> enumType, Integer code) {
        T defaultEnum = null;
        for (T c : enumType.getEnumConstants()) {
            if (c.getCode().equals(code)) {
                return c;
            }
            if (c.getCode().equals(0)) {
                defaultEnum = c;
            }
        }
        return defaultEnum;
    }
}
