KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > xmladder > AddNumberReq


1 /*
2  * This file is part of the QuickServer library
3  * Copyright (C) QuickServer.org
4  *
5  * Use, modification, copying and distribution of this software is subject to
6  * the terms and conditions of the GNU Lesser General Public License.
7  * You should have received a copy of the GNU LGP License along with this
8  * library; if not, you can download a copy from <http://www.quickserver.org/>.
9  *
10  * For questions, suggestions, bug-reports, enhancement-requests etc.
11  * visit http://www.quickserver.org
12  *
13  */

14
15 package xmladder;
16
17 import org.apache.commons.digester.*;
18 import java.util.logging.*;
19 import java.io.*;
20
21 /*
22     <add-number-req>
23         <number-a>5</number-a>
24         <number-b>15</number-b>
25     </add-number-req>
26  */

27 public class AddNumberReq {
28     private static Logger logger = Logger.getLogger(AddNumberReq.class.getName());
29     //make true for performance testing
30
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 JavaDoc 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     /**
51      * @return
52      */

53     public int getNumberA() {
54         return numberA;
55     }
56
57     /**
58      * @param numberA
59      */

60     public void setNumberA(int numberA) {
61         this.numberA = numberA;
62     }
63
64     /**
65      * @return
66      */

67     public int getNumberB() {
68         return numberB;
69     }
70
71     /**
72      * @param numberB
73      */

74     public void setNumberB(int numberB) {
75         this.numberB = numberB;
76     }
77
78     public String JavaDoc toXML() {
79         StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
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 JavaDoc data)
88             throws IOException, org.xml.sax.SAXException JavaDoc {
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