Class SafeEnum<T extends SafeEnum<T>>

java.lang.Object
com.elitesland.ystdms.sys.constant.SafeEnum<T>
Type Parameters:
T - 枚举类型
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
EmpSourceType, Gender, OrgType, UserSourceType, UserType

public abstract class SafeEnum<T extends SafeEnum<T>> extends Object implements Serializable
安全枚举基类 提供类似枚举的功能,但支持通过 new 创建实例
See Also:
  • Field Details

    • name

      protected String name
      枚举名称
    • description

      protected String description
      枚举描述(翻译)
  • Constructor Details

    • SafeEnum

      protected SafeEnum()
      无参构造函数
    • SafeEnum

      protected SafeEnum(String name)
      构造函数
      Parameters:
      name - 枚举名称
    • SafeEnum

      protected SafeEnum(String name, String description)
      构造函数
      Parameters:
      name - 枚举名称
      description - 枚举描述
  • Method Details

    • getName

      public String getName()
      获取枚举名称
      Returns:
      枚举名称
    • getValue

      public String getValue()
      获取枚举值(与getName()相同,提供更语义化的方法名)
      Returns:
      枚举值
    • getDescription

      public String getDescription()
      获取枚举描述(翻译)
      Returns:
      枚举描述
    • setName

      protected void setName(String name)
      设置枚举名称
      Parameters:
      name - 枚举名称
    • setDescription

      protected void setDescription(String description)
      设置枚举描述
      Parameters:
      description - 枚举描述
    • all

      public static <T extends SafeEnum<T>> Set<T> all(Class<T> clazz)
      获取所有枚举值
      Parameters:
      clazz - 枚举类
      Returns:
      所有枚举值的集合
    • valueOf

      public static <T extends SafeEnum<T>> T valueOf(Class<T> clazz, String name)
      根据名称获取枚举值
      Parameters:
      clazz - 枚举类
      name - 枚举名称
      Returns:
      枚举值,如果不存在则返回 null
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object