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: Eric Hardesty
023: * --------------------------------------------------------------------------
024: * $Id: JonasConnectionDefinition.java 4397 2004-03-18 06:28:09Z ehardesty $
025: * --------------------------------------------------------------------------
026: */package org.objectweb.jonas_rar.deployment.xml;
027:
028: import org.objectweb.jonas_lib.deployment.xml.AbsElement;
029: import org.objectweb.jonas_lib.deployment.xml.JLinkedList;
030: import org.objectweb.jonas_lib.deployment.xml.TopLevelElement;
031:
032: /**
033: * This class defines the implementation of the element jonas-connection-definition
034: *
035: * @author Eric Hardesty
036: */
037:
038: public class JonasConnectionDefinition extends AbsElement implements
039: TopLevelElement {
040:
041: /**
042: * id
043: */
044: private String id = null;
045:
046: /**
047: * description
048: */
049: private JLinkedList descriptionList = null;
050:
051: /**
052: * jndi-name
053: */
054: private String jndiName = null;
055:
056: /**
057: * log-enabled
058: */
059: private String logEnabled = null;
060:
061: /**
062: * log-topic
063: */
064: private String logTopic = null;
065:
066: /**
067: * pool-params
068: */
069: private PoolParams poolParams = null;
070:
071: /**
072: * jdbc-conn-params
073: */
074: private JdbcConnParams jdbcConnParams = null;
075:
076: /**
077: * jonas-config-property
078: */
079: private JLinkedList jonasConfigPropertyList = null;
080:
081: /**
082: * Constructor
083: */
084: public JonasConnectionDefinition() {
085: super ();
086: descriptionList = new JLinkedList("description");
087: jonasConfigPropertyList = new JLinkedList(
088: "jonas-config-property");
089: }
090:
091: /**
092: * Gets the id
093: * @return the id
094: */
095: public String getId() {
096: return id;
097: }
098:
099: /**
100: * Set the id
101: * @param id id
102: */
103: public void setId(String id) {
104: this .id = id;
105: }
106:
107: /**
108: * Gets the description
109: * @return the description
110: */
111: public JLinkedList getDescriptionList() {
112: return descriptionList;
113: }
114:
115: /**
116: * Set the description
117: * @param descriptionList description
118: */
119: public void setDescriptionList(JLinkedList descriptionList) {
120: this .descriptionList = descriptionList;
121: }
122:
123: /**
124: * Add a new description element to this object
125: * @param description the description String
126: */
127: public void addDescription(String description) {
128: descriptionList.add(description);
129: }
130:
131: /**
132: * Gets the jndi-name
133: * @return the jndi-name
134: */
135: public String getJndiName() {
136: return jndiName;
137: }
138:
139: /**
140: * Set the jndiname
141: * @param jndiName jndiname
142: */
143: public void setJndiName(String jndiName) {
144: this .jndiName = jndiName;
145: }
146:
147: /**
148: * Gets the log-enabled
149: * @return the log-enabled
150: */
151: public String getLogEnabled() {
152: return logEnabled;
153: }
154:
155: /**
156: * Set the log-enabled
157: * @param logEnabled logEnabled
158: */
159: public void setLogEnabled(String logEnabled) {
160: this .logEnabled = logEnabled;
161: }
162:
163: /**
164: * Gets the log-topic
165: * @return the log-topic
166: */
167: public String getLogTopic() {
168: return logTopic;
169: }
170:
171: /**
172: * Set the log-topic
173: * @param logTopic logTopic
174: */
175: public void setLogTopic(String logTopic) {
176: this .logTopic = logTopic;
177: }
178:
179: /**
180: * Gets the pool-params
181: * @return the pool-params
182: */
183: public PoolParams getPoolParams() {
184: return poolParams;
185: }
186:
187: /**
188: * Set the pool-params
189: * @param poolParams poolParams
190: */
191: public void setPoolParams(PoolParams poolParams) {
192: this .poolParams = poolParams;
193: }
194:
195: /**
196: * Gets the jdbc-conn-params
197: * @return the jdbc-conn-params
198: */
199: public JdbcConnParams getJdbcConnParams() {
200: return jdbcConnParams;
201: }
202:
203: /**
204: * Set the jdbc-conn-params
205: * @param jdbcConnParams jdbcConnParams
206: */
207: public void setJdbcConnParams(JdbcConnParams jdbcConnParams) {
208: this .jdbcConnParams = jdbcConnParams;
209: }
210:
211: /**
212: * Gets the jonas-config-property
213: * @return the jonas-config-property
214: */
215: public JLinkedList getJonasConfigPropertyList() {
216: return jonasConfigPropertyList;
217: }
218:
219: /**
220: * Set the jonas-config-property
221: * @param jonasConfigPropertyList jonasConfigProperty
222: */
223: public void setJonasConfigPropertyList(
224: JLinkedList jonasConfigPropertyList) {
225: this .jonasConfigPropertyList = jonasConfigPropertyList;
226: }
227:
228: /**
229: * Add a new jonas-config-property element to this object
230: * @param jonasConfigProperty the jonasConfigPropertyobject
231: */
232: public void addJonasConfigProperty(
233: JonasConfigProperty jonasConfigProperty) {
234: jonasConfigPropertyList.add(jonasConfigProperty);
235: }
236:
237: /**
238: * Represents this element by it's XML description.
239: * @param indent use this indent for prefixing XML representation.
240: * @return the XML description of this object.
241: */
242: public String toXML(int indent) {
243: StringBuffer sb = new StringBuffer();
244: sb.append(indent(indent));
245: sb.append("<jonas-connection-definition>\n");
246:
247: indent += 2;
248:
249: // id
250: sb.append(xmlElement(id, "id", indent));
251: // description
252: sb.append(descriptionList.toXML(indent));
253: // jndiname
254: sb.append(xmlElement(jndiName, "jndi-name", indent));
255: // log-enabled
256: sb.append(xmlElement(logEnabled, "log-enabled", indent));
257: // log-topic
258: sb.append(xmlElement(logTopic, "log-topic", indent));
259: // pool-params
260: if (poolParams != null) {
261: sb.append(poolParams.toXML(indent));
262: }
263: // jdbc-conn-params
264: if (jdbcConnParams != null) {
265: sb.append(jdbcConnParams.toXML(indent));
266: }
267: // jonas-config-property
268: if (jonasConfigPropertyList != null) {
269: sb.append(jonasConfigPropertyList.toXML(indent));
270: }
271: indent -= 2;
272: sb.append(indent(indent));
273: sb.append("</jonas-connection-definition>\n");
274:
275: return sb.toString();
276: }
277: }
|