1
2
3
4
5
6
7
8 package org.astrogrid.workflow.beans.v1.execution;
9
10
11
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 * A summary of an execution of a job
28 *
29 * @version $Revision: 1.4 $ $Date: 2007/01/04 16:26:08 $
30 */
31 public class WorkflowSummaryList extends org.astrogrid.common.bean.BaseBean
32 implements java.io.Serializable
33 {
34
35
36
37
38
39
40 /***
41 * Field _itemList
42 */
43 private java.util.ArrayList _itemList;
44
45
46
47
48
49
50 public WorkflowSummaryList() {
51 super();
52 _itemList = new ArrayList();
53 }
54
55
56
57
58
59
60 /***
61 * Method addItem
62 *
63 * @param vItem
64 */
65 public void addItem(org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType vItem)
66 throws java.lang.IndexOutOfBoundsException
67 {
68 _itemList.add(vItem);
69 }
70
71 /***
72 * Method addItem
73 *
74 * @param index
75 * @param vItem
76 */
77 public void addItem(int index, org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType vItem)
78 throws java.lang.IndexOutOfBoundsException
79 {
80 _itemList.add(index, vItem);
81 }
82
83 /***
84 * Method clearItem
85 */
86 public void clearItem()
87 {
88 _itemList.clear();
89 }
90
91 /***
92 * Method enumerateItem
93 */
94 public java.util.Enumeration enumerateItem()
95 {
96 return new org.exolab.castor.util.IteratorEnumeration(_itemList.iterator());
97 }
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 WorkflowSummaryList) {
113
114 WorkflowSummaryList temp = (WorkflowSummaryList)obj;
115 if (this._itemList != null) {
116 if (temp._itemList == null) return false;
117 else if (!(this._itemList.equals(temp._itemList)))
118 return false;
119 }
120 else if (temp._itemList != null)
121 return false;
122 return true;
123 }
124 return false;
125 }
126
127 /***
128 * Method getItem
129 *
130 * @param index
131 */
132 public org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType getItem(int index)
133 throws java.lang.IndexOutOfBoundsException
134 {
135
136 if ((index < 0) || (index > _itemList.size())) {
137 throw new IndexOutOfBoundsException();
138 }
139
140 return (org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType) _itemList.get(index);
141 }
142
143 /***
144 * Method getItem
145 */
146 public org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType[] getItem()
147 {
148 int size = _itemList.size();
149 org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType[] mArray = new org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType[size];
150 for (int index = 0; index < size; index++) {
151 mArray[index] = (org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType) _itemList.get(index);
152 }
153 return mArray;
154 }
155
156 /***
157 * Method getItemCount
158 */
159 public int getItemCount()
160 {
161 return _itemList.size();
162 }
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 }
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 }
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 }
201
202 /***
203 * Method removeItem
204 *
205 * @param vItem
206 */
207 public boolean removeItem(org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType vItem)
208 {
209 boolean removed = _itemList.remove(vItem);
210 return removed;
211 }
212
213 /***
214 * Method setItem
215 *
216 * @param index
217 * @param vItem
218 */
219 public void setItem(int index, org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType vItem)
220 throws java.lang.IndexOutOfBoundsException
221 {
222
223 if ((index < 0) || (index > _itemList.size())) {
224 throw new IndexOutOfBoundsException();
225 }
226 _itemList.set(index, vItem);
227 }
228
229 /***
230 * Method setItem
231 *
232 * @param itemArray
233 */
234 public void setItem(org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType[] itemArray)
235 {
236
237 _itemList.clear();
238 for (int i = 0; i < itemArray.length; i++) {
239 _itemList.add(itemArray[i]);
240 }
241 }
242
243 /***
244 * Method unmarshalWorkflowSummaryList
245 *
246 * @param reader
247 */
248 public static org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryList unmarshalWorkflowSummaryList(java.io.Reader reader)
249 throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
250 {
251 return (org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryList) Unmarshaller.unmarshal(org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryList.class, reader);
252 }
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 }
263
264 }