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.config;
11
12 import java.util.Vector;
13
14 import org.exolab.castor.xml.Marshaller;
15 import org.exolab.castor.xml.Unmarshaller;
16
17 /***
18 * Class ServiceConfiguration.
19 *
20 * @version $Revision: 1.1 $ $Date: 2004/10/13 10:51:38 $
21 */
22 public class ServiceConfiguration implements java.io.Serializable {
23
24 /***
25 * Field _configurationEntryList
26 */
27 private java.util.Vector _configurationEntryList;
28
29 public ServiceConfiguration() {
30 super();
31 _configurationEntryList = new Vector();
32 }
33
34 /***
35 * Method addConfigurationEntry
36 *
37 * @param vConfigurationEntry
38 */
39 public void addConfigurationEntry(
40 org.huihoo.jfox.soaf.schema.config.ConfigurationEntry vConfigurationEntry)
41 throws java.lang.IndexOutOfBoundsException {
42 _configurationEntryList.addElement(vConfigurationEntry);
43 }
44
45 /***
46 * Method addConfigurationEntry
47 *
48 * @param index
49 * @param vConfigurationEntry
50 */
51 public void addConfigurationEntry(
52 int index,
53 org.huihoo.jfox.soaf.schema.config.ConfigurationEntry vConfigurationEntry)
54 throws java.lang.IndexOutOfBoundsException {
55 _configurationEntryList.insertElementAt(vConfigurationEntry, index);
56 }
57
58 /***
59 * Method enumerateConfigurationEntry
60 */
61 public java.util.Enumeration enumerateConfigurationEntry() {
62 return _configurationEntryList.elements();
63 }
64
65 /***
66 * Method getConfigurationEntry
67 *
68 * @param index
69 */
70 public org.huihoo.jfox.soaf.schema.config.ConfigurationEntry getConfigurationEntry(
71 int index) throws java.lang.IndexOutOfBoundsException {
72
73 if ((index < 0) || (index > _configurationEntryList.size())) {
74 throw new IndexOutOfBoundsException();
75 }
76
77 return (org.huihoo.jfox.soaf.schema.config.ConfigurationEntry) _configurationEntryList
78 .elementAt(index);
79 }
80
81 /***
82 * Method getConfigurationEntry
83 */
84 public org.huihoo.jfox.soaf.schema.config.ConfigurationEntry[] getConfigurationEntry() {
85 int size = _configurationEntryList.size();
86 org.huihoo.jfox.soaf.schema.config.ConfigurationEntry[] mArray = new org.huihoo.jfox.soaf.schema.config.ConfigurationEntry[size];
87 for (int index = 0; index < size; index++) {
88 mArray[index] = (org.huihoo.jfox.soaf.schema.config.ConfigurationEntry) _configurationEntryList
89 .elementAt(index);
90 }
91 return mArray;
92 }
93
94 /***
95 * Method getConfigurationEntryCount
96 */
97 public int getConfigurationEntryCount() {
98 return _configurationEntryList.size();
99 }
100
101 /***
102 * Method isValid
103 */
104 public boolean isValid() {
105 try {
106 validate();
107 } catch (org.exolab.castor.xml.ValidationException vex) {
108 return false;
109 }
110 return true;
111 }
112
113 /***
114 * Method marshal
115 *
116 * @param out
117 */
118 public void marshal(java.io.Writer out)
119 throws org.exolab.castor.xml.MarshalException,
120 org.exolab.castor.xml.ValidationException {
121
122 Marshaller.marshal(this, out);
123 }
124
125 /***
126 * Method marshal
127 *
128 * @param handler
129 */
130 public void marshal(org.xml.sax.ContentHandler handler)
131 throws java.io.IOException, org.exolab.castor.xml.MarshalException,
132 org.exolab.castor.xml.ValidationException {
133
134 Marshaller.marshal(this, handler);
135 }
136
137 /***
138 * Method removeAllConfigurationEntry
139 */
140 public void removeAllConfigurationEntry() {
141 _configurationEntryList.removeAllElements();
142 }
143
144 /***
145 * Method removeConfigurationEntry
146 *
147 * @param index
148 */
149 public org.huihoo.jfox.soaf.schema.config.ConfigurationEntry removeConfigurationEntry(
150 int index) {
151 java.lang.Object obj = _configurationEntryList.elementAt(index);
152 _configurationEntryList.removeElementAt(index);
153 return (org.huihoo.jfox.soaf.schema.config.ConfigurationEntry) obj;
154 }
155
156 /***
157 * Method setConfigurationEntry
158 *
159 * @param index
160 * @param vConfigurationEntry
161 */
162 public void setConfigurationEntry(
163 int index,
164 org.huihoo.jfox.soaf.schema.config.ConfigurationEntry vConfigurationEntry)
165 throws java.lang.IndexOutOfBoundsException {
166
167 if ((index < 0) || (index > _configurationEntryList.size())) {
168 throw new IndexOutOfBoundsException();
169 }
170 _configurationEntryList.setElementAt(vConfigurationEntry, index);
171 }
172
173 /***
174 * Method setConfigurationEntry
175 *
176 * @param configurationEntryArray
177 */
178 public void setConfigurationEntry(
179 org.huihoo.jfox.soaf.schema.config.ConfigurationEntry[] configurationEntryArray) {
180
181 _configurationEntryList.removeAllElements();
182 for (int i = 0; i < configurationEntryArray.length; i++) {
183 _configurationEntryList.addElement(configurationEntryArray[i]);
184 }
185 }
186
187 /***
188 * Method unmarshal
189 *
190 * @param reader
191 */
192 public static org.huihoo.jfox.soaf.schema.config.ServiceConfiguration unmarshal(
193 java.io.Reader reader)
194 throws org.exolab.castor.xml.MarshalException,
195 org.exolab.castor.xml.ValidationException {
196 return (org.huihoo.jfox.soaf.schema.config.ServiceConfiguration) Unmarshaller
197 .unmarshal(
198 org.huihoo.jfox.soaf.schema.config.ServiceConfiguration.class,
199 reader);
200 }
201
202 /***
203 * Method validate
204 */
205 public void validate() throws org.exolab.castor.xml.ValidationException {
206 org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
207 validator.validate(this);
208 }
209
210 }