Class SlingServletContext
java.lang.Object
org.apache.sling.engine.impl.helper.SlingServletContext
- All Implemented Interfaces:
EventListener
,javax.servlet.ServletContext
,javax.servlet.ServletContextListener
public class SlingServletContext
extends Object
implements javax.servlet.ServletContext, javax.servlet.ServletContextListener
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 aSlingRequestDispatcher
which may dispatch a request inside sling without going through the servlet container. ThegetNamedDispatcher(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.
This class implements the Servlet API 3.0 ServletContext
interface.
-
Field Summary
Fields inherited from interface javax.servlet.ServletContext
ORDERED_LIBS, TEMPDIR
-
Constructor Summary
ConstructorDescriptionSlingServletContext
(org.apache.sling.engine.impl.Config config, org.osgi.framework.BundleContext bundleContext, org.apache.sling.engine.impl.ProductInfoProvider infoProvider) -
Method Summary
Modifier and TypeMethodDescriptionjavax.servlet.FilterRegistration.Dynamic
javax.servlet.FilterRegistration.Dynamic
javax.servlet.FilterRegistration.Dynamic
void
addListener
(Class<? extends EventListener> listenerClass) void
addListener
(String className) <T extends EventListener>
voidaddListener
(T t) javax.servlet.ServletRegistration.Dynamic
addServlet
(String servletName, Class<? extends javax.servlet.Servlet> servletClass) javax.servlet.ServletRegistration.Dynamic
addServlet
(String servletName, String className) javax.servlet.ServletRegistration.Dynamic
addServlet
(String servletName, javax.servlet.Servlet servlet) void
contextDestroyed
(javax.servlet.ServletContextEvent sce) void
contextInitialized
(javax.servlet.ServletContextEvent sce) <T extends javax.servlet.Filter>
TcreateFilter
(Class<T> clazz) <T extends EventListener>
TcreateListener
(Class<T> clazz) <T extends javax.servlet.Servlet>
TcreateServlet
(Class<T> clazz) void
declareRoles
(String... roleNames) getAttribute
(String name) Returns the named servlet context attribute.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.Returns the context path of the web application.Set<javax.servlet.SessionTrackingMode>
int
int
Set<javax.servlet.SessionTrackingMode>
javax.servlet.FilterRegistration
getFilterRegistration
(String filterName) getInitParameter
(String name) Returns the init-param of the servlet context in which Sling is configured.Returns the names of the init-params of the servlet context in which Sling is configured.javax.servlet.descriptor.JspConfigDescriptor
int
Returns the major version number of the Servlet API supported by the servlet container in which Sling is running.getMimeType
(String file) Returns a MIME type for the extension of the given file name.int
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.getRealPath
(String path) Returns the real file inside the web application to which the given path maps ornull
if no such file exists.javax.servlet.RequestDispatcher
getRequestDispatcher
(String path) Returns aSlingRequestDispatcher
for the given path if notnull
.getResource
(String path) Returns the URI for the given path.getResourceAsStream
(String path) Returns an input stream to the given path.getResourcePaths
(String parentPath) Returns a set of names for path entries considered children of the given path.Returns the Sling server info string.javax.servlet.Servlet
getServlet
(String name) Deprecated.protected javax.servlet.ServletContext
Returns the real servlet context of the servlet container in which the Sling Servlet is running.Returns the name of the servlet context in which Sling is configured.Deprecated.javax.servlet.ServletRegistration
getServletRegistration
(String servletName) Enumeration<javax.servlet.Servlet>
Deprecated.javax.servlet.SessionCookieConfig
void
Deprecated.void
Logs the message at info level to the loggervoid
Logs the message and optional throwable at error level to the loggerprotected void
modified
(org.apache.sling.engine.impl.Config config) 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.boolean
setInitParameter
(String name, String value) void
setSessionTrackingModes
(Set<javax.servlet.SessionTrackingMode> sessionTrackingModes) protected javax.servlet.ServletContext
wrapServletContext
(javax.servlet.ServletContext context)
-
Field Details
-
TARGET
- See Also:
-
-
Constructor Details
-
SlingServletContext
public SlingServletContext(org.apache.sling.engine.impl.Config config, org.osgi.framework.BundleContext bundleContext, org.apache.sling.engine.impl.ProductInfoProvider infoProvider)
-
-
Method Details
-
modified
protected void modified(org.apache.sling.engine.impl.Config config) -
contextInitialized
public void contextInitialized(javax.servlet.ServletContextEvent sce) - Specified by:
contextInitialized
in interfacejavax.servlet.ServletContextListener
-
contextDestroyed
public void contextDestroyed(javax.servlet.ServletContextEvent sce) - Specified by:
contextDestroyed
in interfacejavax.servlet.ServletContextListener
-
getServletContextName
Returns the name of the servlet context in which Sling is configured. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getServletContextName
in interfacejavax.servlet.ServletContext
-
getContextPath
Returns the context path of the web application. (Servlet API 2.5)- Specified by:
getContextPath
in interfacejavax.servlet.ServletContext
-
getInitParameter
Returns the init-param of the servlet context in which Sling is configured. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getInitParameter
in interfacejavax.servlet.ServletContext
-
getInitParameterNames
Returns the names of the init-params of the servlet context in which Sling is configured. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getInitParameterNames
in interfacejavax.servlet.ServletContext
-
getAttribute
Returns the named servlet context attribute. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getAttribute
in interfacejavax.servlet.ServletContext
-
getAttributeNames
Returns the names of all servlet context attributes. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getAttributeNames
in interfacejavax.servlet.ServletContext
-
removeAttribute
Removes the named servlet context attribute. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
removeAttribute
in interfacejavax.servlet.ServletContext
-
setAttribute
Sets the name servlet context attribute to the requested value. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
setAttribute
in interfacejavax.servlet.ServletContext
-
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 interfacejavax.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 theServletContext
in which theSlingMainServlet
is running.- Specified by:
getMajorVersion
in interfacejavax.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 theServletContext
in which theSlingMainServlet
is running.- Specified by:
getMinorVersion
in interfacejavax.servlet.ServletContext
-
getMimeType
Returns a MIME type for the extension of the given file name. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getMimeType
in interfacejavax.servlet.ServletContext
-
getRequestDispatcher
- Specified by:
getRequestDispatcher
in interfacejavax.servlet.ServletContext
-
getNamedDispatcher
Returns a servlet container request dispatcher for the named servlet. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getNamedDispatcher
in interfacejavax.servlet.ServletContext
-
getResource
Returns the URI for the given path. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getResource
in interfacejavax.servlet.ServletContext
- Throws:
MalformedURLException
-
getResourceAsStream
Returns an input stream to the given path. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getResourceAsStream
in interfacejavax.servlet.ServletContext
-
getResourcePaths
Returns a set of names for path entries considered children of the given path. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getResourcePaths
in interfacejavax.servlet.ServletContext
-
getRealPath
Returns the real file inside the web application to which the given path maps ornull
if no such file exists. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getRealPath
in interfacejavax.servlet.ServletContext
-
log
Logs the message and optional throwable at error level to the logger- Specified by:
log
in interfacejavax.servlet.ServletContext
-
log
Logs the message at info level to the logger- Specified by:
log
in interfacejavax.servlet.ServletContext
-
log
Deprecated.Logs the message and optional exception at error level to the logger- Specified by:
log
in interfacejavax.servlet.ServletContext
-
getContext
Returns the servlet context from the servlet container in which sling is running. This method calls on theServletContext
in which theSlingMainServlet
is running.- Specified by:
getContext
in interfacejavax.servlet.ServletContext
-
getServlet
Deprecated.Returnsnull
as defined in Servlet API 2.4- Specified by:
getServlet
in interfacejavax.servlet.ServletContext
-
getServletNames
Deprecated.Returns an empty enumeration as defined in Servlet API 2.4- Specified by:
getServletNames
in interfacejavax.servlet.ServletContext
-
getServlets
Deprecated.Returns an empty enumeration as defined in Servlet API 2.4- Specified by:
getServlets
in interfacejavax.servlet.ServletContext
-
getEffectiveMajorVersion
public int getEffectiveMajorVersion()- Specified by:
getEffectiveMajorVersion
in interfacejavax.servlet.ServletContext
-
getEffectiveMinorVersion
public int getEffectiveMinorVersion()- Specified by:
getEffectiveMinorVersion
in interfacejavax.servlet.ServletContext
-
setInitParameter
- Specified by:
setInitParameter
in interfacejavax.servlet.ServletContext
-
getSessionCookieConfig
public javax.servlet.SessionCookieConfig getSessionCookieConfig()- Specified by:
getSessionCookieConfig
in interfacejavax.servlet.ServletContext
-
setSessionTrackingModes
- Specified by:
setSessionTrackingModes
in interfacejavax.servlet.ServletContext
-
getDefaultSessionTrackingModes
- Specified by:
getDefaultSessionTrackingModes
in interfacejavax.servlet.ServletContext
-
getEffectiveSessionTrackingModes
- Specified by:
getEffectiveSessionTrackingModes
in interfacejavax.servlet.ServletContext
-
getJspConfigDescriptor
public javax.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor()- Specified by:
getJspConfigDescriptor
in interfacejavax.servlet.ServletContext
-
getClassLoader
- Specified by:
getClassLoader
in interfacejavax.servlet.ServletContext
-
declareRoles
- Specified by:
declareRoles
in interfacejavax.servlet.ServletContext
-
addServlet
- Specified by:
addServlet
in interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, javax.servlet.Servlet servlet) - Specified by:
addServlet
in interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, Class<? extends javax.servlet.Servlet> servletClass) - Specified by:
addServlet
in interfacejavax.servlet.ServletContext
-
createServlet
- Specified by:
createServlet
in interfacejavax.servlet.ServletContext
-
getServletRegistration
- Specified by:
getServletRegistration
in interfacejavax.servlet.ServletContext
-
getServletRegistrations
- Specified by:
getServletRegistrations
in interfacejavax.servlet.ServletContext
-
addFilter
- Specified by:
addFilter
in interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, javax.servlet.Filter filter) - Specified by:
addFilter
in interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Class<? extends javax.servlet.Filter> filterClass) - Specified by:
addFilter
in interfacejavax.servlet.ServletContext
-
createFilter
- Specified by:
createFilter
in interfacejavax.servlet.ServletContext
-
getFilterRegistration
- Specified by:
getFilterRegistration
in interfacejavax.servlet.ServletContext
-
getFilterRegistrations
- Specified by:
getFilterRegistrations
in interfacejavax.servlet.ServletContext
-
addListener
- Specified by:
addListener
in interfacejavax.servlet.ServletContext
-
addListener
- Specified by:
addListener
in interfacejavax.servlet.ServletContext
-
addListener
- Specified by:
addListener
in interfacejavax.servlet.ServletContext
-
createListener
- Specified by:
createListener
in interfacejavax.servlet.ServletContext
-
getVirtualServerName
- Specified by:
getVirtualServerName
in interfacejavax.servlet.ServletContext
-
getServletContext
protected javax.servlet.ServletContext getServletContext()Returns the real servlet context of the servlet container in which the Sling Servlet is running.- Returns:
- the servlet context
-
wrapServletContext
protected javax.servlet.ServletContext wrapServletContext(javax.servlet.ServletContext context)
-