001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software 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 software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.web;
023:
024: import org.jboss.deployment.SubDeployerExtMBean;
025:
026: /**
027: * MBean interface.
028: * @see org.jboss.web.AbstractWebDeployer
029: */
030: public interface AbstractWebContainerMBean extends SubDeployerExtMBean {
031:
032: /**
033: * Get the flag indicating if the normal Java2 parent first class loading model should be used over the servlet 2.3 web container first model.
034: * @return true for parent first, false for the servlet 2.3 model
035: */
036: boolean getJava2ClassLoadingCompliance();
037:
038: /**
039: * Set the flag indicating if the normal Java2 parent first class loading model should be used over the servlet 2.3 web container first model.
040: * @param flag true for parent first, false for the servlet 2.3 model
041: */
042: void setJava2ClassLoadingCompliance(boolean flag);
043:
044: /**
045: * Set the flag indicating if war archives should be unpacked. This may need to be set to false as long extraction paths under deploy can show up as deployment failures on some platforms.
046: * @return true is war archives should be unpacked */
047: boolean getUnpackWars();
048:
049: /**
050: * Get the flag indicating if war archives should be unpacked. This may need to be set to false as long extraction paths under deploy can show up as deployment failures on some platforms.
051: * @param flag , true is war archives should be unpacked */
052: void setUnpackWars(boolean flag);
053:
054: /**
055: * Get the flag indicating if local dirs with WEB-INF/web.xml should be treated as wars
056: * @return true if local dirs with WEB-INF/web.xml should be treated as wars
057: */
058: boolean getAcceptNonWarDirs();
059:
060: /**
061: * Set the flag indicating if local dirs with WEB-INF/web.xml should be treated as wars
062: * @param flag - true if local dirs with WEB-INF/web.xml should be treated as wars
063: */
064: void setAcceptNonWarDirs(boolean flag);
065:
066: /**
067: * Get the flag indicating if ejb-link errors should be ignored in favour of trying the jndi-name in jboss-web.xml
068: * @return the LenientEjbLink flag
069: */
070: boolean getLenientEjbLink();
071:
072: /**
073: * Set the flag indicating if ejb-link errors should be ignored in favour of trying the jndi-name in jboss-web.xml
074: */
075: void setLenientEjbLink(boolean flag);
076:
077: /**
078: * Get the default security domain implementation to use if a war does not declare a security-domain.
079: * @return jndi name of the security domain binding to use.
080: */
081: java.lang.String getDefaultSecurityDomain();
082:
083: /**
084: * Set the default security domain implementation to use if a war does not declare a security-domain.
085: * @param defaultSecurityDomain - jndi name of the security domain binding to use.
086: */
087: void setDefaultSecurityDomain(java.lang.String defaultSecurityDomain);
088:
089: /**
090: * Get the session attribute number under which the caller Subject is stored
091: */
092: java.lang.String getSubjectAttributeName();
093:
094: /**
095: * Set the session attribute number under which the caller Subject is stored
096: */
097: void setSubjectAttributeName(java.lang.String subjectAttributeName);
098:
099: /**
100: * See if a war is deployed.
101: */
102: boolean isDeployed(java.lang.String warUrl);
103:
104: /**
105: * Returns the applications deployed by the web container subclasses.
106: * @return An Iterator of WebApplication objects for the deployed wars. */
107: java.util.Iterator getDeployedApplications();
108:
109: /**
110: * An accessor for any configuration element set via setConfig. This method always returns null and must be overriden by subclasses to return a valid value.
111: */
112: org.w3c.dom.Element getConfig();
113:
114: /**
115: * This method is invoked to import an arbitrary XML configuration tree. Subclasses should override this method if they support such a configuration capability. This implementation does nothing.
116: */
117: void setConfig(org.w3c.dom.Element config);
118:
119: }
|