001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or 1any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * Initial developer: Florent BENOIT
022: * --------------------------------------------------------------------------
023: * $Id: Handler.java 4718 2004-05-10 12:06:09Z sauthieg $
024: * --------------------------------------------------------------------------
025: */package org.objectweb.jonas_lib.deployment.xml;
026:
027: /**
028: * This class defines the implementation of the element handler.
029: * @author Florent Benoit
030: */
031: public class Handler extends AbsElement {
032:
033: /**
034: * Name of the handler
035: */
036: private String handlerName = null;
037:
038: /**
039: * List of elements init-param
040: */
041: private JLinkedList initParamList = null;
042:
043: /**
044: * List of elements soap-header
045: */
046: private JLinkedList soapHeaderList = null;
047:
048: /**
049: * List of elements soap-role
050: */
051: private JLinkedList soapRoleList = null;
052:
053: /**
054: * List of elements port-name
055: */
056: private JLinkedList portNameList = null;
057:
058: /**
059: * Class of the handler
060: */
061: private String handlerClass = null;
062:
063: /**
064: * Constructor : build a new Handler object
065: */
066: public Handler() {
067: super ();
068: initParamList = new JLinkedList("init-param");
069: soapHeaderList = new JLinkedList("soap-header");
070: soapRoleList = new JLinkedList("soap-role");
071: portNameList = new JLinkedList("port-name");
072: }
073:
074: // Setters
075:
076: /**
077: * Sets the name
078: * @param handlerName the name to use
079: */
080: public void setHandlerName(String handlerName) {
081: this .handlerName = handlerName;
082: }
083:
084: /**
085: * Add a new port-name element to this object
086: * @param portName the port-name object
087: */
088: public void addPortName(String portName) {
089: portNameList.add(portName);
090: }
091:
092: /**
093: * Add a new soap-role element to this object
094: * @param soapRole the soap-role object
095: */
096: public void addSoapRole(String soapRole) {
097: soapRoleList.add(soapRole);
098: }
099:
100: /**
101: * Add a new soap-header element to this object
102: * @param soapHeader the soap-header object
103: */
104: public void addSoapHeader(Qname soapHeader) {
105: soapHeaderList.add(soapHeader);
106: }
107:
108: /**
109: * Add a new init-param element to this object
110: * @param initParam the init-param object
111: */
112: public void addInitParam(InitParam initParam) {
113: initParamList.add(initParam);
114: }
115:
116: /**
117: * Sets the class
118: * @param handlerClass the class to use
119: */
120: public void setHandlerClass(String handlerClass) {
121: this .handlerClass = handlerClass;
122: }
123:
124: // Getters
125:
126: /**
127: * @return the name of the handler
128: */
129: public String getHandlerName() {
130: return handlerName;
131: }
132:
133: /**
134: * @return the class of the handler
135: */
136: public String getHandlerClass() {
137: return handlerClass;
138: }
139:
140: /**
141: * @return the list of all init-param elements
142: */
143: public JLinkedList getInitParamList() {
144: return initParamList;
145: }
146:
147: /**
148: * @return the list of all soap-header elements
149: */
150: public JLinkedList getSoapHeaderList() {
151: return soapHeaderList;
152: }
153:
154: /**
155: * @return the list of all soap-role elements
156: */
157: public JLinkedList getSoapRoleList() {
158: return soapRoleList;
159: }
160:
161: /**
162: * @return the list of all port-name elements
163: */
164: public JLinkedList getPortNameList() {
165: return portNameList;
166: }
167:
168: /**
169: * Represents this element by it's XML description.
170: * @param indent use this indent for prexifing XML representation.
171: * @return the XML description of this object.
172: */
173: public String toXML(int indent) {
174: StringBuffer sb = new StringBuffer();
175: sb.append(indent(indent));
176: sb.append("<handler>\n");
177:
178: indent += 2;
179:
180: // handler-name
181: sb.append(xmlElement(handlerName, "handler-name", indent));
182:
183: // handler-class
184: sb.append(xmlElement(handlerClass, "handler-class", indent));
185:
186: // init-param
187: sb.append(initParamList.toXML(indent));
188:
189: // soap-header
190: sb.append(soapHeaderList.toXML(indent));
191:
192: // soap-role
193: sb.append(soapRoleList.toXML(indent));
194:
195: // port-name
196: sb.append(portNameList.toXML(indent));
197:
198: indent -= 2;
199: sb.append(indent(indent));
200: sb.append("</handler>\n");
201:
202: return sb.toString();
203: }
204:
205: }
|