org.apache.sling.engine.impl.helper
Class SlingServletContext

java.lang.Object
  extended by org.apache.sling.engine.impl.helper.SlingServletContext
All Implemented Interfaces:
javax.servlet.ServletContext

public class SlingServletContext
extends Object
implements javax.servlet.ServletContext

The SlingServletContext class is the ServletContext which is registered as a service usable by servlets and helpers inside Sling. Most methods just call into the servlet context in which the SlingMainServlet is running.

MIME Type Mapping
Just forwards to the servlet context of the SlingMainServlet for MIME type mapping.
Resources
This class provides access to the resources in the web application by means of the respective resource accessor methods. These are not the same resources as available through the ResourceResolver.
Request Dispatcher
The getRequestDispatcher(String) method returns a SlingRequestDispatcher which may dispatch a request inside sling without going through the servlet container. The getNamedDispatcher(String) method returns a servlet container request dispatcher which always goes through the servlet container.
Parameters and Attributes
Initialization parameters and context attributes are shared with the servlet context in which the SlingMainServlet is running.
Logging
Logging is diverted to a logger whose name is the fully qualified name of this class.


Constructor Summary
SlingServletContext(org.osgi.framework.BundleContext bundleContext, SlingMainServlet slingMainServlet)
          Creates an instance of this class delegating some methods to the given SlingMainServlet.
 
Method Summary
 void dispose()
          Unregisters this servlet context as a service (if registered at all)
 Object getAttribute(String name)
          Returns the named servlet context attribute.
 Enumeration<String> getAttributeNames()
          Returns the names of all servlet context attributes.
 javax.servlet.ServletContext getContext(String uripath)
          Returns the servlet context from the servlet container in which sling is running.
 String getContextPath()
          Returns the context path of the web application.
 String getInitParameter(String name)
          Returns the init-param of the servlet context in which Sling is configured.
 Enumeration<String> getInitParameterNames()
          Returns the names of the init-params of the servlet context in which Sling is configured.
 int getMajorVersion()
          Returns the major version number of the Servlet API supported by the servlet container in which Sling is running.
 String getMimeType(String file)
          Returns a MIME type for the extension of the given file name.
 int getMinorVersion()
          Returns the minor version number of the Servlet API supported by the servlet container in which Sling is running.
 javax.servlet.RequestDispatcher getNamedDispatcher(String name)
          Returns a servlet container request dispatcher for the named servlet.
 String getRealPath(String path)
          Returns the real file inside the web application to which the given path maps or null if no such file exists.
 javax.servlet.RequestDispatcher getRequestDispatcher(String path)
          Returns a SlingRequestDispatcher for the given path if not null.
 URL getResource(String path)
          Returns the URI for the given path.
 InputStream getResourceAsStream(String path)
          Returns an input stream to the given path.
 Set<String> getResourcePaths(String parentPath)
          Returns a set of names for path entries considered children of the given path.
 String getServerInfo()
          Returns the Sling server info string.
 javax.servlet.Servlet getServlet(String name)
          Deprecated. 
 String getServletContextName()
          Returns the name of the servlet context in which Sling is configured.
 Enumeration<?> getServletNames()
          Deprecated. 
 Enumeration<?> getServlets()
          Deprecated. 
 void log(Exception exception, String message)
          Deprecated. 
 void log(String message)
          Logs the message at info level to the logger
 void log(String message, Throwable throwable)
          Logs the message and optional throwable at error level to the logger
 void removeAttribute(String name)
          Removes the named servlet context attribute.
 void setAttribute(String name, Object object)
          Sets the name servlet context attribute to the requested value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SlingServletContext

public SlingServletContext(org.osgi.framework.BundleContext bundleContext,
                           SlingMainServlet slingMainServlet)
Creates an instance of this class delegating some methods to the given SlingMainServlet. In addition the new instance is registered as aServletContext.

This method must only be called after the sling main servlet has been fully initialized. Otherwise the getServletContext() method may cause a NullPointerException !

See Also:
dispose()
Method Detail

dispose

public void dispose()
Unregisters this servlet context as a service (if registered at all)

This method must be called before the sling main servlet is destroyed. Otherwise the getServletContext() method may cause a NullPointerException !

See Also:
#SlingServletContext(SlingMainServlet)

getServletContextName

public String getServletContextName()
Returns the name of the servlet context in which Sling is configured. This method calls on the ServletContext in which the SlingMainServlet is running.


getContextPath

public String getContextPath()
Returns the context path of the web application. (Servlet API 2.5)


getInitParameter

public String getInitParameter(String name)
Returns the init-param of the servlet context in which Sling is configured. This method calls on the ServletContext in which the SlingMainServlet is running.


getInitParameterNames

public Enumeration<String> getInitParameterNames()
Returns the names of the init-params of the servlet context in which Sling is configured. This method calls on the ServletContext in which the SlingMainServlet is running.


getAttribute

public Object getAttribute(String name)
Returns the named servlet context attribute. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getAttribute in interface javax.servlet.ServletContext

getAttributeNames

public Enumeration<String> getAttributeNames()
Returns the names of all servlet context attributes. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getAttributeNames in interface javax.servlet.ServletContext

removeAttribute

public void removeAttribute(String name)
Removes the named servlet context attribute. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
removeAttribute in interface javax.servlet.ServletContext

setAttribute

public void setAttribute(String name,
                         Object object)
Sets the name servlet context attribute to the requested value. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
setAttribute in interface javax.servlet.ServletContext

getServerInfo

public String getServerInfo()
Returns the Sling server info string. This is not the same server info string as returned by the servlet context in which Sling is configured.

Specified by:
getServerInfo in interface javax.servlet.ServletContext

getMajorVersion

public int getMajorVersion()
Returns the major version number of the Servlet API supported by the servlet container in which Sling is running. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getMajorVersion in interface javax.servlet.ServletContext

getMinorVersion

public int getMinorVersion()
Returns the minor version number of the Servlet API supported by the servlet container in which Sling is running. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getMinorVersion in interface javax.servlet.ServletContext

getMimeType

public String getMimeType(String file)
Returns a MIME type for the extension of the given file name. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getMimeType in interface javax.servlet.ServletContext

getRequestDispatcher

public javax.servlet.RequestDispatcher getRequestDispatcher(String path)
Returns a SlingRequestDispatcher for the given path if not null. Otherwise null is returned.

Specified by:
getRequestDispatcher in interface javax.servlet.ServletContext

getNamedDispatcher

public javax.servlet.RequestDispatcher getNamedDispatcher(String name)
Returns a servlet container request dispatcher for the named servlet. This method calls on the ServletContext in which the SlingMainServlet is running.


getResource

public URL getResource(String path)
                throws MalformedURLException
Returns the URI for the given path. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getResource in interface javax.servlet.ServletContext
Throws:
MalformedURLException

getResourceAsStream

public InputStream getResourceAsStream(String path)
Returns an input stream to the given path. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getResourceAsStream in interface javax.servlet.ServletContext

getResourcePaths

public Set<String> getResourcePaths(String parentPath)
Returns a set of names for path entries considered children of the given path. This method calls on the ServletContext in which the SlingMainServlet is running.


getRealPath

public String getRealPath(String path)
Returns the real file inside the web application to which the given path maps or null if no such file exists. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getRealPath in interface javax.servlet.ServletContext

log

public void log(String message,
                Throwable throwable)
Logs the message and optional throwable at error level to the logger

Specified by:
log in interface javax.servlet.ServletContext

log

public void log(String message)
Logs the message at info level to the logger

Specified by:
log in interface javax.servlet.ServletContext

log

@Deprecated
public void log(Exception exception,
                           String message)
Deprecated. 

Logs the message and optional exception at error level to the logger

Specified by:
log in interface javax.servlet.ServletContext

getContext

public javax.servlet.ServletContext getContext(String uripath)
Returns the servlet context from the servlet container in which sling is running. This method calls on the ServletContext in which the SlingMainServlet is running.

Specified by:
getContext in interface javax.servlet.ServletContext

getServlet

@Deprecated
public javax.servlet.Servlet getServlet(String name)
Deprecated. 

Returns null as defined in Servlet API 2.4

Specified by:
getServlet in interface javax.servlet.ServletContext

getServletNames

@Deprecated
public Enumeration<?> getServletNames()
Deprecated. 

Returns an empty enumeration as defined in Servlet API 2.4

Specified by:
getServletNames in interface javax.servlet.ServletContext

getServlets

@Deprecated
public Enumeration<?> getServlets()
Deprecated. 

Returns an empty enumeration as defined in Servlet API 2.4

Specified by:
getServlets in interface javax.servlet.ServletContext


Copyright © 2007-2013 The Apache Software Foundation. All Rights Reserved.