00001
00027 package org.objectweb.jonas_ejb.deployment.xml;
00028
00029 import java.util.ArrayList;
00030 import java.util.StringTokenizer;
00031
00032 import org.objectweb.jonas_lib.deployment.xml.AbsDescriptionElement;
00033 import org.objectweb.jonas_lib.deployment.xml.DescriptionGroupXml;
00034 import org.objectweb.jonas_lib.deployment.xml.TopLevelElement;
00035
00042 public class EjbJar extends AbsDescriptionElement
00043 implements TopLevelElement, DescriptionGroupXml {
00044
00045
00049 private static final int VERSION_INDEX = 3;
00050
00054 private EnterpriseBeans enterpriseBeans = null;
00055
00059 private Relationships relationships = null;
00060
00064 private AssemblyDescriptor assemblyDescriptor = null;
00065
00069 private String ejbClientJar = null;
00070
00074 private String publicId = null;
00075
00081 private String version = null;
00082
00086 public EjbJar() {
00087 super();
00088 }
00089
00094 public String getPublicId() {
00095 return publicId;
00096 }
00097
00102 public void setPublicId(String pid) {
00103 publicId = pid;
00104 }
00105
00106
00111 public String getVersion() {
00112 if (version != null) {
00113 return version;
00114 }
00115 if (publicId == null) {
00116
00117 version = "2.1";
00118 } else {
00119 ArrayList al = new ArrayList();
00120
00121 StringTokenizer st = new StringTokenizer(publicId , "//");
00122 while (st.hasMoreTokens()) {
00123 al.add(st.nextToken().trim());
00124 }
00125 String spec = (String) al.get(2);
00126 al.clear();
00127 st = new StringTokenizer(spec , " ");
00128 while (st.hasMoreTokens()) {
00129 al.add(st.nextToken().trim());
00130 }
00131 version = (String) al.get(VERSION_INDEX);
00132 }
00133 return version;
00134
00135 }
00136
00142 public void setVersion(String ver) {
00143 version = ver;
00144 }
00145
00150 public EnterpriseBeans getEnterpriseBeans() {
00151 return enterpriseBeans;
00152 }
00153
00158 public void setEnterpriseBeans(EnterpriseBeans enterpriseBeans) {
00159 this.enterpriseBeans = enterpriseBeans;
00160 }
00161
00166 public Relationships getRelationships() {
00167 return relationships;
00168 }
00169
00174 public void setRelationships(Relationships relationships) {
00175 this.relationships = relationships;
00176 }
00177
00182 public AssemblyDescriptor getAssemblyDescriptor() {
00183 return assemblyDescriptor;
00184 }
00185
00190 public void setAssemblyDescriptor(AssemblyDescriptor assemblyDescriptor) {
00191 this.assemblyDescriptor = assemblyDescriptor;
00192 }
00193
00198 public String getEjbClientJar() {
00199 return ejbClientJar;
00200 }
00201
00206 public void setEjbClientJar(String ejbClientJar) {
00207 this.ejbClientJar = ejbClientJar;
00208 }
00209
00215 public String toXML(int indent) {
00216 StringBuffer sb = new StringBuffer();
00217 sb.append(indent(indent));
00218 sb.append("<ejb-jar>\n");
00219
00220 indent += 2;
00221
00222
00223 sb.append(xmlElement(getDescription(), "description", indent));
00224
00225 sb.append(xmlElement(getDisplayName(), "display-name", indent));
00226
00227 sb.append(xmlElement(getIcon().getSmallIcon(), "small-icon", indent));
00228
00229 sb.append(xmlElement(getIcon().getLargeIcon(), "large-icon", indent));
00230
00231 if (enterpriseBeans != null) {
00232 sb.append(enterpriseBeans.toXML(indent));
00233 }
00234
00235 if (relationships != null) {
00236 sb.append(relationships.toXML(indent));
00237 }
00238
00239 if (assemblyDescriptor != null) {
00240 sb.append(assemblyDescriptor.toXML(indent));
00241 }
00242
00243 sb.append(xmlElement(ejbClientJar, "ejb-client-jar", indent));
00244 indent -= 2;
00245 sb.append(indent(indent));
00246 sb.append("</ejb-jar>\n");
00247
00248 return sb.toString();
00249 }
00250 }