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: Adminobject.java 3673 2003-11-11 20:03:28Z 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:
031: /**
032: * This class defines the implementation of the element adminobject
033: *
034: * @author Eric Hardesty
035: */
036:
037: public class Adminobject extends AbsElement {
038:
039: /**
040: * id
041: */
042: private String id = null;
043:
044: /**
045: * adminobject-interface
046: */
047: private String adminobjectInterface = null;
048:
049: /**
050: * adminobject-class
051: */
052: private String adminobjectClass = null;
053:
054: /**
055: * config-property
056: */
057: private JLinkedList configPropertyList = null;
058:
059: /**
060: * Constructor
061: */
062: public Adminobject() {
063: super ();
064: configPropertyList = new JLinkedList("config-property");
065: }
066:
067: /**
068: * Gets the id
069: * @return the id
070: */
071: public String getId() {
072: return id;
073: }
074:
075: /**
076: * Set the id
077: * @param id id object
078: */
079: public void setId(String id) {
080: this .id = id;
081: }
082:
083: /**
084: * Gets the adminobject-interface
085: * @return the adminobject-interface
086: */
087: public String getAdminobjectInterface() {
088: return adminobjectInterface;
089: }
090:
091: /**
092: * Set the adminobject-interface
093: * @param adminobjectInterface adminobjectInterface
094: */
095: public void setAdminobjectInterface(String adminobjectInterface) {
096: this .adminobjectInterface = adminobjectInterface;
097: }
098:
099: /**
100: * Gets the adminobject-class
101: * @return the adminobject-class
102: */
103: public String getAdminobjectClass() {
104: return adminobjectClass;
105: }
106:
107: /**
108: * Set the adminobject-class
109: * @param adminobjectClass adminobjectClass
110: */
111: public void setAdminobjectClass(String adminobjectClass) {
112: this .adminobjectClass = adminobjectClass;
113: }
114:
115: /**
116: * Gets the config-property
117: * @return the config-property
118: */
119: public JLinkedList getConfigPropertyList() {
120: return configPropertyList;
121: }
122:
123: /**
124: * Set the config-property
125: * @param configPropertyList configProperty
126: */
127: public void setConfigPropertyList(JLinkedList configPropertyList) {
128: this .configPropertyList = configPropertyList;
129: }
130:
131: /**
132: * Add a new config-property element to this object
133: * @param configProperty the configPropertyobject
134: */
135: public void addConfigProperty(ConfigProperty configProperty) {
136: configPropertyList.add(configProperty);
137: }
138:
139: /**
140: * Represents this element by it's XML description.
141: * @param indent use this indent for prefixing XML representation.
142: * @return the XML description of this object.
143: */
144: public String toXML(int indent) {
145: StringBuffer sb = new StringBuffer();
146: sb.append(indent(indent));
147: sb.append("<adminobject");
148: sb.append(xmlAttribute(id, "id"));
149: sb.append(">\n");
150:
151: indent += 2;
152:
153: // adminobject-interface
154: sb.append(xmlElement(adminobjectInterface,
155: "adminobject-interface", indent));
156: // adminobject-class
157: sb.append(xmlElement(adminobjectClass, "adminobject-class",
158: indent));
159: // config-property
160: sb.append(configPropertyList.toXML(indent));
161: indent -= 2;
162: sb.append(indent(indent));
163: sb.append("</adminobject>\n");
164:
165: return sb.toString();
166: }
167: }
|