org.apache.sling.engine.servlets
Class AbstractServiceReferenceConfig

java.lang.Object
  extended by org.apache.sling.engine.servlets.AbstractServiceReferenceConfig

public abstract class AbstractServiceReferenceConfig
extends java.lang.Object

The AbstractServiceReferenceConfig may be used as a base class to define ServletConfig and FilterConfig instances from OSGi ServiceReference objects. The properties of this service reference are used as the initialization parameters of the configuration object.

The name of the servlet or filter may be retrieved from the service reference by calling the static getName(ServiceReference) method. This method looks for the following service reference properties, assuming the first non-null value found:

  1. sling.core.servletName - A service registration property which may be set to define an independent servlet name.
  2. component.name - The name of the Declarative Services component if the OSGi service is registered using Declarative Services.
  3. service.pid - The Service PID of the service.
  4. service.id - The ID of the service as set by the OSGi framework service registry. This property is guaranteed to always be set by the OSGi specification.


Constructor Summary
AbstractServiceReferenceConfig(javax.servlet.ServletContext servletContext, org.osgi.framework.ServiceReference reference, java.lang.String name)
          Sets up this base configuration object.
 
Method Summary
 java.lang.String getInitParameter(java.lang.String name)
           
 java.util.Enumeration<?> getInitParameterNames()
           
protected  java.lang.String getName()
          Returns the name of this configuration object.
static java.lang.String getName(org.osgi.framework.ServiceReference reference)
          Looks for a name value in the service reference properties.
 javax.servlet.ServletContext getServletContext()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractServiceReferenceConfig

public AbstractServiceReferenceConfig(javax.servlet.ServletContext servletContext,
                                      org.osgi.framework.ServiceReference reference,
                                      java.lang.String name)
Sets up this base configuration object.

Parameters:
servletContext - The ServletContext attached to this configuration.
reference - The service reference providing the initialization parameter values.
name - The name of this configuration.
See Also:
getName()
Method Detail

getInitParameter

public java.lang.String getInitParameter(java.lang.String name)

getInitParameterNames

public java.util.Enumeration<?> getInitParameterNames()

getServletContext

public javax.servlet.ServletContext getServletContext()

getName

protected java.lang.String getName()
Returns the name of this configuration object. Implementations may use this value to implement the ServletConfig.getServletName() or FilterConfig.getFilterName() methods.


getName

public static java.lang.String getName(org.osgi.framework.ServiceReference reference)
Looks for a name value in the service reference properties. See the class comment at the top for the list of properties checked by this method.



Copyright © 2007-2009. All Rights Reserved.