001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 2004 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or 1any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * Initial developer: Florent BENOIT
022: * --------------------------------------------------------------------------
023: * $Id: Servlet.java 4799 2004-05-25 14:26:36Z sauthieg $
024: * --------------------------------------------------------------------------
025: */package org.objectweb.jonas_web.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.RunAs;
030: import org.objectweb.jonas_lib.deployment.xml.SecurityRoleRef;
031:
032: /**
033: * This class defines the implementation of the element servlet
034: * <b> Don't take into account nested element :
035: * icon, display-name, description, init-param, load-on-startup, run-as and security-role-ref
036: * </b> Which are optional (web container implentation will parse it)
037: * @author Florent Benoit
038: */
039: public class Servlet extends AbsElement {
040:
041: /**
042: * Name of the servlet
043: */
044: private String servletName = null;
045:
046: /**
047: * Servlet-class
048: */
049: private String servletClass = null;
050:
051: /**
052: * Jsp-file
053: */
054: private String jspFile = null;
055:
056: /**
057: * security-role-ref
058: */
059: private JLinkedList securityRoleRefList = null;
060:
061: /**
062: * run-as
063: */
064: private RunAs runAs = null;
065:
066: /**
067: * Constructor
068: */
069: public Servlet() {
070: super ();
071: securityRoleRefList = new JLinkedList("security-role-ref");
072: }
073:
074: // Setters
075:
076: /**
077: * Sets the name of the servlet
078: * @param servletName name of the servlet
079: */
080: public void setServletName(String servletName) {
081: this .servletName = servletName;
082: }
083:
084: /**
085: * Sets the class of the servlet
086: * @param servletClass class of the servlet
087: */
088: public void setServletClass(String servletClass) {
089: this .servletClass = servletClass;
090: }
091:
092: /**
093: * Sets the jsp-file of the servlet
094: * @param jspFile jsp-file of the servlet
095: */
096: public void setJspFile(String jspFile) {
097: this .jspFile = jspFile;
098: }
099:
100: /**
101: * Add a new security-role-ref element to this object
102: * @param securityRoleRef security-role-ref
103: */
104: public void addSecurityRoleRef(SecurityRoleRef securityRoleRef) {
105: securityRoleRefList.add(securityRoleRef);
106: }
107:
108: /**
109: * Set the security-role-ref
110: * @param securityRoleRefList securityRoleRef
111: */
112: public void setSecurityRoleRefList(JLinkedList securityRoleRefList) {
113: this .securityRoleRefList = securityRoleRefList;
114: }
115:
116: /**
117: * Set the run-as
118: * @param runAs runAs
119: */
120: public void setRunAs(RunAs runAs) {
121: this .runAs = runAs;
122: }
123:
124: // Getters
125:
126: /**
127: * @return the name of the servlet
128: */
129: public String getServletName() {
130: return servletName;
131: }
132:
133: /**
134: * @return the class of the servlet
135: */
136: public String getServletClass() {
137: return servletClass;
138: }
139:
140: /**
141: * @return the jsp-file of the servlet
142: */
143: public String getJspFile() {
144: return jspFile;
145: }
146:
147: /**
148: * Gets the security-role-ref
149: * @return the security-role-ref
150: */
151: public JLinkedList getSecurityRoleRefList() {
152: return securityRoleRefList;
153: }
154:
155: /**
156: * Gets the run-as
157: * @return the run-as
158: */
159: public RunAs getRunAs() {
160: return runAs;
161: }
162:
163: /**
164: * Represents this element by it's XML description.
165: * @param indent use this indent for prexifing XML representation.
166: * @return the XML description of this object.
167: */
168: public String toXML(int indent) {
169: StringBuffer sb = new StringBuffer();
170: sb.append(indent(indent));
171: sb.append("<servlet>\n");
172:
173: indent += 2;
174:
175: // servlet-name
176: sb.append(xmlElement(servletName, "servlet-name", indent));
177:
178: // servlet-class or jsp-file
179: sb.append(xmlElement(servletClass, "servlet-class", indent));
180: sb.append(xmlElement(jspFile, "jsp-file", indent));
181:
182: // run-as
183: if (runAs != null) {
184: sb.append(runAs.toXML(indent));
185: }
186:
187: // security-role-ref
188: if (securityRoleRefList != null) {
189: sb.append(securityRoleRefList.toXML(indent));
190: }
191:
192: indent -= 2;
193: sb.append(indent(indent));
194: sb.append("</servlet>\n");
195:
196: return sb.toString();
197: }
198: }
|