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: JonasPortComponentRef.java 5044 2004-07-01 14:54:13Z sauthieg $
024: * --------------------------------------------------------------------------
025: */package org.objectweb.jonas_lib.deployment.xml;
026:
027: /**
028: * This class defines the implementation of the element jonas-port-component-ref.
029: * @author Florent Benoit
030: */
031: public class JonasPortComponentRef extends AbsElement {
032:
033: /**
034: * service endpoint interface
035: */
036: private String serviceEndpointInterface = null;
037:
038: /**
039: * wsdl port
040: */
041: private Qname wsdlPort = null;
042:
043: /**
044: * jonas-stub-property list
045: */
046: private JLinkedList jonasStubPropList = null;
047:
048: /**
049: * jonas-call-property list
050: */
051: private JLinkedList jonasCallPropList = null;
052:
053: /**
054: * Constructor : build a new JonasServiceRef object
055: */
056: public JonasPortComponentRef() {
057: jonasStubPropList = new JLinkedList("jonas-stub-property");
058: jonasCallPropList = new JLinkedList("jonas-call-property");
059: }
060:
061: // Setters
062:
063: /**
064: * Sets the wsdl port QName of the jonas-port-component-ref
065: * @param wsdlPort wsdl port QName of the jonas-port-component-ref
066: */
067: public void setWsdlPort(Qname wsdlPort) {
068: this .wsdlPort = wsdlPort;
069: }
070:
071: /**
072: * Sets the service endpoint interface of the port-component-ref
073: * @param serviceEndpointInterface service endpoint interface of the port-component-ref
074: */
075: public void setServiceEndpointInterface(
076: String serviceEndpointInterface) {
077: this .serviceEndpointInterface = serviceEndpointInterface;
078: }
079:
080: /**
081: * Add a parameter
082: * @param jonasCallProperty the JonasCallProperty object to add to our list
083: */
084: public void addJonasCallProperty(JonasCallProperty jonasCallProperty) {
085: jonasCallPropList.add(jonasCallProperty);
086: }
087:
088: /**
089: * Add a parameter
090: * @param jonasStubProperty the JonasStubProperty object to add to our list
091: */
092: public void addJonasStubProperty(JonasStubProperty jonasStubProperty) {
093: jonasStubPropList.add(jonasStubProperty);
094: }
095:
096: // Getters
097:
098: /**
099: * @return the service endpoint interface of the port-component-ref
100: */
101: public String getServiceEndpointInterface() {
102: return serviceEndpointInterface;
103: }
104:
105: /**
106: * @return the wsdl port QName of the jonas-port-component-ref
107: */
108: public Qname getWsdlPort() {
109: return wsdlPort;
110: }
111:
112: /**
113: * @return the list of jonas-call-property
114: */
115: public JLinkedList getJonasCallPropertyList() {
116: return jonasCallPropList;
117: }
118:
119: /**
120: * @return the list of jonas-stub-property
121: */
122: public JLinkedList getJonasStubPropertyList() {
123: return jonasStubPropList;
124: }
125:
126: /**
127: * Represents this element by it's XML description.
128: * @param indent use this indent for prexifing XML representation.
129: * @return the XML description of this object.
130: */
131: public String toXML(int indent) {
132: StringBuffer sb = new StringBuffer();
133: sb.append(indent(indent));
134: sb.append("<jonas-port-component-ref>\n");
135:
136: indent += 2;
137:
138: // service-endpoint-interface
139: if (serviceEndpointInterface != null) {
140: sb.append(xmlElement(serviceEndpointInterface,
141: "service-endpoint-interface", indent));
142: }
143:
144: // wsdl-port
145: if (wsdlPort != null) {
146: sb.append(wsdlPort.toXML(indent));
147: }
148:
149: // jonas-stub-property
150: sb.append(jonasStubPropList.toXML(indent));
151:
152: // jonas-call-property
153: sb.append(jonasCallPropList.toXML(indent));
154:
155: indent -= 2;
156: sb.append(indent(indent));
157: sb.append("</jonas-port-component-ref>\n");
158:
159: return sb.toString();
160: }
161: }
|