blob: b6abae256cdb652eab01991f2589746502dffff2 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.j2ee.webapplication;
import java.util.List;
import org.eclipse.emf.common.util.EList;
import org.eclipse.jst.j2ee.common.JNDIEnvRefsGroup;
import org.eclipse.jst.j2ee.common.SecurityRole;
import org.eclipse.jst.j2ee.jsp.JSPConfig;
/**
* The web-app element is the root of the deployment descriptor for
* a web application.
* @since 1.0
*/
public interface WebApp extends JNDIEnvRefsGroup{
/**
* Returns true if there is a SecurityRole with the name passed
* @param name name of the SecurityRole
* @return boolean value
*/
public boolean containsSecurityRole(String name);
/**
* Returns an ErrorPage if it has the specified error code
* @param code the error code
* @return refernce to ErrorPage
*/
ErrorPage getErrorPageByCode(Integer code) ;
/**
* Returns an ErrorPage given an exceptionType
* @param exceptionType the java Exception Type
* @return refernce to ErrorPage
*/
ErrorPage getErrorPageByExceptionType(String exceptionType) ;
/**
* Finds a filter mapping for a specified filter.
* @param aFilter The filter to find the mappings for.
* @return The filter mapping for the specified filter, or null if no
* mapping exists for the filter.
*/
FilterMapping getFilterMapping(Filter aFilter);
/**
* Gets refernce to the instance of Filter which has the specified name
* @param name the name of the Filter to look for
* @return refernce to teh Filter
*/
public Filter getFilterNamed(String name);
/**
* Gets the names of the filters defined for this web application.
* @return A list of filter names (Strings).
*/
List getFilterNames() ;
/**
* Returns the mime type for the specified extension
* @param extension to find the mime type for.
* @return String value
*/
String getMimeType(String extension);
/**
* Returns the SecurityRole with the specified name
* @param roleName the name of the SecurityRole to be searched for
* @return reference to the model object SecurityRole
*/
public SecurityRole getSecurityRoleNamed(String roleName);
/**
* Finds a servlet mapping for a specified servlet.
* @param aServlet The servlet to find the mappings for.
* @return The servlet mapping for the specified servlet, or null if no
* mapping exists for the servlet.
*/
ServletMapping getServletMapping(Servlet aServlet);
/**
* Returns a Servlet with the specified name
* @param name the name of the Servlet to search for
* @return reference to the model object Servlet
*/
public Servlet getServletNamed(String name);
/**
* Gets the names of the servlets defined for this web application.
* @return A list of servlet names (Strings).
*/
List getServletNames() ;
/**
* Return boolean indicating if this Web App was populated from an Servlet2.2 compliant descriptor
* @return boolean
* @deprecated Use getVersionID() to determine module level
*/
public boolean isVersion2_2Descriptor();
/**
* Return boolean indicating if this Web App was populated from an Servlet2.3 compliant descriptor
* @return boolean
* @deprecated Use getVersionID() to determine module level
*/
public boolean isVersion2_3Descriptor();
/**
* Rename the security role if it exists; for each servlet, fix the role-link on any contained role
* refs
* @param existingRoleName curent security role name
* @param newRoleName new security role name
*/
public void renameSecurityRole(String existingRoleName, String newRoleName);
/**
* @generated This field/method will be replaced during code generation
* @return The value of the Distributable attribute
* The distributable element, by its presence in a web application deployment
* descriptor, indicates that this web application is programmed appropriately to
* be deployed into a distributed servlet container
*/
boolean isDistributable();
/**
* @generated This field/method will be replaced during code generation
* @param value The new value of the Distributable attribute
*/
void setDistributable(boolean value);
/**
* Unsets the value of the '{@link org.eclipse.jst.j2ee.webapplication.WebApp#isDistributable <em>Distributable</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetDistributable()
* @see #isDistributable()
* @see #setDistributable(boolean)
* @generated
*/
void unsetDistributable();
/**
* Returns whether the value of the '{@link org.eclipse.jst.j2ee.webapplication.WebApp#isDistributable <em>Distributable</em>}' attribute is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Distributable</em>' attribute is set.
* @see #unsetDistributable()
* @see #isDistributable()
* @see #setDistributable(boolean)
* @generated
*/
boolean isSetDistributable();
/**
* Returns the value of the '<em><b>Version</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Version</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Version</em>' attribute.
* @see #setVersion(String)
* @see org.eclipse.jst.j2ee.webapplication.WebapplicationPackage#getWebApp_Version()
* @model
* @generated
*/
String getVersion();
/**
* This returns the module version id. Compare with J2EEVersionConstants to determine module level
*@throws IllegalStateException the exception is thrown if a problem is encountered in finding the
*module version. *
* @return the module version id represented in the int e.g. 22, 23, 24
*/
public int getVersionID() throws IllegalStateException ;
/**
*This returns the j2ee version id. Compare with J2EEVersionConstants to determine j2ee level
*@throws IllegalStateException the exception is thrown if a problem is encountered in finding the
*j2ee version.
*@return the j2ee version represented in the int
*/
public int getJ2EEVersionID() throws IllegalStateException ;
/**
* Sets the value of the '{@link org.eclipse.jst.j2ee.webapplication.WebApp#getVersion <em>Version</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Version</em>' attribute.
* @see #getVersion()
* @generated
*/
void setVersion(String value);
/**
* @generated This field/method will be replaced during code generation
* @return The list of Contexts references
*/
EList getContexts();
/**
* @generated This field/method will be replaced during code generation
* @return The list of ErrorPages references
*/
EList getErrorPages();
/**
* @generated This field/method will be replaced during code generation
* @return The FileList reference
*/
WelcomeFileList getFileList();
/**
* @deprecated : Use getEnvironmentProperties()
* @return reference to EList
*/
EList getEnvEntries();
/**
* @generated This field/method will be replaced during code generation
* @param value The new value of the FileList reference
*/
void setFileList(WelcomeFileList value);
/**
* @generated This field/method will be replaced during code generation
* @return The list of TagLibs references
*/
EList getTagLibs();
/**
* @generated This field/method will be replaced during code generation
* @return The list of Constraints references
*/
EList getConstraints();
/**
* @generated This field/method will be replaced during code generation
* @return The LoginConfig reference
*/
LoginConfig getLoginConfig();
/**
* @generated This field/method will be replaced during code generation
* @param value The new value of the LoginConfig reference
*/
void setLoginConfig(LoginConfig value);
/**
* @generated This field/method will be replaced during code generation
* @return The list of MimeMappings references
*/
EList getMimeMappings();
/**
* @generated This field/method will be replaced during code generation
* @return The SessionConfig reference
*/
SessionConfig getSessionConfig();
/**
* @generated This field/method will be replaced during code generation
* @param value The new value of the SessionConfig reference
*/
void setSessionConfig(SessionConfig value);
/**
* @generated This field/method will be replaced during code generation
* @return The list of ServletMappings references
*/
EList getServletMappings();
/**
* @generated This field/method will be replaced during code generation
* @return The list of Servlets references
*/
EList getServlets();
/**
* @generated This field/method will be replaced during code generation
* @return The list of SecurityRoles references
*/
EList getSecurityRoles();
/**
* @generated This field/method will be replaced during code generation
* @return The list of Filters references
*/
EList getFilters();
/**
* @generated This field/method will be replaced during code generation
* @return The list of FilterMappings references
* Filter mappings defined for the web app
*/
EList getFilterMappings();
/**
* @generated This field/method will be replaced during code generation
* @return The list of Listeners references
* The listeners collection contains deployment properties for a web application
* listener beans in the web app.
*/
EList getListeners();
/**
* Returns the value of the '<em><b>Context Params</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.j2ee.common.ParamValue}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Context Params</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Context Params</em>' containment reference list.
* @see org.eclipse.jst.j2ee.webapplication.WebapplicationPackage#getWebApp_ContextParams()
* @model type="org.eclipse.jst.j2ee.common.ParamValue" containment="true"
* @generated
*/
EList getContextParams();
/**
* Returns the value of the '<em><b>Jsp Config</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Jsp Config</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Jsp Config</em>' containment reference.
* @see #setJspConfig(JSPConfig)
* @see org.eclipse.jst.j2ee.webapplication.WebapplicationPackage#getWebApp_JspConfig()
* @model containment="true"
* @generated
*/
JSPConfig getJspConfig();
/**
* Sets the value of the '{@link org.eclipse.jst.j2ee.webapplication.WebApp#getJspConfig <em>Jsp Config</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Jsp Config</em>' containment reference.
* @see #getJspConfig()
* @generated
*/
void setJspConfig(JSPConfig value);
/**
* Returns the value of the '<em><b>Message Destinations</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jst.j2ee.common.MessageDestination}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Message Destinations</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Message Destinations</em>' containment reference list.
* @see org.eclipse.jst.j2ee.webapplication.WebapplicationPackage#getWebApp_MessageDestinations()
* @model type="org.eclipse.jst.j2ee.common.MessageDestination" containment="true"
* @generated
*/
EList getMessageDestinations();
/**
* Returns the value of the '<em><b>Local Encoding Mapping List</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Local Encoding Mapping List</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Local Encoding Mapping List</em>' containment reference.
* @see #setLocalEncodingMappingList(LocalEncodingMappingList)
* @see org.eclipse.jst.j2ee.webapplication.WebapplicationPackage#getWebApp_LocalEncodingMappingList()
* @model containment="true"
* @generated
*/
LocalEncodingMappingList getLocalEncodingMappingList();
/**
* Sets the value of the '{@link org.eclipse.jst.j2ee.webapplication.WebApp#getLocalEncodingMappingList <em>Local Encoding Mapping List</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Local Encoding Mapping List</em>' containment reference.
* @see #getLocalEncodingMappingList()
* @generated
*/
void setLocalEncodingMappingList(LocalEncodingMappingList value);
}