1 14 15 package xmladder; 16 17 import org.apache.commons.digester.*; 18 import java.util.logging.*; 19 import java.io.*; 20 21 27 public class AddNumberReq { 28 private static Logger logger = Logger.getLogger(AddNumberReq.class.getName()); 29 private static boolean performanceTest = false; 31 private static Digester digester = null; 32 33 static { 34 performanceTest = Boolean.getBoolean("xmladder.AddNumberReq.performanceTest"); 35 36 if(performanceTest==false) { 37 digester = new Digester(); 38 digester.setValidating(false); 39 digester.setUseContextClassLoader(true); 40 String mainTag = "add-number-req"; 41 digester.addObjectCreate(mainTag, AddNumberReq.class); 42 digester.addBeanPropertySetter(mainTag+"/number-a", "numberA"); 43 digester.addBeanPropertySetter(mainTag+"/number-b", "numberB"); 44 } 45 } 46 47 private int numberA; 48 private int numberB; 49 50 53 public int getNumberA() { 54 return numberA; 55 } 56 57 60 public void setNumberA(int numberA) { 61 this.numberA = numberA; 62 } 63 64 67 public int getNumberB() { 68 return numberB; 69 } 70 71 74 public void setNumberB(int numberB) { 75 this.numberB = numberB; 76 } 77 78 public String toXML() { 79 StringBuffer sb = new StringBuffer (); 80 sb.append("<add-number-req>\n"); 81 sb.append("\t<number-a>").append(getNumberA()).append("</number-a>\n"); 82 sb.append("\t<number-b>").append(getNumberB()).append("</number-b>\n"); 83 sb.append("</add-number-req>"); 84 return sb.toString(); 85 } 86 87 public static AddNumberReq fromXML(String data) 88 throws IOException, org.xml.sax.SAXException { 89 AddNumberReq addNumberReq = null; 90 if(performanceTest==false) { 91 logger.fine("Got xml:\n"+ data); 92 93 addNumberReq = (AddNumberReq) digester.parse( 94 new ByteArrayInputStream(data.getBytes("UTF-8"))); 95 } else { 96 addNumberReq = new AddNumberReq(); 97 addNumberReq.setNumberA(14); 98 addNumberReq.setNumberB(9); 99 } 100 return addNumberReq; 101 } 102 } 103 | Popular Tags |