View Javadoc

1   /***
2    * JFoxSOAF, Service-Oriented Application Framework
3    * 
4    * Copyright (C) www.huihoo.org
5    * 
6    * Distributable under GNU LGPL For more information, please visit:
7    * http://www.huihoo.org/jfox/jfoxsoaf
8    */
9   
10  package org.huihoo.jfox.soaf.schema.service;
11  
12  import java.util.Vector;
13  
14  import org.exolab.castor.xml.Marshaller;
15  import org.exolab.castor.xml.Unmarshaller;
16  
17  /***
18   * <p>
19   * Class ServiceEntry. 
20   * </p>
21   * 
22   * @author <a href="mailto:founder_chen@yahoo.com.cn">Peter Cheng </a>
23   * @version $Revision: 1.4 $ $Date: 2004/10/18 10:26:39 $
24   * @version Revision: 1.0
25   */
26  
27  public class ServiceEntry implements java.io.Serializable,
28          org.huihoo.jfox.soaf.container.ServiceEntry {
29  
30      /***
31       * Field _id
32       */
33      private java.lang.String _id;
34  
35      /***
36       * Field _description
37       */
38      private java.lang.String _description;
39  
40      /***
41       * Field _manageable
42       */
43      private java.lang.String _manageable;
44  
45      /***
46       * Field _interface
47       */
48      private java.lang.String _interface;
49  
50      /***
51       * Field _implementation
52       */
53      private java.lang.String _implementation;
54  
55      /***
56       * Field _parameterList
57       */
58      private java.util.Vector _parameterList;
59  
60      public ServiceEntry() {
61          super();
62          _parameterList = new Vector();
63      } 
64  
65      /***
66       * Method addParameter
67       * 
68       * @param vParameter
69       */
70      public void addParameter(
71              org.huihoo.jfox.soaf.schema.service.Parameter vParameter)
72              throws java.lang.IndexOutOfBoundsException {
73          _parameterList.addElement(vParameter);
74      } 
75  
76      /***
77       * Method addParameter
78       * 
79       * @param index
80       * @param vParameter
81       */
82      public void addParameter(int index,
83              org.huihoo.jfox.soaf.schema.service.Parameter vParameter)
84              throws java.lang.IndexOutOfBoundsException {
85          _parameterList.insertElementAt(vParameter, index);
86      } 
87  
88      /***
89       * Method enumerateParameter
90       */
91      public java.util.Enumeration enumerateParameter() {
92          return _parameterList.elements();
93      } 
94  
95      /***
96       * Method getDescriptionReturns the value of field 'description'.
97       * 
98       * @return the value of field 'description'.
99       */
100     public java.lang.String getDescription() {
101         return this._description;
102     } 
103 
104     /***
105      * Method getIdReturns the value of field 'id'.
106      * 
107      * @return the value of field 'id'.
108      */
109     public java.lang.String getId() {
110         return this._id;
111     } 
112 
113     /***
114      * Method getImplementationReturns the value of field 'implementation'.
115      * 
116      * @return the value of field 'implementation'.
117      */
118     public java.lang.String getImplementation() {
119         return this._implementation;
120     } 
121 
122     /***
123      * Method getInterfaceReturns the value of field 'interface'.
124      * 
125      * @return the value of field 'interface'.
126      */
127     public java.lang.String getInterface() {
128         return this._interface;
129     } 
130 
131     /***
132      * Method getManageableReturns the value of field 'manageable'.
133      * 
134      * @return the value of field 'manageable'.
135      */
136     public java.lang.String getManageable() {
137         return this._manageable;
138     } 
139 
140     /***
141      * Method getParameter
142      * 
143      * @param index
144      */
145     public org.huihoo.jfox.soaf.schema.service.Parameter getParameter(int index)
146             throws java.lang.IndexOutOfBoundsException {
147         //-- check bounds for index
148         if ((index < 0) || (index > _parameterList.size())) {
149             throw new IndexOutOfBoundsException();
150         }
151 
152         return (org.huihoo.jfox.soaf.schema.service.Parameter) _parameterList
153                 .elementAt(index);
154     } 
155 
156     /***
157      * Method getParameter
158      */
159     public org.huihoo.jfox.soaf.schema.service.Parameter[] getParameter() {
160         int size = _parameterList.size();
161         org.huihoo.jfox.soaf.schema.service.Parameter[] mArray = new org.huihoo.jfox.soaf.schema.service.Parameter[size];
162         for (int index = 0; index < size; index++) {
163             mArray[index] = (org.huihoo.jfox.soaf.schema.service.Parameter) _parameterList
164                     .elementAt(index);
165         }
166         return mArray;
167     } 
168 
169     /***
170      * Method getParameterCount
171      */
172     public int getParameterCount() {
173         return _parameterList.size();
174     } 
175 
176     /***
177      * Method isValid
178      */
179     public boolean isValid() {
180         try {
181             validate();
182         } catch (org.exolab.castor.xml.ValidationException vex) {
183             return false;
184         }
185         return true;
186     } 
187 
188     /***
189      * Method marshal
190      * 
191      * @param out
192      */
193     public void marshal(java.io.Writer out)
194             throws org.exolab.castor.xml.MarshalException,
195             org.exolab.castor.xml.ValidationException {
196 
197         Marshaller.marshal(this, out);
198     } 
199 
200     /***
201      * Method marshal
202      * 
203      * @param handler
204      */
205     public void marshal(org.xml.sax.ContentHandler handler)
206             throws java.io.IOException, org.exolab.castor.xml.MarshalException,
207             org.exolab.castor.xml.ValidationException {
208 
209         Marshaller.marshal(this, handler);
210     } 
211 
212     /***
213      * Method removeAllParameter
214      */
215     public void removeAllParameter() {
216         _parameterList.removeAllElements();
217     } 
218 
219     /***
220      * Method removeParameter
221      * 
222      * @param index
223      */
224     public org.huihoo.jfox.soaf.schema.service.Parameter removeParameter(
225             int index) {
226         java.lang.Object obj = _parameterList.elementAt(index);
227         _parameterList.removeElementAt(index);
228         return (org.huihoo.jfox.soaf.schema.service.Parameter) obj;
229     } 
230 
231     /***
232      * Method setDescriptionSets the value of field 'description'.
233      * 
234      * @param description
235      *            the value of field 'description'.
236      */
237     public void setDescription(java.lang.String description) {
238         this._description = description;
239     } 
240 
241     /***
242      * Method setIdSets the value of field 'id'.
243      * 
244      * @param id
245      *            the value of field 'id'.
246      */
247     public void setId(java.lang.String id) {
248         this._id = id;
249     } 
250 
251     /***
252      * Method setImplementationSets the value of field 'implementation'.
253      * 
254      * @param implementation
255      *            the value of field 'implementation'.
256      */
257     public void setImplementation(java.lang.String implementation) {
258         this._implementation = implementation;
259     } 
260 
261     /***
262      * Method setInterfaceSets the value of field 'interface'.
263      * 
264      * @param _interface
265      * @param interface
266      *            the value of field 'interface'.
267      */
268     public void setInterface(java.lang.String _interface) {
269         this._interface = _interface;
270     } 
271 
272     /***
273      * Method setManageableSets the value of field 'manageable'.
274      * 
275      * @param manageable
276      *            the value of field 'manageable'.
277      */
278     public void setManageable(java.lang.String manageable) {
279         this._manageable = manageable;
280     } 
281 
282     /***
283      * Method setParameter
284      * 
285      * @param index
286      * @param vParameter
287      */
288     public void setParameter(int index,
289             org.huihoo.jfox.soaf.schema.service.Parameter vParameter)
290             throws java.lang.IndexOutOfBoundsException {
291         //-- check bounds for index
292         if ((index < 0) || (index > _parameterList.size())) {
293             throw new IndexOutOfBoundsException();
294         }
295         _parameterList.setElementAt(vParameter, index);
296     } 
297 
298     /***
299      * Method setParameter
300      * 
301      * @param parameterArray
302      */
303     public void setParameter(
304             org.huihoo.jfox.soaf.schema.service.Parameter[] parameterArray) {
305         //-- copy array
306         _parameterList.removeAllElements();
307         for (int i = 0; i < parameterArray.length; i++) {
308             _parameterList.addElement(parameterArray[i]);
309         }
310     } 
311 
312     /***
313      * Method unmarshal
314      * 
315      * @param reader
316      */
317     public static org.huihoo.jfox.soaf.schema.service.ServiceEntry unmarshal(
318             java.io.Reader reader)
319             throws org.exolab.castor.xml.MarshalException,
320             org.exolab.castor.xml.ValidationException {
321         return (org.huihoo.jfox.soaf.schema.service.ServiceEntry) Unmarshaller
322                 .unmarshal(
323                         org.huihoo.jfox.soaf.schema.service.ServiceEntry.class,
324                         reader);
325     }
326     
327     /***
328      * Method validate
329      */
330     public void validate() throws org.exolab.castor.xml.ValidationException {
331         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
332         validator.validate(this);
333     } 
334 
335 }