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 MailResource 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 MailResource() { 53 this(Common.USE_DEFAULT_VALUES); 54 } 55 56 public MailResource(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(MailResource.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 getJndiName() { 172 return getAttributeValue(ServerTags.JNDI_NAME); 173 } 174 179 public void setJndiName(String v, boolean overwrite) throws StaleWriteConfigException { 180 setAttributeValue(ServerTags.JNDI_NAME, v, overwrite); 181 } 182 186 public void setJndiName(String v) { 187 setAttributeValue(ServerTags.JNDI_NAME, v); 188 } 189 193 public String getStoreProtocol() { 194 return getAttributeValue(ServerTags.STORE_PROTOCOL); 195 } 196 201 public void setStoreProtocol(String v, boolean overwrite) throws StaleWriteConfigException { 202 setAttributeValue(ServerTags.STORE_PROTOCOL, v, overwrite); 203 } 204 208 public void setStoreProtocol(String v) { 209 setAttributeValue(ServerTags.STORE_PROTOCOL, v); 210 } 211 214 public static String getDefaultStoreProtocol() { 215 return "imap".trim(); 216 } 217 221 public String getStoreProtocolClass() { 222 return getAttributeValue(ServerTags.STORE_PROTOCOL_CLASS); 223 } 224 229 public void setStoreProtocolClass(String v, boolean overwrite) throws StaleWriteConfigException { 230 setAttributeValue(ServerTags.STORE_PROTOCOL_CLASS, v, overwrite); 231 } 232 236 public void setStoreProtocolClass(String v) { 237 setAttributeValue(ServerTags.STORE_PROTOCOL_CLASS, v); 238 } 239 242 public static String getDefaultStoreProtocolClass() { 243 return "com.sun.mail.imap.IMAPStore".trim(); 244 } 245 249 public String getTransportProtocol() { 250 return getAttributeValue(ServerTags.TRANSPORT_PROTOCOL); 251 } 252 257 public void setTransportProtocol(String v, boolean overwrite) throws StaleWriteConfigException { 258 setAttributeValue(ServerTags.TRANSPORT_PROTOCOL, v, overwrite); 259 } 260 264 public void setTransportProtocol(String v) { 265 setAttributeValue(ServerTags.TRANSPORT_PROTOCOL, v); 266 } 267 270 public static String getDefaultTransportProtocol() { 271 return "smtp".trim(); 272 } 273 277 public String getTransportProtocolClass() { 278 return getAttributeValue(ServerTags.TRANSPORT_PROTOCOL_CLASS); 279 } 280 285 public void setTransportProtocolClass(String v, boolean overwrite) throws StaleWriteConfigException { 286 setAttributeValue(ServerTags.TRANSPORT_PROTOCOL_CLASS, v, overwrite); 287 } 288 292 public void setTransportProtocolClass(String v) { 293 setAttributeValue(ServerTags.TRANSPORT_PROTOCOL_CLASS, v); 294 } 295 298 public static String getDefaultTransportProtocolClass() { 299 return "com.sun.mail.smtp.SMTPTransport".trim(); 300 } 301 305 public String getHost() { 306 return getAttributeValue(ServerTags.HOST); 307 } 308 313 public void setHost(String v, boolean overwrite) throws StaleWriteConfigException { 314 setAttributeValue(ServerTags.HOST, v, overwrite); 315 } 316 320 public void setHost(String v) { 321 setAttributeValue(ServerTags.HOST, v); 322 } 323 327 public String getUser() { 328 return getAttributeValue(ServerTags.USER); 329 } 330 335 public void setUser(String v, boolean overwrite) throws StaleWriteConfigException { 336 setAttributeValue(ServerTags.USER, v, overwrite); 337 } 338 342 public void setUser(String v) { 343 setAttributeValue(ServerTags.USER, v); 344 } 345 349 public String getFrom() { 350 return getAttributeValue(ServerTags.FROM); 351 } 352 357 public void setFrom(String v, boolean overwrite) throws StaleWriteConfigException { 358 setAttributeValue(ServerTags.FROM, v, overwrite); 359 } 360 364 public void setFrom(String v) { 365 setAttributeValue(ServerTags.FROM, v); 366 } 367 371 public boolean isDebug() { 372 return toBoolean(getAttributeValue(ServerTags.DEBUG)); 373 } 374 379 public void setDebug(boolean v, boolean overwrite) throws StaleWriteConfigException { 380 setAttributeValue(ServerTags.DEBUG, ""+(v==true), overwrite); 381 } 382 386 public void setDebug(boolean v) { 387 setAttributeValue(ServerTags.DEBUG, ""+(v==true)); 388 } 389 392 public static String getDefaultDebug() { 393 return "false".trim(); 394 } 395 399 public String getObjectType() { 400 return getAttributeValue(ServerTags.OBJECT_TYPE); 401 } 402 407 public void setObjectType(String v, boolean overwrite) throws StaleWriteConfigException { 408 setAttributeValue(ServerTags.OBJECT_TYPE, v, overwrite); 409 } 410 414 public void setObjectType(String v) { 415 setAttributeValue(ServerTags.OBJECT_TYPE, v); 416 } 417 420 public static String getDefaultObjectType() { 421 return "user".trim(); 422 } 423 427 public boolean isEnabled() { 428 return toBoolean(getAttributeValue(ServerTags.ENABLED)); 429 } 430 435 public void setEnabled(boolean v, boolean overwrite) throws StaleWriteConfigException { 436 setAttributeValue(ServerTags.ENABLED, ""+(v==true), overwrite); 437 } 438 442 public void setEnabled(boolean v) { 443 setAttributeValue(ServerTags.ENABLED, ""+(v==true)); 444 } 445 448 public static String getDefaultEnabled() { 449 return "true".trim(); 450 } 451 455 public ElementProperty newElementProperty() { 456 return new ElementProperty(); 457 } 458 459 464 protected String getRelativeXPath() { 465 String ret = null; 466 ret = "mail-resource" + (canHaveSiblings() ? "[@jndi-name='" + getAttributeValue("jndi-name") +"']" : "") ; 467 return (null != ret ? ret.trim() : null); 468 } 469 470 473 public static String getDefaultAttributeValue(String attr) { 474 if(attr == null) return null; 475 attr = attr.trim(); 476 if(attr.equals(ServerTags.STORE_PROTOCOL)) return "imap".trim(); 477 if(attr.equals(ServerTags.STORE_PROTOCOL_CLASS)) return "com.sun.mail.imap.IMAPStore".trim(); 478 if(attr.equals(ServerTags.TRANSPORT_PROTOCOL)) return "smtp".trim(); 479 if(attr.equals(ServerTags.TRANSPORT_PROTOCOL_CLASS)) return "com.sun.mail.smtp.SMTPTransport".trim(); 480 if(attr.equals(ServerTags.DEBUG)) return "false".trim(); 481 if(attr.equals(ServerTags.OBJECT_TYPE)) return "user".trim(); 482 if(attr.equals(ServerTags.ENABLED)) return "true".trim(); 483 return null; 484 } 485 public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { 487 comparators.add(c); 488 } 489 490 public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { 492 comparators.remove(c); 493 } 494 public void validate() throws org.netbeans.modules.schema2beans.ValidateException { 495 } 496 497 public void dump(StringBuffer str, String indent){ 499 String s; 500 Object o; 501 org.netbeans.modules.schema2beans.BaseBean n; 502 str.append(indent); 503 str.append("Description"); str.append(indent+"\t"); str.append("<"); o = this.getDescription(); 507 str.append((o==null?"null":o.toString().trim())); str.append(">\n"); this.dumpAttributes(DESCRIPTION, 0, str, indent); 510 511 str.append(indent); 512 str.append("ElementProperty["+this.sizeElementProperty()+"]"); for(int i=0; i<this.sizeElementProperty(); i++) 514 { 515 str.append(indent+"\t"); 516 str.append("#"+i+":"); 517 n = (org.netbeans.modules.schema2beans.BaseBean) this.getElementProperty(i); 518 if (n != null) 519 n.dump(str, indent + "\t"); else 521 str.append(indent+"\tnull"); this.dumpAttributes(ELEMENT_PROPERTY, i, str, indent); 523 } 524 525 } 526 public String dumpBeanNode(){ 527 StringBuffer str = new StringBuffer (); 528 str.append("MailResource\n"); this.dump(str, "\n "); return str.toString(); 531 }} 532 533 535 | Popular Tags |