001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package javax.enterprise.deploy.shared;
023:
024: /**
025: * An enumeration of deployment states.
026: *
027: * @author <a href="mailto:adrian@jboss.org">Adrian Brock</a>
028: * @version $Revision: 57196 $
029: */
030: public class StateType {
031: // Constants -----------------------------------------------------
032:
033: /** The RUNNING integer value */
034: private static final int RUNNING_INT = 0;
035: /** The COMPLETED integer value */
036: private static final int COMPLETED_INT = 1;
037: /** The FAILED integer value */
038: private static final int FAILED_INT = 2;
039: /** The RELEASED integer value */
040: private static final int RELEASED_INT = 3;
041:
042: /** The state type for an RUNNING */
043: public static final StateType RUNNING = new StateType(RUNNING_INT);
044: /** The state type for an COMPLETED */
045: public static final StateType COMPLETED = new StateType(
046: COMPLETED_INT);
047: /** The state type for an FAILED */
048: public static final StateType FAILED = new StateType(FAILED_INT);
049: /** The state type for an RELEASED */
050: public static final StateType RELEASED = new StateType(RELEASED_INT);
051:
052: /** The state types */
053: private static final StateType[] stateTypes = new StateType[] {
054: RUNNING, COMPLETED, FAILED, RELEASED };
055:
056: /** The state descriptions */
057: private static final String[] stateDescs = new String[] {
058: "Running", "Completed", "Failed", "Released" };
059:
060: // Attributes ----------------------------------------------------
061:
062: /** The value */
063: private int value;
064:
065: /**
066: * Create a new StateType
067: *
068: * @param value the value
069: */
070: protected StateType(int value) {
071: this .value = value;
072: }
073:
074: // Public --------------------------------------------------------
075:
076: /**
077: * Get the value
078: *
079: * @return the value
080: */
081: public int getValue() {
082: return value;
083: }
084:
085: /**
086: * Get the string table for class command type
087: *
088: * [todo] check this?
089: * @return the string table
090: */
091: protected String[] getStringTable() {
092: return stateDescs;
093: }
094:
095: /**
096: * Get the enumerated values for module type
097: *
098: * @return the string table
099: */
100: protected StateType[] getEnumValueTable() {
101: return stateTypes;
102: }
103:
104: /**
105: * Get the state type for an integer
106: *
107: * @param type the type
108: * @return the state type
109: */
110: public static StateType getStateType(int type) {
111: if (type >= stateTypes.length)
112: return null;
113: return stateTypes[type];
114: }
115:
116: public String toString() {
117: return stateDescs[value];
118: }
119:
120: /**
121: * Return the offset of the first element
122: *
123: * @return the offset
124: */
125: protected int getOffset() {
126: return RUNNING_INT;
127: }
128:
129: // Private -------------------------------------------------------
130:
131: // Inner classes -------------------------------------------------
132: }
|