/******************************************************************************* * Copyright (c) Dec 5, 2014 Liferay, Inc. * 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: * Liferay, Inc. - initial API and implementation and/or initial * documentation ******************************************************************************/ package org.eclipse.equinox.http.servlet.context; import org.osgi.framework.ServiceReference; import org.osgi.service.http.context.ServletContextHelper; /** * A customizer that is called by the Http Whiteboard runtime in order to allow * customization of context path used for servlets, resources and filters. * There are two types of customizations that are allowed. * <ol> * <li>Control the default selection filter used when no "osgi.http.whiteboard.context.select" * is specified.</li> * <li>Provide a prefix to the context path "osgi.http.whiteboard.context.path" * specified by ServletContextHelper registrations.</li> * </ol> * <p> * Registering a customizer results in re-initializing all existing ServletContextHelper registrations. * This should not be done often. Only the highest ranked customizer is used the runtime. * </p> * <p> * <b>Note:</b> This class is part of an interim SPI that is still under * development and expected to change significantly before reaching stability. * It is being made available at this early stage to solicit feedback from pioneering * adopters on the understanding that any code that uses this SPI will almost certainly * be broken (repeatedly) as the SPI evolves. * </p> * @since 1.2 */ public abstract class ContextPathCustomizer { /** * Returns a service filter that is used to select the default ServletContextHelper when no * selection filter is specified by the whiteboard service. This method is only * called if the supplied whiteboard service does not provide the * "osgi.http.whiteboard.context.select" service property. * @param httpWhiteBoardService * @return a service filter that is used to select the default SErvletContextHelper for the * specified whiteboard service. */ public String getDefaultContextSelectFilter(ServiceReference<?> httpWhiteBoardService) { return null; } /** * Returns a prefix that is prepended to the context path value * specified by the supplied helper's "osgi.http.whiteboard.context.path" * service property. * @param helper the helper for which the context path will be prepended to * @return the prefix to prepend to the context path */ public String getContextPathPrefix(ServiceReference<ServletContextHelper> helper) { return null; } }