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: JdbcMapping.java 7467 2005-10-04 12:53:14Z sauthieg $
025: * --------------------------------------------------------------------------
026: */package org.objectweb.jonas_ejb.deployment.xml;
027:
028: import org.objectweb.jonas_lib.deployment.xml.AbsElement;
029: import org.objectweb.jonas_lib.deployment.xml.JLinkedList;
030:
031: /**
032: * This class defines the implementation of the element jdbc-mapping
033: *
034: * @author JOnAS team
035: */
036:
037: public class JdbcMapping extends AbsElement {
038:
039: /**
040: * jndi-name
041: */
042: private String jndiName = null;
043:
044: /**
045: * jdbc-table-name
046: */
047: private String jdbcTableName = null;
048:
049: /**
050: * automatic-pk
051: */
052: private String automaticPk = null;
053:
054: /**
055: * jdbcAutomaticPkFieldName
056: */
057: private String jdbcAutomaticPkFieldName = null;
058:
059: /**
060: * cmp-field-jdbc-mapping
061: */
062: private JLinkedList cmpFieldJdbcMappingList = null;
063:
064: /**
065: * finder-method-jdbc-mapping
066: */
067: private JLinkedList finderMethodJdbcMappingList = null;
068:
069: /**
070: * Constructor
071: */
072: public JdbcMapping() {
073: super ();
074: cmpFieldJdbcMappingList = new JLinkedList(
075: "cmp-field-jdbc-mapping");
076: finderMethodJdbcMappingList = new JLinkedList(
077: "finder-method-jdbc-mapping");
078: }
079:
080: /**
081: * Gets the jndi-name
082: * @return the jndi-name
083: */
084: public String getJndiName() {
085: return jndiName;
086: }
087:
088: /**
089: * Set the jndi-name
090: * @param jndiName jndiName
091: */
092: public void setJndiName(String jndiName) {
093: this .jndiName = jndiName;
094: }
095:
096: /**
097: * Gets the jdbc-table-name
098: * @return the jdbc-table-name
099: */
100: public String getJdbcTableName() {
101: return jdbcTableName;
102: }
103:
104: /**
105: * Set the jdbc-table-name
106: * @param jdbcTableName jdbcTableName
107: */
108: public void setJdbcTableName(String jdbcTableName) {
109: this .jdbcTableName = jdbcTableName;
110: }
111:
112: /**
113: * Set the jdbcAutomaticPkFieldName
114: * @param jdbcAutomaticPkFieldName jdbcAutomaticPkFieldName
115: */
116: public void setJdbcAutomaticPkFieldName(
117: String jdbcAutomaticPkFieldName) {
118: this .jdbcAutomaticPkFieldName = jdbcAutomaticPkFieldName;
119: }
120:
121: /**
122: * Gets the jdbcAutomaticPkFieldName
123: * @return the jdbcAutomaticPkFieldName
124: */
125: public String getJdbcAutomaticPkFieldName() {
126: return jdbcAutomaticPkFieldName;
127: }
128:
129: /**
130: * Gets the cmp-field-jdbc-mapping
131: * @return the cmp-field-jdbc-mapping
132: */
133: public JLinkedList getCmpFieldJdbcMappingList() {
134: return cmpFieldJdbcMappingList;
135: }
136:
137: /**
138: * Get the automatic-pk
139: * @return automaticPk String Value
140: */
141: public String getAutomaticPk() {
142: return automaticPk;
143: }
144:
145: /**
146: * Set the automatic-pk
147: * @param automaticPk automaticPk
148: */
149: public void setAutomaticPk(String automaticPk) {
150: this .automaticPk = automaticPk;
151: }
152:
153: /**
154: * Set the cmp-field-jdbc-mapping
155: * @param cmpFieldJdbcMappingList cmpFieldJdbcMapping
156: */
157: public void setCmpFieldJdbcMappingList(
158: JLinkedList cmpFieldJdbcMappingList) {
159: this .cmpFieldJdbcMappingList = cmpFieldJdbcMappingList;
160: }
161:
162: /**
163: * Add a new cmp-field-jdbc-mapping element to this object
164: * @param cmpFieldJdbcMapping the cmpFieldJdbcMappingobject
165: */
166: public void addCmpFieldJdbcMapping(
167: CmpFieldJdbcMapping cmpFieldJdbcMapping) {
168: cmpFieldJdbcMappingList.add(cmpFieldJdbcMapping);
169: }
170:
171: /**
172: * Gets the finder-method-jdbc-mapping
173: * @return the finder-method-jdbc-mapping
174: */
175: public JLinkedList getFinderMethodJdbcMappingList() {
176: return finderMethodJdbcMappingList;
177: }
178:
179: /**
180: * Set the finder-method-jdbc-mapping
181: * @param finderMethodJdbcMappingList finderMethodJdbcMapping
182: */
183: public void setFinderMethodJdbcMappingList(
184: JLinkedList finderMethodJdbcMappingList) {
185: this .finderMethodJdbcMappingList = finderMethodJdbcMappingList;
186: }
187:
188: /**
189: * Add a new finder-method-jdbc-mapping element to this object
190: * @param finderMethodJdbcMapping the finderMethodJdbcMappingobject
191: */
192: public void addFinderMethodJdbcMapping(
193: FinderMethodJdbcMapping finderMethodJdbcMapping) {
194: finderMethodJdbcMappingList.add(finderMethodJdbcMapping);
195: }
196:
197: /**
198: * Represents this element by it's XML description.
199: * @param indent use this indent for prexifing XML representation.
200: * @return the XML description of this object.
201: */
202: public String toXML(int indent) {
203: StringBuffer sb = new StringBuffer();
204: sb.append(indent(indent));
205: sb.append("<jdbc-mapping>\n");
206:
207: indent += 2;
208:
209: // jndi-name
210: sb.append(xmlElement(jndiName, "jndi-name", indent));
211: // jdbc-table-name
212: sb.append(xmlElement(jdbcTableName, "jdbc-table-name", indent));
213: // automatic-pk
214: sb.append(xmlElement(automaticPk, "automatic-pk", indent));
215: // jdbcAutomaticPkFieldName
216: sb.append(xmlElement(jdbcAutomaticPkFieldName,
217: "automatic-pk-field-name", indent));
218: // cmp-field-jdbc-mapping
219: sb.append(cmpFieldJdbcMappingList.toXML(indent));
220: // finder-method-jdbc-mapping
221: sb.append(finderMethodJdbcMappingList.toXML(indent));
222: indent -= 2;
223: sb.append(indent(indent));
224: sb.append("</jdbc-mapping>\n");
225:
226: return sb.toString();
227: }
228: }
|