001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999-2004 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: * --------------------------------------------------------------------------
023: * $Id: JavaXmlTypeMapping.java 5766 2004-11-19 09:23:01Z sauthieg $
024: * --------------------------------------------------------------------------
025: */package org.objectweb.jonas_ws.deployment.xml;
026:
027: import org.objectweb.jonas_lib.deployment.xml.AbsElement;
028: import org.objectweb.jonas_lib.deployment.xml.JLinkedList;
029: import org.objectweb.jonas_lib.deployment.xml.Qname;
030:
031: /**
032: * This class defines the implementation of the element java-xml-type-mapping
033: *
034: * @author JOnAS team
035: */
036:
037: public class JavaXmlTypeMapping extends AbsElement {
038:
039: /**
040: * java-type
041: */
042: private String javaType = null;
043:
044: /**
045: * root-type-qname
046: */
047: private Qname rootTypeQname = null;
048:
049: /**
050: * anonymous-type-qname
051: */
052: private Qname anonymousTypeQname = null;
053:
054: /**
055: * qname-scope
056: */
057: private String qnameScope = null;
058:
059: /**
060: * variable-mapping
061: */
062: private JLinkedList variableMappingList = null;
063:
064: /**
065: * Constructor
066: */
067: public JavaXmlTypeMapping() {
068: super ();
069: variableMappingList = new JLinkedList("variable-mapping");
070: }
071:
072: /**
073: * Gets the class-type
074: * @return the class-type
075: */
076: public String getJavaType() {
077: return javaType;
078: }
079:
080: /**
081: * Set the java-type
082: * @param javaType javaType
083: */
084: public void setJavaType(String javaType) {
085: this .javaType = javaType;
086: }
087:
088: /**
089: * Gets the root-type-qname
090: * @return the root-type-qname
091: */
092: public Qname getRootTypeQname() {
093: return rootTypeQname;
094: }
095:
096: /**
097: * Set the root-type-qname
098: * @param rootTypeQname rootTypeQname
099: */
100: public void setRootTypeQname(Qname rootTypeQname) {
101: this .rootTypeQname = rootTypeQname;
102: }
103:
104: /**
105: * Gets the qname-scope
106: * @return the qname-scope
107: */
108: public String getQnameScope() {
109: return qnameScope;
110: }
111:
112: /**
113: * Set the qname-scope
114: * @param qnameScope qnameScope
115: */
116: public void setQnameScope(String qnameScope) {
117: this .qnameScope = qnameScope;
118: }
119:
120: /**
121: * Gets the variable-mapping
122: * @return the variable-mapping
123: */
124: public JLinkedList getVariableMappingList() {
125: return variableMappingList;
126: }
127:
128: /**
129: * Set the variable-mapping
130: * @param variableMappingList variableMapping
131: */
132: public void setVariableMappingList(JLinkedList variableMappingList) {
133: this .variableMappingList = variableMappingList;
134: }
135:
136: /**
137: * Add a new variable-mapping element to this object
138: * @param variableMapping the variableMappingobject
139: */
140: public void addVariableMapping(VariableMapping variableMapping) {
141: variableMappingList.add(variableMapping);
142: }
143:
144: /**
145: * @return Returns the anonymousTypeQname.
146: */
147: public Qname getAnonymousTypeQname() {
148: return anonymousTypeQname;
149: }
150:
151: /**
152: * @param anonymousTypeQname The anonymousTypeQname to set.
153: */
154: public void setAnonymousTypeQname(Qname anonymousTypeQname) {
155: this .anonymousTypeQname = anonymousTypeQname;
156: }
157:
158: /**
159: * Represents this element by it's XML description.
160: * @param indent use this indent for prexifing XML representation.
161: * @return the XML description of this object.
162: */
163: public String toXML(int indent) {
164: StringBuffer sb = new StringBuffer();
165: sb.append(indent(indent));
166: sb.append("<java-xml-type-mapping>\n");
167:
168: indent += 2;
169:
170: // class-type
171: sb.append(xmlElement(javaType, "java-type", indent));
172: // root-type-qname
173: if (rootTypeQname != null) {
174: sb.append(rootTypeQname.toXML(indent));
175: }
176: // anonymous-type-qname
177: if (anonymousTypeQname != null) {
178: sb.append(anonymousTypeQname.toXML(indent));
179: }
180: // qname-scope
181: sb.append(xmlElement(qnameScope, "qname-scope", indent));
182: // variable-mapping
183: sb.append(variableMappingList.toXML(indent));
184: indent -= 2;
185: sb.append(indent(indent));
186: sb.append("</java-xml-type-mapping>\n");
187:
188: return sb.toString();
189: }
190: }
|