利用status指定状态

在学习cache过程中,看到枚举类来指定cache或cacheManager的状态,记录下来

public final class More ...Status implements Serializable {
     public static final Status STATUS_UNINITIALISED = new Status(0, "STATUS_UNINITIALISED");

     public static final Status STATUS_ALIVE = new Status(1, "STATUS_ALIVE");

     public static final Status STATUS_SHUTDOWN = new Status(2, "STATUS_SHUTDOWN");

     private static final long serialVersionUID = 2732730630423367732L;
 
     private static final Status[] STATUSES = {STATUS_UNINITIALISED, STATUS_ALIVE, STATUS_SHUTDOWN};
 
     private final String name;
     private final int intValue;
 
     private Status(int intValue, String name) {
         this.intValue = intValue;
         this.name = name;
 
     }

     public static Status More ...convertIntToStatus(int statusAsInt) throws IllegalArgumentException {
         if ((statusAsInt < STATUS_UNINITIALISED.intValue) || (statusAsInt > STATUS_SHUTDOWN.intValue)) {
             throw new IllegalArgumentException("int value of statuses must be between 1 and three");
         }
         return STATUSES[statusAsInt];
     }

     public String More ...toString() {
         return name;
     }

     public int intValue() {
        return intValue;
    }

    public boolean More ...equals(Object object) {
        if (!(object instanceof Status)) {
            return false;
        }
        return ((Status) object).intValue == intValue;
    }

    public int More ...hashCode() {
        return intValue;
    }

源码链接


你可能感兴趣的:(源码,cache)