package javax.megaco.pkg; import java.io.Serializable; /** * Constants used in package javax.megaco.pkg for defining item types. * * */ public final class PkgItemType implements Serializable { public static final int M_ALL = 1; public static final int M_EVENT = 2; public static final int M_SIGNAL = 3; public static final int M_STATISTICS = 4; public static final int M_PROPERTY = 5; /** * Identifies a package item type object that constructs the class with the * constant M_ALL. Since it is reference to static final object, it prevents * further instantiation of the same object in the system. */ public static final PkgItemType ALL = new PkgItemType(M_ALL); /** * Identifies a package item type object that constructs the class with the * constant M_EVENT. Since it is reference to static final object, it * prevents further instantiation of the same object in the system. */ public static final PkgItemType EVENT = new PkgItemType(M_EVENT); /** * Identifies a package item type object that constructs the class with the * constant M_SIGNAL. Since it is reference to static final object, it * prevents further instantiation of the same object in the system. */ public static final PkgItemType SIGNAL = new PkgItemType(M_SIGNAL); /** * Identifies a package item type object that constructs the class with the * constant M_STATISTICS. Since it is reference to static final object, it * prevents further instantiation of the same object in the system. */ public static final PkgItemType STATISTICS = new PkgItemType(M_STATISTICS); /** * Identifies a package item type object that constructs the class with the * constant M_PROPERTY. Since it is reference to static final object, it * prevents further instantiation of the same object in the system. */ public static final PkgItemType PROPERTY = new PkgItemType(M_PROPERTY); private int type; private PkgItemType(int type) { this.type = type; } public int getPkgItemType() { return this.type; } public static final PkgItemType getObject(int value) throws IllegalArgumentException { PkgItemType p = null; switch (value) { case M_ALL: p = ALL; break; case M_EVENT: p = EVENT; break; case M_SIGNAL: p = SIGNAL; break; case M_STATISTICS: p = STATISTICS; break; case M_PROPERTY: p = PROPERTY; break; default: throw new IllegalArgumentException("There is no PkgItemType for passed value = " + value); } return p; } private Object readResolve() { return this.getObject(this.type); } @Override public String toString() { String p = null; switch (this.type) { case M_ALL: p = "PkgItemType[ALL]"; break; case M_EVENT: p = "PkgItemType[EVENT]"; break; case M_SIGNAL: p = "PkgItemType[SIGNAL]"; break; case M_STATISTICS: p = "PkgItemType[STATISTICS]"; break; case M_PROPERTY: p = "PkgItemType[PROPERTY]"; break; default: p = "PkgItemType[" + this.type + "]"; } return p; } }