| /******************************************************************************* |
| * Copyright (c) 2001, 2008 Oracle 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: |
| * Oracle Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| |
| package org.eclipse.jst.jsf.common.webxml.internal; |
| |
| |
| import java.util.List; |
| |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.jst.j2ee.model.IModelProvider; |
| |
| |
| /** |
| * Abstract class to define web-xml editing interface. Users may use the |
| * WebXmlUpdater facade class for convenient web.xml editing. |
| * |
| * @author Debajit Adhikary |
| * |
| */ |
| public abstract class AbstractWebXmlUpdater |
| { |
| /** |
| * the web app object. JavaEE has own type and J2EE has another. They are not object compatible. |
| */ |
| protected final Object webAppObj; |
| /** |
| * the project |
| */ |
| protected final IProject project; |
| /** |
| * the model provider used to modify the model |
| */ |
| protected final IModelProvider provider; |
| /** |
| * the progress monitor |
| */ |
| protected final IProgressMonitor monitor; |
| |
| |
| /** |
| * @param webAppObj |
| * @param project |
| * @param provider |
| * @param monitor |
| */ |
| public AbstractWebXmlUpdater (final Object webAppObj, |
| final IProject project, |
| final IModelProvider provider, |
| final IProgressMonitor monitor) |
| { |
| this.webAppObj = webAppObj; |
| this.project = project; |
| this.provider = provider; |
| this.monitor = monitor; |
| } |
| |
| |
| /** |
| * @param servletName |
| * @param servletClass |
| * @param loadOnStartup |
| */ |
| public abstract void addServlet (final String servletName, |
| final String servletClass, |
| final String loadOnStartup); |
| |
| |
| /** |
| * @param servletName |
| * @param servletClass |
| * @param urlPattern |
| */ |
| public abstract void addServletMapping (final String servletName, |
| final String servletClass, |
| final String urlPattern); |
| |
| |
| /** |
| * Removes a servlet and its associated mappings from web.xml. |
| * |
| * @param servletClassName |
| * Fully qualified classname of servlet class to remove. |
| */ |
| public abstract void removeServlet (final String servletClassName); |
| |
| |
| /** |
| * @param filterName |
| * @param filterClass |
| */ |
| public abstract void addFilter (final String filterName, |
| final String filterClass); |
| |
| |
| /** |
| * Removes a filter and its associated mappings from web.xml. |
| * |
| * @param filterName |
| */ |
| public abstract void removeFilter (final String filterName); |
| |
| |
| /** |
| * @param filterName |
| * @param filterClass |
| * @param servletName |
| */ |
| public abstract void addFilterMapping (final String filterName, |
| final String filterClass, |
| final String servletName); |
| |
| /** |
| * @param paramName |
| * Name of context param |
| * @return Value of given context param. |
| */ |
| public abstract String getContextParamValue (final String paramName); |
| |
| |
| /** |
| * @param paramName |
| * Name of context param |
| * @param valuesDelimiterRegex |
| * Delimiter string for values |
| * @return Values of given context param as a list. This is useful when the |
| * multiple values are demarcated by a delimiter string. |
| */ |
| public abstract List<String> getContextParamValuesAsList (final String paramName, |
| final String valuesDelimiterRegex); |
| |
| |
| /** |
| * Sets the value of the given context param name to the given value. If |
| * paramName is not found, a new context-param is created with the given |
| * paramName and paramValue. |
| * |
| * @param paramName |
| * @param paramValue |
| */ |
| public abstract void setContextParamValue (final String paramName, |
| final String paramValue); |
| |
| |
| /** |
| * @param paramName |
| * @param paramValue |
| * @param description |
| */ |
| public abstract void addContextParam (final String paramName, |
| final String paramValue, |
| final String description); |
| |
| |
| /** |
| * @param listenerClass |
| */ |
| public abstract void addListener (final String listenerClass); |
| |
| |
| /** |
| * @return The WebApp object associated with this updater |
| */ |
| public abstract Object getWebApp (); |
| } |