1 6 package org.jfox.ejb.meta; 7 8 import org.jfox.ioc.util.XMLUtils; 9 import org.w3c.dom.Node ; 10 11 14 15 public class EnvEntryDescriptor extends Descriptor { 16 private String name; 17 private String type; 18 private String value; 19 20 public EnvEntryDescriptor() { 21 } 22 23 public void processXML(Node node) throws EJBDescriptionException { 24 super.processXML(node); 25 setName(XMLUtils.getChildNodeValueOf(node, "env-entry-name")); 26 setType(XMLUtils.getChildNodeValueOf(node, "env-entry-type")); 27 setValue(XMLUtils.getChildNodeValueOf(node, "env-entry-value")); 28 } 29 30 public String getName() { 31 return name; 32 } 33 34 public void setName(String name) { 35 this.name = name; 36 } 37 38 public String getType() { 39 return type; 40 } 41 42 public void setType(String type) { 43 this.type = type; 44 } 45 46 public String getValue() { 47 return value; 48 } 49 50 public void setValue(String value) { 51 this.value = value; 52 } 53 54 public Object getValueObject() { 55 String type = getType(); 56 if(value == null || "".equals(value) && !type.equals("java.lang.String")) 57 return null; 58 if(type.equals("java.lang.Boolean")) 59 return new Boolean (value); 60 if(type.equals("java.lang.String")) 61 return value; 62 if(type.equals("java.lang.Integer")) 63 return new Integer (value); 64 if(type.equals("java.lang.Double")) 65 return new Double (value); 66 if(type.equals("java.lang.Byte")) 67 return new Byte (value); 68 if(type.equals("java.lang.Short")) 69 return new Short (value); 70 if(type.equals("java.lang.Long")) 71 return new Long (value); 72 if(type.equals("java.lang.Float")) 73 return new Float (value); 74 else 75 throw new IllegalArgumentException ("Illegal type for environment entry: " + type); 76 } 77 78 public boolean equals(Object obj) { 79 if(obj instanceof EnvEntryDescriptor) 80 return name.equals(((EnvEntryDescriptor) obj).name); 81 else 82 return false; 83 } 84 85 public int hashCode() { 86 return name.hashCode(); 87 } 88 89 public static void main(String [] args) { 90 91 } 92 } 93 94 | Popular Tags |