WebApplication.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.web; import java.net.URL; import org.jboss.metadata.WebMetaData; import org.jboss.deployment.DeploymentInfo; /** A WebApplication represents the information for a war deployment. @see AbstractWebContainer @author Scott.Stark@jboss.org @version $Revision: 1.11 $ */ public class WebApplication { /** Class loader of this application */ ClassLoader classLoader = null; /** name of this application */ String name = ""; /** URL where this application was deployed from */ URL url; /** The web app metadata from the web.xml and jboss-web.xml descriptors */ WebMetaData metaData; /** Arbitary data object for storing application specific data */ Object data; /** The DeploymentInfo for the war */ DeploymentInfo warInfo; /** Create an empty WebApplication instance */ public WebApplication() { } /** Create a WebApplication instance with with given web-app metadata. @param metaData the web-app metadata containing the web.xml and jboss-web.xml descriptor metadata. */ public WebApplication(WebMetaData metaData) { this.metaData = metaData; } /** Create a WebApplication instance with with given name, url and class loader. @param name name of this application @param url url where this application was deployed from @param classLoader Class loader of this application */ public WebApplication(String name, URL url, ClassLoader classLoader) { this.name = name; this.url = url; this.classLoader = classLoader; } /** Get the class loader of this WebApplication. * @return The ClassLoader instance of the web application */ public ClassLoader getClassLoader() { return classLoader; } /** Set the class loader of this WebApplication. * @param classLoader The ClassLoader instance for the web application */ public void setClassLoader(ClassLoader classLoader) { this.classLoader = classLoader; } /** Get the name of this WebApplication. * @return String name of the web application */ public String getName() { String n = name; if (n == null) n = url.getFile(); return n; } /** Set the name of this WebApplication. * @param name of the web application */ public void setName(String name) { this.name = name; } /** Get the URL from which this WebApplication was deployed * @return URL where this application was deployed from */ public URL getURL() { return url; } /** Set the URL from which this WebApplication was deployed * @param url URL where this application was deployed from */ public void setURL(URL url) { if (url == null) throw new IllegalArgumentException("Null URL"); this.url = url; } /** Getter for property metaData. * @return Value of property metaData. */ public WebMetaData getMetaData() { return metaData; } /** Setter for property metaData. * @param metaData New value of property metaData. */ public void setMetaData(WebMetaData metaData) { this.metaData = metaData; } public Object getAppData() { return data; } public void setAppData(Object data) { this.data = data; } public DeploymentInfo getDeploymentInfo() { return warInfo; } public void setDeploymentInfo(DeploymentInfo warInfo) { this.warInfo = warInfo; } public String toString() { StringBuffer buffer = new StringBuffer("{WebApplication: "); buffer.append(getName()); buffer.append(", URL: "); buffer.append(url); buffer.append(", classLoader: "); buffer.append(classLoader); buffer.append(':'); buffer.append(classLoader.hashCode()); buffer.append('}'); return buffer.toString(); } }
WebApplication.java |