Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterMappingImpl.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterMappingImpl.java341
1 files changed, 341 insertions, 0 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterMappingImpl.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterMappingImpl.java
new file mode 100644
index 000000000..052a20df7
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/internal/webapplication/impl/FilterMappingImpl.java
@@ -0,0 +1,341 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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.internal.webapplication.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.jst.j2ee.webapplication.DispatcherType;
+import org.eclipse.jst.j2ee.webapplication.Filter;
+import org.eclipse.jst.j2ee.webapplication.FilterMapping;
+import org.eclipse.jst.j2ee.webapplication.Servlet;
+import org.eclipse.jst.j2ee.webapplication.WebApp;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+/**
+ * Declaration of the filter mappings in this web application. The container uses the filter-mapping declarations to decide which filters to apply to a request, and in what order. The container matches the request URI to a Servlet in the normal way. To determine which filters to apply it matches filter-mapping declarations either on servlet-name, or on url-pattern for each filter-mapping element, depending on which style is used. The order in which filters are invoked is the order in which filter-mapping declarations that match a request URI for a servlet appear in the list of filter-mapping elements.The filter-name value must be the value of the <filtername> sub-elements of one of the <filter> declarations in the deployment descriptor.
+ *
+ * @invariant The filter-name value must be the value of the Filter::name of one of the Filter declarations in the deployment descriptor.
+
+ */
+public class FilterMappingImpl extends EObjectImpl implements FilterMapping, EObject{
+
+ /**
+ * The default value of the '{@link #getUrlPattern() <em>Url Pattern</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUrlPattern()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_PATTERN_EDEFAULT = null;
+
+ protected transient String servletName;
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ protected String urlPattern = URL_PATTERN_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getDispatcherType() <em>Dispatcher Type</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDispatcherType()
+ * @generated
+ * @ordered
+ */
+ protected EList dispatcherType = null;
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ protected Filter filter = null;
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ protected Servlet servlet = null;
+ public FilterMappingImpl() {
+ super();
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return WebapplicationPackage.eINSTANCE.getFilterMapping();
+ }
+
+/**
+ * Returns the name of the servlet that this mapping applies to.
+ */
+ public Servlet getServlet(){
+ Servlet lservlet = this.getServletGen();
+ if (lservlet == null && servletName != null){
+ WebApp webapp = (WebApp)eContainer();
+ if (webapp != null){
+ lservlet=webapp.getServletNamed(servletName);
+ if (lservlet != null)
+ setServlet(lservlet);
+ }
+ }
+ return lservlet;
+}
+/**
+ * Returns the name of the servlet that this mapping applies to.
+ */
+public String getServletName(){
+ String ret = null;
+ if (servletName != null)
+ ret = servletName;
+
+ Servlet lservlet = getServlet();
+ if (lservlet != null)
+ ret = lservlet.getServletName();
+ return ret;
+}
+/**
+ * Sets the name of the servlet that this mapping applies to.
+ */
+public void setServletName(String servletName){
+ this.servletName = servletName;
+}
+ /**
+ * @generated This field/method will be replaced during code generation
+ * The url-pattern element contains the url pattern of the mapping. Must follow
+ * the rules specified in Section 10 of the Servlet API Specification.
+ */
+ public String getUrlPattern() {
+ return urlPattern;
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public void setUrlPattern(String newUrlPattern) {
+ String oldUrlPattern = urlPattern;
+ urlPattern = newUrlPattern;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, WebapplicationPackage.FILTER_MAPPING__URL_PATTERN, oldUrlPattern, urlPattern));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getDispatcherType() {
+ if (dispatcherType == null) {
+ dispatcherType = new EDataTypeUniqueEList(DispatcherType.class, this, WebapplicationPackage.FILTER_MAPPING__DISPATCHER_TYPE);
+ }
+ return dispatcherType;
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation
+ * The filter being mapped
+ */
+ public Filter getFilter() {
+ if (filter != null && filter.eIsProxy()) {
+ Filter oldFilter = filter;
+ filter = (Filter)eResolveProxy((InternalEObject)filter);
+ if (filter != oldFilter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, WebapplicationPackage.FILTER_MAPPING__FILTER, oldFilter, filter));
+ }
+ }
+ return filter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Filter basicGetFilter() {
+ return filter;
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public void setFilter(Filter newFilter) {
+ Filter oldFilter = filter;
+ filter = newFilter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, WebapplicationPackage.FILTER_MAPPING__FILTER, oldFilter, filter));
+ }
+
+ public void setServlet(Servlet l) {
+ servletName = null;
+ setServletGen(l);
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public void setServletGen(Servlet newServlet) {
+ Servlet oldServlet = servlet;
+ servlet = newServlet;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, WebapplicationPackage.FILTER_MAPPING__SERVLET, oldServlet, servlet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case WebapplicationPackage.FILTER_MAPPING__URL_PATTERN:
+ return getUrlPattern();
+ case WebapplicationPackage.FILTER_MAPPING__DISPATCHER_TYPE:
+ return getDispatcherType();
+ case WebapplicationPackage.FILTER_MAPPING__FILTER:
+ if (resolve) return getFilter();
+ return basicGetFilter();
+ case WebapplicationPackage.FILTER_MAPPING__SERVLET:
+ if (resolve) return getServlet();
+ return basicGetServlet();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public boolean eIsSet(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case WebapplicationPackage.FILTER_MAPPING__URL_PATTERN:
+ return URL_PATTERN_EDEFAULT == null ? urlPattern != null : !URL_PATTERN_EDEFAULT.equals(urlPattern);
+ case WebapplicationPackage.FILTER_MAPPING__DISPATCHER_TYPE:
+ return dispatcherType != null && !dispatcherType.isEmpty();
+ case WebapplicationPackage.FILTER_MAPPING__FILTER:
+ return filter != null;
+ case WebapplicationPackage.FILTER_MAPPING__SERVLET:
+ return servlet != null;
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case WebapplicationPackage.FILTER_MAPPING__URL_PATTERN:
+ setUrlPattern((String)newValue);
+ return;
+ case WebapplicationPackage.FILTER_MAPPING__DISPATCHER_TYPE:
+ getDispatcherType().clear();
+ getDispatcherType().addAll((Collection)newValue);
+ return;
+ case WebapplicationPackage.FILTER_MAPPING__FILTER:
+ setFilter((Filter)newValue);
+ return;
+ case WebapplicationPackage.FILTER_MAPPING__SERVLET:
+ if(newValue instanceof String)
+ setServletName((String)newValue);
+ else
+ setServlet((Servlet)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public void eUnset(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case WebapplicationPackage.FILTER_MAPPING__URL_PATTERN:
+ setUrlPattern(URL_PATTERN_EDEFAULT);
+ return;
+ case WebapplicationPackage.FILTER_MAPPING__DISPATCHER_TYPE:
+ getDispatcherType().clear();
+ return;
+ case WebapplicationPackage.FILTER_MAPPING__FILTER:
+ setFilter((Filter)null);
+ return;
+ case WebapplicationPackage.FILTER_MAPPING__SERVLET:
+ setServlet((Servlet)null);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation.
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (urlPattern: ");//$NON-NLS-1$
+ result.append(urlPattern);
+ result.append(", dispatcherType: ");//$NON-NLS-1$
+ result.append(dispatcherType);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * @generated This field/method will be replaced during code generation
+ * An optional servlet that is mapped by a filter mapping. servletName is used to resolve the servlet reference.
+ */
+ public Servlet getServletGen() {
+ if (servlet != null && servlet.eIsProxy()) {
+ Servlet oldServlet = servlet;
+ servlet = (Servlet)eResolveProxy((InternalEObject)servlet);
+ if (servlet != oldServlet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, WebapplicationPackage.FILTER_MAPPING__SERVLET, oldServlet, servlet));
+ }
+ }
+ return servlet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Servlet basicGetServlet() {
+ return servlet;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Back to the top