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: *
008: * modify it under the terms of the GNU Lesser General Public
009: * License as published by the Free Software Foundation; either
010: * version 2.1 of the License, or 1any later version.
011: *
012: * This library is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this library; if not, write to the Free Software
019: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
020: * USA
021: *
022: * Initial developer: JOnAS team
023: * --------------------------------------------------------------------------
024: * $Id: PortComponent.java 5044 2004-07-01 14:54:13Z sauthieg $
025: * --------------------------------------------------------------------------
026: */package org.objectweb.jonas_ws.deployment.xml;
027:
028: import org.objectweb.jonas_lib.deployment.xml.AbsDescriptionElement;
029: import org.objectweb.jonas_lib.deployment.xml.DescriptionGroupXml;
030: import org.objectweb.jonas_lib.deployment.xml.Handler;
031: import org.objectweb.jonas_lib.deployment.xml.JLinkedList;
032: import org.objectweb.jonas_lib.deployment.xml.Qname;
033:
034: /**
035: * This class defines the implementation of the element port-component
036: * (use here the common handler object defined in jonas-lib,
037: * even if there is no "port-name" in our case)
038: *
039: * @author JOnAS team
040: */
041:
042: public class PortComponent extends AbsDescriptionElement implements
043: DescriptionGroupXml {
044:
045: /**
046: * port-component-name
047: */
048: private String portComponentName = null;
049:
050: /**
051: * wsdl-port
052: */
053: private Qname wsdlPort = null;
054:
055: /**
056: * service-endpoint-interface
057: */
058: private String serviceEndpointInterface = null;
059:
060: /**
061: * service-impl-bean
062: */
063: private ServiceImplBean serviceImplBean = null;
064:
065: /**
066: * handler
067: * (use here the common handler object defined in jonas-lib,
068: * even if there is no "port-name" in our case)
069: */
070: private JLinkedList handlerList = null;
071:
072: /**
073: * Constructor
074: */
075: public PortComponent() {
076: super ();
077: handlerList = new JLinkedList("handler");
078: }
079:
080: /**
081: * Gets the port-component-name
082: * @return the port-component-name
083: */
084: public String getPortComponentName() {
085: return portComponentName;
086: }
087:
088: /**
089: * Set the port-component-name
090: * @param portComponentName portComponentName
091: */
092: public void setPortComponentName(String portComponentName) {
093: this .portComponentName = portComponentName;
094: }
095:
096: /**
097: * Gets the wsdl-port
098: * @return the wsdl-port
099: */
100: public Qname getWsdlPort() {
101: return wsdlPort;
102: }
103:
104: /**
105: * Set the wsdl-port
106: * @param wsdlPort wsdlPort
107: */
108: public void setWsdlPort(Qname wsdlPort) {
109: this .wsdlPort = wsdlPort;
110: }
111:
112: /**
113: * Gets the service-endpoint-interface
114: * @return the service-endpoint-interface
115: */
116: public String getServiceEndpointInterface() {
117: return serviceEndpointInterface;
118: }
119:
120: /**
121: * Set the service-endpoint-interface
122: * @param serviceEndpointInterface serviceEndpointInterface
123: */
124: public void setServiceEndpointInterface(
125: String serviceEndpointInterface) {
126: this .serviceEndpointInterface = serviceEndpointInterface;
127: }
128:
129: /**
130: * Gets the service-impl-bean
131: * @return the service-impl-bean
132: */
133: public ServiceImplBean getServiceImplBean() {
134: return serviceImplBean;
135: }
136:
137: /**
138: * Set the service-impl-bean
139: * @param serviceImplBean serviceImplBean
140: */
141: public void setServiceImplBean(ServiceImplBean serviceImplBean) {
142: this .serviceImplBean = serviceImplBean;
143: }
144:
145: /**
146: * Gets the handler
147: * @return the handler
148: */
149: public JLinkedList getHandlerList() {
150: return handlerList;
151: }
152:
153: /**
154: * Set the handler
155: * @param handlerList handler
156: */
157: public void setHandlerList(JLinkedList handlerList) {
158: this .handlerList = handlerList;
159: }
160:
161: /**
162: * Add a new handler element to this object
163: * @param handler the handlerobject
164: */
165: public void addHandler(Handler handler) {
166: handlerList.add(handler);
167: }
168:
169: /**
170: * Represents this element by it's XML description.
171: * @param indent use this indent for prexifing XML representation.
172: * @return the XML description of this object.
173: */
174: public String toXML(int indent) {
175: StringBuffer sb = new StringBuffer();
176: sb.append(indent(indent));
177: sb.append("<port-component>\n");
178:
179: indent += 2;
180:
181: // description
182: sb.append(xmlElement(getDescription(), "description", indent));
183: // display-name
184: sb.append(xmlElement(getDisplayName(), "display-name", indent));
185: // icon
186: sb.append(getIcon().toXML(indent));
187: // port-component-name
188: sb.append(xmlElement(portComponentName, "port-component-name",
189: indent));
190: // wsdl-port
191: if (wsdlPort != null) {
192: sb.append(wsdlPort.toXML(indent));
193: }
194: // service-endpoint-interface
195: sb.append(xmlElement(serviceEndpointInterface,
196: "service-endpoint-interface", indent));
197: // service-impl-bean
198: if (serviceImplBean != null) {
199: sb.append(serviceImplBean.toXML(indent));
200: }
201: // handler
202: sb.append(handlerList.toXML(indent));
203: indent -= 2;
204: sb.append(indent(indent));
205: sb.append("</port-component>\n");
206:
207: return sb.toString();
208: }
209: }
|