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: AssemblyDescriptor.java 4782 2004-05-19 21:18:56Z ehardesty $
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: import org.objectweb.jonas_lib.deployment.xml.MessageDestination;
031: import org.objectweb.jonas_lib.deployment.xml.SecurityRole;
032:
033: /**
034: * This class defines the implementation of the element assembly-descriptor
035: *
036: * @author JOnAS team
037: */
038:
039: public class AssemblyDescriptor extends AbsElement {
040:
041: /**
042: * security-role
043: */
044: private JLinkedList securityRoleList = null;
045:
046: /**
047: * method-permission
048: */
049: private JLinkedList methodPermissionList = null;
050:
051: /**
052: * container-transaction
053: */
054: private JLinkedList containerTransactionList = null;
055:
056: /**
057: * message-destination
058: */
059: private JLinkedList messageDestinationList = null;
060:
061: /**
062: * exclude-list
063: */
064: private ExcludeList excludeList = null;
065:
066: /**
067: * Constructor
068: */
069: public AssemblyDescriptor() {
070: super ();
071: securityRoleList = new JLinkedList("security-role");
072: methodPermissionList = new JLinkedList("method-permission");
073: containerTransactionList = new JLinkedList(
074: "container-transaction");
075: messageDestinationList = new JLinkedList("message-destination");
076: }
077:
078: /**
079: * Gets the security-role
080: * @return the security-role
081: */
082: public JLinkedList getSecurityRoleList() {
083: return securityRoleList;
084: }
085:
086: /**
087: * Set the security-role
088: * @param securityRoleList securityRole
089: */
090: public void setSecurityRoleList(JLinkedList securityRoleList) {
091: this .securityRoleList = securityRoleList;
092: }
093:
094: /**
095: * Add a new security-role element to this object
096: * @param securityRole the securityRoleobject
097: */
098: public void addSecurityRole(SecurityRole securityRole) {
099: securityRoleList.add(securityRole);
100: }
101:
102: /**
103: * Gets the method-permission
104: * @return the method-permission
105: */
106: public JLinkedList getMethodPermissionList() {
107: return methodPermissionList;
108: }
109:
110: /**
111: * Set the method-permission
112: * @param methodPermissionList methodPermission
113: */
114: public void setMethodPermissionList(JLinkedList methodPermissionList) {
115: this .methodPermissionList = methodPermissionList;
116: }
117:
118: /**
119: * Add a new method-permission element to this object
120: * @param methodPermission the methodPermissionobject
121: */
122: public void addMethodPermission(MethodPermission methodPermission) {
123: methodPermissionList.add(methodPermission);
124: }
125:
126: /**
127: * Gets the container-transaction
128: * @return the container-transaction
129: */
130: public JLinkedList getContainerTransactionList() {
131: return containerTransactionList;
132: }
133:
134: /**
135: * Set the container-transaction
136: * @param containerTransactionList containerTransaction
137: */
138: public void setContainerTransactionList(
139: JLinkedList containerTransactionList) {
140: this .containerTransactionList = containerTransactionList;
141: }
142:
143: /**
144: * Add a new container-transaction element to this object
145: * @param containerTransaction the containerTransactionobject
146: */
147: public void addContainerTransaction(
148: ContainerTransaction containerTransaction) {
149: containerTransactionList.add(containerTransaction);
150: }
151:
152: /**
153: * Gets the message-destination
154: * @return the message-destination
155: */
156: public JLinkedList getMessageDestinationList() {
157: return messageDestinationList;
158: }
159:
160: /**
161: * Set the message-destination
162: * @param messageDestinationList messageDestination
163: */
164: public void setMessageDestinationList(
165: JLinkedList messageDestinationList) {
166: this .messageDestinationList = messageDestinationList;
167: }
168:
169: /**
170: * Add a new message-destination element to this object
171: * @param messageDestination the messageDestinationobject
172: */
173: public void addMessageDestination(
174: MessageDestination messageDestination) {
175: messageDestinationList.add(messageDestination);
176: }
177:
178: /**
179: * Gets the exclude-list
180: * @return the exclude-list
181: */
182: public ExcludeList getExcludeList() {
183: return excludeList;
184: }
185:
186: /**
187: * Set the exclude-list
188: * @param excludeList excludeList
189: */
190: public void setExcludeList(ExcludeList excludeList) {
191: this .excludeList = excludeList;
192: }
193:
194: /**
195: * Represents this element by it's XML description.
196: * @param indent use this indent for prexifing XML representation.
197: * @return the XML description of this object.
198: */
199: public String toXML(int indent) {
200: StringBuffer sb = new StringBuffer();
201: sb.append(indent(indent));
202: sb.append("<assembly-descriptor>\n");
203:
204: indent += 2;
205:
206: // security-role
207: sb.append(securityRoleList.toXML(indent));
208: // method-permission
209: sb.append(methodPermissionList.toXML(indent));
210: // container-transaction
211: sb.append(containerTransactionList.toXML(indent));
212: // message-destination
213: sb.append(messageDestinationList.toXML(indent));
214: // exclude-list
215: if (excludeList != null) {
216: sb.append(excludeList.toXML(indent));
217: }
218: indent -= 2;
219: sb.append(indent(indent));
220: sb.append("</assembly-descriptor>\n");
221:
222: return sb.toString();
223: }
224: }
|