KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > config > serverbeans > Mbean


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23  
24 /**
25  * This generated bean class Mbean matches the DTD element mbean
26  *
27  */

28
29 package com.sun.enterprise.config.serverbeans;
30
31 import org.w3c.dom.*;
32 import org.netbeans.modules.schema2beans.*;
33 import java.beans.*;
34 import java.util.*;
35 import java.io.Serializable JavaDoc;
36 import com.sun.enterprise.config.ConfigBean;
37 import com.sun.enterprise.config.ConfigException;
38 import com.sun.enterprise.config.StaleWriteConfigException;
39 import com.sun.enterprise.util.i18n.StringManager;
40
41 // BEGIN_NOI18N
42

43 public class Mbean extends ConfigBean implements Serializable JavaDoc
44 {
45
46     static Vector comparators = new Vector();
47     private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(4, 2, 0);
48
49     static public final String JavaDoc DESCRIPTION = "Description";
50     static public final String JavaDoc ELEMENT_PROPERTY = "ElementProperty";
51
52     public Mbean() {
53         this(Common.USE_DEFAULT_VALUES);
54     }
55
56     public Mbean(int options)
57     {
58         super(comparators, runtimeVersion);
59         // Properties (see root bean comments for the bean graph)
60
initPropertyTables(2);
61         this.createProperty("description", DESCRIPTION,
62             Common.TYPE_0_1 | Common.TYPE_STRING | Common.TYPE_KEY,
63             String JavaDoc.class);
64         this.createProperty("property", ELEMENT_PROPERTY,
65             Common.TYPE_0_N | Common.TYPE_BEAN | Common.TYPE_KEY,
66             ElementProperty.class);
67         this.createAttribute(ELEMENT_PROPERTY, "name", "Name",
68                         AttrProp.CDATA | AttrProp.REQUIRED,
69                         null, null);
70         this.createAttribute(ELEMENT_PROPERTY, "value", "Value",
71                         AttrProp.CDATA | AttrProp.REQUIRED,
72                         null, null);
73         this.initialize(options);
74     }
75
76     // Setting the default values of the properties
77
void initialize(int options) {
78
79     }
80
81     /**
82     * Return the Description of the Element mbean
83     */

84     public String JavaDoc getDescription() {
85         return (String JavaDoc) getValue(ServerTags.DESCRIPTION);
86     }
87     /**
88     * Modify the Description of the Element mbean
89     * @param v the new value
90     */

91     public void setDescription(String JavaDoc v){
92         setValue(ServerTags.DESCRIPTION, (null != v ? v.trim() : null));
93         }
94     // This attribute is an array, possibly empty
95
public void setElementProperty(int index, ElementProperty value) {
96         this.setValue(ELEMENT_PROPERTY, index, value);
97     }
98
99     // Get Method
100
public ElementProperty getElementProperty(int index) {
101         return (ElementProperty)this.getValue(ELEMENT_PROPERTY, index);
102     }
103
104     // This attribute is an array, possibly empty
105
public void setElementProperty(ElementProperty[] value) {
106         this.setValue(ELEMENT_PROPERTY, value);
107     }
108
109     // Getter Method
110
public ElementProperty[] getElementProperty() {
111         return (ElementProperty[])this.getValues(ELEMENT_PROPERTY);
112     }
113
114     // Return the number of properties
115
public int sizeElementProperty() {
116         return this.size(ELEMENT_PROPERTY);
117     }
118
119     // Add a new element returning its index in the list
120
public int addElementProperty(ElementProperty value)
121             throws ConfigException{
122         return addElementProperty(value, true);
123     }
124
125     // Add a new element returning its index in the list with a boolean flag
126
public int addElementProperty(ElementProperty value, boolean overwrite)
127             throws ConfigException{
128         ElementProperty old = getElementPropertyByName(value.getName());
129         if(old != null) {
130             throw new ConfigException(StringManager.getManager(Mbean.class).getString("cannotAddDuplicate", "ElementProperty"));
131         }
132         return this.addValue(ELEMENT_PROPERTY, value, overwrite);
133     }
134
135     //
136
// Remove an element using its reference
137
// Returns the index the element had in the list
138
//
139
public int removeElementProperty(ElementProperty value){
140         return this.removeValue(ELEMENT_PROPERTY, value);
141     }
142
143     //
144
// Remove an element using its reference
145
// Returns the index the element had in the list
146
// with boolean overwrite
147
//
148
public int removeElementProperty(ElementProperty value, boolean overwrite)
149             throws StaleWriteConfigException{
150         return this.removeValue(ELEMENT_PROPERTY, value, overwrite);
151     }
152
153     public ElementProperty getElementPropertyByName(String JavaDoc id) {
154      if (null != id) { id = id.trim(); }
155     ElementProperty[] o = getElementProperty();
156      if (o == null) return null;
157
158      for (int i=0; i < o.length; i++) {
159          if(o[i].getAttributeValue(Common.convertName(ServerTags.NAME)).equals(id)) {
160              return o[i];
161          }
162      }
163
164         return null;
165         
166     }
167     /**
168     * Getter for Name of the Element mbean
169     * @return the Name of the Element mbean
170     */

171     public String JavaDoc getName() {
172         return getAttributeValue(ServerTags.NAME);
173     }
174     /**
175     * Modify the Name of the Element mbean
176     * @param v the new value
177     * @throws StaleWriteConfigException if overwrite is false and file changed on disk
178     */

179     public void setName(String JavaDoc v, boolean overwrite) throws StaleWriteConfigException {
180         setAttributeValue(ServerTags.NAME, v, overwrite);
181     }
182     /**
183     * Modify the Name of the Element mbean
184     * @param v the new value
185     */

186     public void setName(String JavaDoc v) {
187         setAttributeValue(ServerTags.NAME, v);
188     }
189     /**
190     * Getter for ObjectType of the Element mbean
191     * @return the ObjectType of the Element mbean
192     */

193     public String JavaDoc getObjectType() {
194         return getAttributeValue(ServerTags.OBJECT_TYPE);
195     }
196     /**
197     * Modify the ObjectType of the Element mbean
198     * @param v the new value
199     * @throws StaleWriteConfigException if overwrite is false and file changed on disk
200     */

201     public void setObjectType(String JavaDoc v, boolean overwrite) throws StaleWriteConfigException {
202         setAttributeValue(ServerTags.OBJECT_TYPE, v, overwrite);
203     }
204     /**
205     * Modify the ObjectType of the Element mbean
206     * @param v the new value
207     */

208     public void setObjectType(String JavaDoc v) {
209         setAttributeValue(ServerTags.OBJECT_TYPE, v);
210     }
211     /**
212     * Get the default value of ObjectType from dtd
213     */

214     public static String JavaDoc getDefaultObjectType() {
215         return "user".trim();
216     }
217     /**
218     * Getter for ImplClassName of the Element mbean
219     * @return the ImplClassName of the Element mbean
220     */

221     public String JavaDoc getImplClassName() {
222         return getAttributeValue(ServerTags.IMPL_CLASS_NAME);
223     }
224     /**
225     * Modify the ImplClassName of the Element mbean
226     * @param v the new value
227     * @throws StaleWriteConfigException if overwrite is false and file changed on disk
228     */

229     public void setImplClassName(String JavaDoc v, boolean overwrite) throws StaleWriteConfigException {
230         setAttributeValue(ServerTags.IMPL_CLASS_NAME, v, overwrite);
231     }
232     /**
233     * Modify the ImplClassName of the Element mbean
234     * @param v the new value
235     */

236     public void setImplClassName(String JavaDoc v) {
237         setAttributeValue(ServerTags.IMPL_CLASS_NAME, v);
238     }
239     /**
240     * Getter for ObjectName of the Element mbean
241     * @return the ObjectName of the Element mbean
242     */

243     public String JavaDoc getObjectName() {
244             return getAttributeValue(ServerTags.OBJECT_NAME);
245     }
246     /**
247     * Modify the ObjectName of the Element mbean
248     * @param v the new value
249     * @throws StaleWriteConfigException if overwrite is false and file changed on disk
250     */

251     public void setObjectName(String JavaDoc v, boolean overwrite) throws StaleWriteConfigException {
252         setAttributeValue(ServerTags.OBJECT_NAME, v, overwrite);
253     }
254     /**
255     * Modify the ObjectName of the Element mbean
256     * @param v the new value
257     */

258     public void setObjectName(String JavaDoc v) {
259         setAttributeValue(ServerTags.OBJECT_NAME, v);
260     }
261     /**
262     * Getter for Enabled of the Element mbean
263     * @return the Enabled of the Element mbean
264     */

265     public boolean isEnabled() {
266         return toBoolean(getAttributeValue(ServerTags.ENABLED));
267     }
268     /**
269     * Modify the Enabled of the Element mbean
270     * @param v the new value
271     * @throws StaleWriteConfigException if overwrite is false and file changed on disk
272     */

273     public void setEnabled(boolean v, boolean overwrite) throws StaleWriteConfigException {
274         setAttributeValue(ServerTags.ENABLED, ""+(v==true), overwrite);
275     }
276     /**
277     * Modify the Enabled of the Element mbean
278     * @param v the new value
279     */

280     public void setEnabled(boolean v) {
281         setAttributeValue(ServerTags.ENABLED, ""+(v==true));
282     }
283     /**
284     * Get the default value of Enabled from dtd
285     */

286     public static String JavaDoc getDefaultEnabled() {
287         return "true".trim();
288     }
289     /**
290      * Create a new bean using it's default constructor.
291      * This does not add it to any bean graph.
292      */

293     public ElementProperty newElementProperty() {
294         return new ElementProperty();
295     }
296
297     /**
298     * get the xpath representation for this element
299     * returns something like abc[@name='value'] or abc
300     * depending on the type of the bean
301     */

302     protected String JavaDoc getRelativeXPath() {
303         String JavaDoc ret = null;
304         ret = "mbean" + (canHaveSiblings() ? "[@name='" + getAttributeValue("name") +"']" : "") ;
305         return (null != ret ? ret.trim() : null);
306     }
307
308     /*
309     * generic method to get default value from dtd
310     */

311     public static String JavaDoc getDefaultAttributeValue(String JavaDoc attr) {
312         if(attr == null) return null;
313         attr = attr.trim();
314         if(attr.equals(ServerTags.OBJECT_TYPE)) return "user".trim();
315         if(attr.equals(ServerTags.ENABLED)) return "true".trim();
316     return null;
317     }
318     //
319
public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) {
320         comparators.add(c);
321     }
322
323     //
324
public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) {
325         comparators.remove(c);
326     }
327     public void validate() throws org.netbeans.modules.schema2beans.ValidateException {
328     }
329
330     // Dump the content of this bean returning it as a String
331
public void dump(StringBuffer JavaDoc str, String JavaDoc indent){
332         String JavaDoc s;
333         Object JavaDoc o;
334         org.netbeans.modules.schema2beans.BaseBean n;
335         str.append(indent);
336         str.append("Description"); // NOI18N
337
str.append(indent+"\t"); // NOI18N
338
str.append("<"); // NOI18N
339
o = this.getDescription();
340         str.append((o==null?"null":o.toString().trim())); // NOI18N
341
str.append(">\n"); // NOI18N
342
this.dumpAttributes(DESCRIPTION, 0, str, indent);
343
344         str.append(indent);
345         str.append("ElementProperty["+this.sizeElementProperty()+"]"); // NOI18N
346
for(int i=0; i<this.sizeElementProperty(); i++)
347         {
348             str.append(indent+"\t");
349             str.append("#"+i+":");
350             n = (org.netbeans.modules.schema2beans.BaseBean) this.getElementProperty(i);
351             if (n != null)
352                 n.dump(str, indent + "\t"); // NOI18N
353
else
354                 str.append(indent+"\tnull"); // NOI18N
355
this.dumpAttributes(ELEMENT_PROPERTY, i, str, indent);
356         }
357
358     }
359     public String JavaDoc dumpBeanNode(){
360         StringBuffer JavaDoc str = new StringBuffer JavaDoc();
361         str.append("Mbean\n"); // NOI18N
362
this.dump(str, "\n "); // NOI18N
363
return str.toString();
364     }}
365
366 // END_NOI18N
367

368
Popular Tags