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: JonasMessageDriven.java 5876 2004-12-08 14:05:09Z benoitf $
025: * --------------------------------------------------------------------------
026: */package org.objectweb.jonas_ejb.deployment.xml;
027:
028: /**
029: * This class defines the implementation of the element jonas-message-driven
030: *
031: * @author JOnAS team
032: */
033:
034: public class JonasMessageDriven extends JonasCommonEjb {
035:
036: /**
037: * jonas-message-driven-destination
038: */
039: private JonasMessageDrivenDestination jonasMessageDrivenDestination = null;
040:
041: /**
042: * activation-config (EJB2.1 only)
043: */
044: private ActivationConfig activationConfig = null;
045:
046: /**
047: * Constructor
048: */
049: public JonasMessageDriven() {
050: super ();
051: }
052:
053: /**
054: * Gets the jonas-message-driven-destination
055: * @return the jonas-message-driven-destination
056: */
057: public JonasMessageDrivenDestination getJonasMessageDrivenDestination() {
058: return jonasMessageDrivenDestination;
059: }
060:
061: /**
062: * Set the jonas-message-driven-destination
063: * @param jonasMessageDrivenDestination jonasMessageDrivenDestination
064: */
065: public void setJonasMessageDrivenDestination(
066: JonasMessageDrivenDestination jonasMessageDrivenDestination) {
067: this .jonasMessageDrivenDestination = jonasMessageDrivenDestination;
068: }
069:
070: /**
071: * Gets the activation-config (EJB2.1 only)
072: * @return the activation-config
073: */
074: public ActivationConfig getActivationConfig() {
075: return activationConfig;
076: }
077:
078: /**
079: * Set the activation-config (EJB2.1 only)
080: * @param activationConfig activation-config
081: */
082: public void setActivationConfig(ActivationConfig activationConfig) {
083: this .activationConfig = activationConfig;
084: }
085:
086: /**
087: * Represents this element by it's XML description.
088: * @param indent use this indent for prexifing XML representation.
089: * @return the XML description of this object.
090: */
091: public String toXML(int indent) {
092: StringBuffer sb = new StringBuffer();
093: sb.append(indent(indent));
094: sb.append("<jonas-message-driven>\n");
095:
096: indent += 2;
097:
098: // ejb-name
099: sb.append(xmlElement(getEjbName(), "ejb-name", indent));
100: // jonas-message-driven-destination
101: if (jonasMessageDrivenDestination != null) {
102: sb.append(jonasMessageDrivenDestination.toXML(indent));
103: }
104: // activation-config (EJB2.1 only)
105: if (activationConfig != null) {
106: sb.append(activationConfig.toXML(indent));
107: }
108:
109: // jonas-ejb-ref
110: sb.append(getJonasEjbRefList().toXML(indent));
111: // jonas-resource
112: sb.append(getJonasResourceList().toXML(indent));
113: // jonas-resource-env
114: sb.append(getJonasResourceEnvList().toXML(indent));
115: // jonas-service-ref
116: sb.append(getJonasServiceRefList().toXML(indent));
117: // jonas-message-destination-ref
118: sb.append(getJonasMessageDestinationRefList().toXML(indent));
119: // max-cache-size
120: sb.append(xmlElement(getMaxCacheSize(), "max-cache-size",
121: indent));
122: // min-pool-size
123: sb
124: .append(xmlElement(getMinPoolSize(), "min-pool-size",
125: indent));
126:
127: // run-as
128: if (getRunAsPrincipalName() != null) {
129: sb.append(indent(indent));
130: sb.append("<run-as>\n");
131: indent += 2;
132: sb.append(xmlElement(getRunAsPrincipalName(),
133: "principal-name", indent));
134: indent -= 2;
135: sb.append(indent(indent));
136: sb.append("</run-as>\n");
137: }
138: // ior-security-config
139: if (getIorSecurityConfig() != null) {
140: sb.append(getIorSecurityConfig().toXML(indent));
141: }
142: indent -= 2;
143: sb.append(indent(indent));
144: sb.append("</jonas-message-driven>\n");
145:
146: return sb.toString();
147: }
148: }
|