/protocols/jain-megaco/megaco-api/src/main/java/javax/megaco/association/SrvChngMethod.java
http://mobicents.googlecode.com/ · Java · 178 lines · 69 code · 20 blank · 89 comment · 2 complexity · e512e475dbd484d91881332318c541e2 MD5 · raw file
- package javax.megaco.association;
-
- import java.io.Serializable;
-
- /**
- * Service change method constants used in package javax.megaco.association.
- * This forms the class for the Service change method parameters of the Jain
- * Megaco package.
- */
- public class SrvChngMethod implements Serializable {
-
- /**
- * Identifies the service change method towards the peer shall be graceful.
- */
- public final static int M_GRACEFUL = 1;
- /**
- * Identifies the service change method towards the peer shall be forced.
- */
- public final static int M_FORCED = 2;
- /**
- * Identifies the service change method towards the peer shall be restart.
- */
- public final static int M_RESTART = 3;
- /**
- * Identifies the service change method towards the peer shall be
- * disconnected.
- */
- public final static int M_DISCONNECTED = 4;
- /**
- * Identifies the service change method towards the peer shall be handoff.
- */
- public final static int M_HANDOFF = 5;
- /**
- * Identifies the service change method towards the peer shall be failover.
- */
- public final static int M_FAILOVER = 6;
- /**
- * Identifies the service change method towards the peer shall be an
- * extended value.
- */
- public final static int M_EXTENSION = 7;
-
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant M_GRACEFUL.
- */
- public final static SrvChngMethod GRACEFUL = new SrvChngMethod(M_GRACEFUL);
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant M_FORCED.
- */
- public final static SrvChngMethod FORCED = new SrvChngMethod(M_FORCED);
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant M_RESTART.
- */
- public final static SrvChngMethod RESTART = new SrvChngMethod(M_RESTART);
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant M_DISCONNECTED.
- */
- public final static SrvChngMethod DISCONNECTED = new SrvChngMethod(M_DISCONNECTED);
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant M_HANDOFF.
- */
- public final static SrvChngMethod HANDOFF = new SrvChngMethod(M_HANDOFF);
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant M_FAILOVER.
- */
- public final static SrvChngMethod FAILOVER = new SrvChngMethod(M_FAILOVER);
- /**
- * Identifies a SrvChngMethod object that constructs the class with the
- * constant {@link javax.megaco.association.SrvChngMethod.M_EXTENSION}.
- */
- public final static SrvChngMethod EXTENSION = new SrvChngMethod(M_EXTENSION);
-
- private int srvChngMethodId = -1;
-
- /**
- * Constructs a class initialised with value service_change_method as passed
- * to it in the constructor.
- *
- * @param service_change_method
- */
- private SrvChngMethod(int service_change_method) {
- this.srvChngMethodId = service_change_method;
- }
-
- /**
- * This method returns one of the static field constants defined in this
- * class.
- *
- * @return Returns an integer value that identifies the service change
- * method.
- */
- public int getSrvChngMethodId() {
- return this.srvChngMethodId;
- }
-
- /**
- * Returns reference of the SrvChngMethod object that identifies the service
- * change method as value passed to this method.
- *
- * @param value
- * - It is one of the possible values of the static constant that
- * this class provides.
- * @return Returns reference of the SrvChngMethod object.
- * @throws IllegalArgumentException
- * - If the value passed to this method is invalid, then this
- * exception is raised.
- */
- public static SrvChngMethod getObject(int value) throws IllegalArgumentException {
-
- switch (value) {
- case M_GRACEFUL:
- return GRACEFUL;
- case M_FORCED:
- return FORCED;
- case M_RESTART:
- return RESTART;
- case M_DISCONNECTED:
- return DISCONNECTED;
- case M_HANDOFF:
- return HANDOFF;
- case M_FAILOVER:
- return FAILOVER;
- case M_EXTENSION:
- return EXTENSION;
-
- default:
- throw new IllegalArgumentException("Wrogn value passed, there is no change method with code: " + value);
- }
-
- }
-
- /**
- * This method must be implemented to perform instance substitution during
- * serialization. This method is required for reference comparison. This
- * method if not implimented will simply fail each time we compare an
- * Enumeration value against a de-serialized Enumeration instance.
- *
- * @return
- */
- private Object readResolve() {
- return this.getObject(this.srvChngMethodId);
- }
-
- @Override
- public String toString() {
- switch (this.srvChngMethodId) {
- case M_GRACEFUL:
- return "SrvChngMethod[SVC_CHNG_METHOD_GRACEFUL]";
- case M_FORCED:
- return "SrvChngMethod[SVC_CHNG_METHOD_FORCED]";
-
- case M_RESTART:
- return "SrvChngMethod[SVC_CHNG_METHOD_RESTART]";
-
- case M_DISCONNECTED:
- return "SrvChngMethod[SVC_CHNG_METHOD_DISCONNECTED]";
-
- case M_HANDOFF:
- return "SrvChngMethod[SVC_CHNG_METHOD_HANDOFF]";
-
- case M_FAILOVER:
- return "SrvChngMethod[SVC_CHNG_METHOD_FAILOVER]";
-
- case M_EXTENSION:
- return "SrvChngMethod[SVC_CHNG_METHOD_EXTENSION]";
-
- default:
- return "SrvChngMethod[" + this.srvChngMethodId + "]";
- }
- }
-
- }