1 23 24 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 ; 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 43 public class Mbean extends ConfigBean implements Serializable 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 DESCRIPTION = "Description"; 50 static public final String 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 initPropertyTables(2); 61 this.createProperty("description", DESCRIPTION, 62 Common.TYPE_0_1 | Common.TYPE_STRING | Common.TYPE_KEY, 63 String .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 void initialize(int options) { 78 79 } 80 81 84 public String getDescription() { 85 return (String ) getValue(ServerTags.DESCRIPTION); 86 } 87 91 public void setDescription(String v){ 92 setValue(ServerTags.DESCRIPTION, (null != v ? v.trim() : null)); 93 } 94 public void setElementProperty(int index, ElementProperty value) { 96 this.setValue(ELEMENT_PROPERTY, index, value); 97 } 98 99 public ElementProperty getElementProperty(int index) { 101 return (ElementProperty)this.getValue(ELEMENT_PROPERTY, index); 102 } 103 104 public void setElementProperty(ElementProperty[] value) { 106 this.setValue(ELEMENT_PROPERTY, value); 107 } 108 109 public ElementProperty[] getElementProperty() { 111 return (ElementProperty[])this.getValues(ELEMENT_PROPERTY); 112 } 113 114 public int sizeElementProperty() { 116 return this.size(ELEMENT_PROPERTY); 117 } 118 119 public int addElementProperty(ElementProperty value) 121 throws ConfigException{ 122 return addElementProperty(value, true); 123 } 124 125 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 public int removeElementProperty(ElementProperty value){ 140 return this.removeValue(ELEMENT_PROPERTY, value); 141 } 142 143 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 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 171 public String getName() { 172 return getAttributeValue(ServerTags.NAME); 173 } 174 179 public void setName(String v, boolean overwrite) throws StaleWriteConfigException { 180 setAttributeValue(ServerTags.NAME, v, overwrite); 181 } 182 186 public void setName(String v) { 187 setAttributeValue(ServerTags.NAME, v); 188 } 189 193 public String getObjectType() { 194 return getAttributeValue(ServerTags.OBJECT_TYPE); 195 } 196 201 public void setObjectType(String v, boolean overwrite) throws StaleWriteConfigException { 202 setAttributeValue(ServerTags.OBJECT_TYPE, v, overwrite); 203 } 204 208 public void setObjectType(String v) { 209 setAttributeValue(ServerTags.OBJECT_TYPE, v); 210 } 211 214 public static String getDefaultObjectType() { 215 return "user".trim(); 216 } 217 221 public String getImplClassName() { 222 return getAttributeValue(ServerTags.IMPL_CLASS_NAME); 223 } 224 229 public void setImplClassName(String v, boolean overwrite) throws StaleWriteConfigException { 230 setAttributeValue(ServerTags.IMPL_CLASS_NAME, v, overwrite); 231 } 232 236 public void setImplClassName(String v) { 237 setAttributeValue(ServerTags.IMPL_CLASS_NAME, v); 238 } 239 243 public String getObjectName() { 244 return getAttributeValue(ServerTags.OBJECT_NAME); 245 } 246 251 public void setObjectName(String v, boolean overwrite) throws StaleWriteConfigException { 252 setAttributeValue(ServerTags.OBJECT_NAME, v, overwrite); 253 } 254 258 public void setObjectName(String v) { 259 setAttributeValue(ServerTags.OBJECT_NAME, v); 260 } 261 265 public boolean isEnabled() { 266 return toBoolean(getAttributeValue(ServerTags.ENABLED)); 267 } 268 273 public void setEnabled(boolean v, boolean overwrite) throws StaleWriteConfigException { 274 setAttributeValue(ServerTags.ENABLED, ""+(v==true), overwrite); 275 } 276 280 public void setEnabled(boolean v) { 281 setAttributeValue(ServerTags.ENABLED, ""+(v==true)); 282 } 283 286 public static String getDefaultEnabled() { 287 return "true".trim(); 288 } 289 293 public ElementProperty newElementProperty() { 294 return new ElementProperty(); 295 } 296 297 302 protected String getRelativeXPath() { 303 String ret = null; 304 ret = "mbean" + (canHaveSiblings() ? "[@name='" + getAttributeValue("name") +"']" : "") ; 305 return (null != ret ? ret.trim() : null); 306 } 307 308 311 public static String getDefaultAttributeValue(String 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 public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { 320 comparators.add(c); 321 } 322 323 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 public void dump(StringBuffer str, String indent){ 332 String s; 333 Object o; 334 org.netbeans.modules.schema2beans.BaseBean n; 335 str.append(indent); 336 str.append("Description"); str.append(indent+"\t"); str.append("<"); o = this.getDescription(); 340 str.append((o==null?"null":o.toString().trim())); str.append(">\n"); this.dumpAttributes(DESCRIPTION, 0, str, indent); 343 344 str.append(indent); 345 str.append("ElementProperty["+this.sizeElementProperty()+"]"); 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"); else 354 str.append(indent+"\tnull"); this.dumpAttributes(ELEMENT_PROPERTY, i, str, indent); 356 } 357 358 } 359 public String dumpBeanNode(){ 360 StringBuffer str = new StringBuffer (); 361 str.append("Mbean\n"); this.dump(str, "\n "); return str.toString(); 364 }} 365 366 368 | Popular Tags |