View Javadoc

1   /*
2    * This class was automatically generated with 
3    * <a href="http://www.castor.org">Castor 0.9.4.3</a>, using an XML
4    * Schema.
5    * $Id: ActivityContainer.java,v 1.29 2007/01/04 16:26:26 clq2 Exp $
6    */
7   
8   package org.astrogrid.workflow.beans.v1;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.IOException;
15  import java.io.Reader;
16  import java.io.Serializable;
17  import java.io.Writer;
18  import java.util.ArrayList;
19  import java.util.Enumeration;
20  import org.exolab.castor.xml.MarshalException;
21  import org.exolab.castor.xml.Marshaller;
22  import org.exolab.castor.xml.Unmarshaller;
23  import org.exolab.castor.xml.ValidationException;
24  import org.xml.sax.ContentHandler;
25  
26  /***
27   * Abstract base class of activities that contain other activities
28   * 
29   * @version $Revision: 1.29 $ $Date: 2007/01/04 16:26:26 $
30   */
31  public class ActivityContainer extends org.astrogrid.workflow.beans.v1.AbstractActivity 
32  implements java.io.Serializable
33  {
34  
35  
36        //--------------------------/
37       //- Class/Member Variables -/
38      //--------------------------/
39  
40      /***
41       * Head of the substitution group
42       */
43      private java.util.ArrayList _activityList;
44  
45  
46        //----------------/
47       //- Constructors -/
48      //----------------/
49  
50      public ActivityContainer() {
51          super();
52          _activityList = new ArrayList();
53      } //-- org.astrogrid.workflow.beans.v1.ActivityContainer()
54  
55  
56        //-----------/
57       //- Methods -/
58      //-----------/
59  
60      /***
61       * Method addActivity
62       * 
63       * @param vActivity
64       */
65      public void addActivity(org.astrogrid.workflow.beans.v1.AbstractActivity vActivity)
66          throws java.lang.IndexOutOfBoundsException
67      {
68          _activityList.add(vActivity);
69      } //-- void addActivity(org.astrogrid.workflow.beans.v1.AbstractActivity) 
70  
71      /***
72       * Method addActivity
73       * 
74       * @param index
75       * @param vActivity
76       */
77      public void addActivity(int index, org.astrogrid.workflow.beans.v1.AbstractActivity vActivity)
78          throws java.lang.IndexOutOfBoundsException
79      {
80          _activityList.add(index, vActivity);
81      } //-- void addActivity(int, org.astrogrid.workflow.beans.v1.AbstractActivity) 
82  
83      /***
84       * Method clearActivity
85       */
86      public void clearActivity()
87      {
88          _activityList.clear();
89      } //-- void clearActivity() 
90  
91      /***
92       * Method enumerateActivity
93       */
94      public java.util.Enumeration enumerateActivity()
95      {
96          return new org.exolab.castor.util.IteratorEnumeration(_activityList.iterator());
97      } //-- java.util.Enumeration enumerateActivity() 
98  
99      /***
100      * Note: hashCode() has not been overriden
101      * 
102      * @param obj
103      */
104     public boolean equals(java.lang.Object obj)
105     {
106         if ( this == obj )
107             return true;
108         
109         if (super.equals(obj)==false)
110             return false;
111         
112         if (obj instanceof ActivityContainer) {
113         
114             ActivityContainer temp = (ActivityContainer)obj;
115             if (this._activityList != null) {
116                 if (temp._activityList == null) return false;
117                 else if (!(this._activityList.equals(temp._activityList))) 
118                     return false;
119             }
120             else if (temp._activityList != null)
121                 return false;
122             return true;
123         }
124         return false;
125     } //-- boolean equals(java.lang.Object) 
126 
127     /***
128      * Method getActivity
129      * 
130      * @param index
131      */
132     public org.astrogrid.workflow.beans.v1.AbstractActivity getActivity(int index)
133         throws java.lang.IndexOutOfBoundsException
134     {
135         //-- check bounds for index
136         if ((index < 0) || (index > _activityList.size())) {
137             throw new IndexOutOfBoundsException();
138         }
139         
140         return (org.astrogrid.workflow.beans.v1.AbstractActivity) _activityList.get(index);
141     } //-- org.astrogrid.workflow.beans.v1.AbstractActivity getActivity(int) 
142 
143     /***
144      * Method getActivity
145      */
146     public org.astrogrid.workflow.beans.v1.AbstractActivity[] getActivity()
147     {
148         int size = _activityList.size();
149         org.astrogrid.workflow.beans.v1.AbstractActivity[] mArray = new org.astrogrid.workflow.beans.v1.AbstractActivity[size];
150         for (int index = 0; index < size; index++) {
151             mArray[index] = (org.astrogrid.workflow.beans.v1.AbstractActivity) _activityList.get(index);
152         }
153         return mArray;
154     } //-- org.astrogrid.workflow.beans.v1.AbstractActivity[] getActivity() 
155 
156     /***
157      * Method getActivityCount
158      */
159     public int getActivityCount()
160     {
161         return _activityList.size();
162     } //-- int getActivityCount() 
163 
164     /***
165      * Method isValid
166      */
167     public boolean isValid()
168     {
169         try {
170             validate();
171         }
172         catch (org.exolab.castor.xml.ValidationException vex) {
173             return false;
174         }
175         return true;
176     } //-- boolean isValid() 
177 
178     /***
179      * Method marshal
180      * 
181      * @param out
182      */
183     public void marshal(java.io.Writer out)
184         throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
185     {
186         
187         Marshaller.marshal(this, out);
188     } //-- void marshal(java.io.Writer) 
189 
190     /***
191      * Method marshal
192      * 
193      * @param handler
194      */
195     public void marshal(org.xml.sax.ContentHandler handler)
196         throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
197     {
198         
199         Marshaller.marshal(this, handler);
200     } //-- void marshal(org.xml.sax.ContentHandler) 
201 
202     /***
203      * Method removeActivity
204      * 
205      * @param vActivity
206      */
207     public boolean removeActivity(org.astrogrid.workflow.beans.v1.AbstractActivity vActivity)
208     {
209         boolean removed = _activityList.remove(vActivity);
210         return removed;
211     } //-- boolean removeActivity(org.astrogrid.workflow.beans.v1.AbstractActivity) 
212 
213     /***
214      * Method setActivity
215      * 
216      * @param index
217      * @param vActivity
218      */
219     public void setActivity(int index, org.astrogrid.workflow.beans.v1.AbstractActivity vActivity)
220         throws java.lang.IndexOutOfBoundsException
221     {
222         //-- check bounds for index
223         if ((index < 0) || (index > _activityList.size())) {
224             throw new IndexOutOfBoundsException();
225         }
226         _activityList.set(index, vActivity);
227     } //-- void setActivity(int, org.astrogrid.workflow.beans.v1.AbstractActivity) 
228 
229     /***
230      * Method setActivity
231      * 
232      * @param activityArray
233      */
234     public void setActivity(org.astrogrid.workflow.beans.v1.AbstractActivity[] activityArray)
235     {
236         //-- copy array
237         _activityList.clear();
238         for (int i = 0; i < activityArray.length; i++) {
239             _activityList.add(activityArray[i]);
240         }
241     } //-- void setActivity(org.astrogrid.workflow.beans.v1.AbstractActivity) 
242 
243     /***
244      * Method unmarshalActivityContainer
245      * 
246      * @param reader
247      */
248     public static org.astrogrid.workflow.beans.v1.ActivityContainer unmarshalActivityContainer(java.io.Reader reader)
249         throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
250     {
251         return (org.astrogrid.workflow.beans.v1.ActivityContainer) Unmarshaller.unmarshal(org.astrogrid.workflow.beans.v1.ActivityContainer.class, reader);
252     } //-- org.astrogrid.workflow.beans.v1.ActivityContainer unmarshalActivityContainer(java.io.Reader) 
253 
254     /***
255      * Method validate
256      */
257     public void validate()
258         throws org.exolab.castor.xml.ValidationException
259     {
260         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
261         validator.validate(this);
262     } //-- void validate() 
263 
264 }