Class SlingServletContext
- java.lang.Object
-
- org.apache.sling.engine.impl.helper.SlingServletContext
-
- All Implemented Interfaces:
javax.servlet.ServletContext
public class SlingServletContext extends Object implements javax.servlet.ServletContext
TheSlingServletContextclass is theServletContextwhich is registered as a service usable by servlets and helpers inside Sling. Most methods just call into the servlet context in which theSlingMainServletis running.- MIME Type Mapping
- Just forwards to the servlet context of the
SlingMainServletfor 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 aSlingRequestDispatcherwhich 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
SlingMainServletis 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
ServletContextinterface.
-
-
Constructor Summary
Constructors Constructor Description SlingServletContext(org.osgi.framework.BundleContext bundleContext, org.apache.sling.engine.impl.SlingMainServlet slingMainServlet)Creates an instance of this class delegating some methods to the givenSlingMainServlet.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description javax.servlet.FilterRegistration.DynamicaddFilter(String filterName, Class<? extends javax.servlet.Filter> filterClass)javax.servlet.FilterRegistration.DynamicaddFilter(String filterName, String className)javax.servlet.FilterRegistration.DynamicaddFilter(String filterName, javax.servlet.Filter filter)voidaddListener(Class<? extends EventListener> listenerClass)voidaddListener(String className)<T extends EventListener>
voidaddListener(T t)javax.servlet.ServletRegistration.DynamicaddServlet(String servletName, Class<? extends javax.servlet.Servlet> servletClass)javax.servlet.ServletRegistration.DynamicaddServlet(String servletName, String className)javax.servlet.ServletRegistration.DynamicaddServlet(String servletName, javax.servlet.Servlet servlet)<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)voiddeclareRoles(String... roleNames)voiddispose()Unregisters this servlet context as a service (if registered at all)ObjectgetAttribute(String name)Returns the named servlet context attribute.Enumeration<String>getAttributeNames()Returns the names of all servlet context attributes.ClassLoadergetClassLoader()javax.servlet.ServletContextgetContext(String uripath)Returns the servlet context from the servlet container in which sling is running.StringgetContextPath()Returns the context path of the web application.Set<javax.servlet.SessionTrackingMode>getDefaultSessionTrackingModes()intgetEffectiveMajorVersion()intgetEffectiveMinorVersion()Set<javax.servlet.SessionTrackingMode>getEffectiveSessionTrackingModes()javax.servlet.FilterRegistrationgetFilterRegistration(String filterName)Map<String,? extends javax.servlet.FilterRegistration>getFilterRegistrations()StringgetInitParameter(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.javax.servlet.descriptor.JspConfigDescriptorgetJspConfigDescriptor()intgetMajorVersion()Returns the major version number of the Servlet API supported by the servlet container in which Sling is running.StringgetMimeType(String file)Returns a MIME type for the extension of the given file name.intgetMinorVersion()Returns the minor version number of the Servlet API supported by the servlet container in which Sling is running.javax.servlet.RequestDispatchergetNamedDispatcher(String name)Returns a servlet container request dispatcher for the named servlet.StringgetRealPath(String path)Returns the real file inside the web application to which the given path maps ornullif no such file exists.javax.servlet.RequestDispatchergetRequestDispatcher(String path)Returns aSlingRequestDispatcherfor the given path if notnull.URLgetResource(String path)Returns the URI for the given path.InputStreamgetResourceAsStream(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.StringgetServerInfo()Returns the Sling server info string.javax.servlet.ServletgetServlet(String name)Deprecated.protected javax.servlet.ServletContextgetServletContext()Returns the real servlet context of the servlet container in which the Sling Servlet is running.StringgetServletContextName()Returns the name of the servlet context in which Sling is configured.Enumeration<String>getServletNames()Deprecated.javax.servlet.ServletRegistrationgetServletRegistration(String servletName)Map<String,? extends javax.servlet.ServletRegistration>getServletRegistrations()Enumeration<javax.servlet.Servlet>getServlets()Deprecated.javax.servlet.SessionCookieConfiggetSessionCookieConfig()StringgetVirtualServerName()voidlog(Exception exception, String message)Deprecated.voidlog(String message)Logs the message at info level to the loggervoidlog(String message, Throwable throwable)Logs the message and optional throwable at error level to the loggervoidregister(org.osgi.framework.BundleContext bundleContext)voidremoveAttribute(String name)Removes the named servlet context attribute.voidsetAttribute(String name, Object object)Sets the name servlet context attribute to the requested value.booleansetInitParameter(String name, String value)voidsetSessionTrackingModes(Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)protected javax.servlet.ServletContextwrapServletContext(javax.servlet.ServletContext context)
-
-
-
Constructor Detail
-
SlingServletContext
public SlingServletContext(org.osgi.framework.BundleContext bundleContext, org.apache.sling.engine.impl.SlingMainServlet slingMainServlet)Creates an instance of this class delegating some methods to the givenSlingMainServlet. 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 aNullPointerException!- Parameters:
bundleContext- the OSGi Bundle ContextslingMainServlet- the main servlet- See Also:
dispose()
-
-
Method Detail
-
register
public void register(org.osgi.framework.BundleContext bundleContext)
-
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 aNullPointerException!
-
getServletContextName
public String getServletContextName()
Returns the name of the servlet context in which Sling is configured. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getServletContextNamein interfacejavax.servlet.ServletContext
-
getContextPath
public String getContextPath()
Returns the context path of the web application. (Servlet API 2.5)- Specified by:
getContextPathin interfacejavax.servlet.ServletContext
-
getInitParameter
public String getInitParameter(String name)
Returns the init-param of the servlet context in which Sling is configured. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getInitParameterin interfacejavax.servlet.ServletContext
-
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 theServletContextin which theSlingMainServletis running.- Specified by:
getInitParameterNamesin interfacejavax.servlet.ServletContext
-
getAttribute
public Object getAttribute(String name)
Returns the named servlet context attribute. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getAttributein interfacejavax.servlet.ServletContext
-
getAttributeNames
public Enumeration<String> getAttributeNames()
Returns the names of all servlet context attributes. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getAttributeNamesin interfacejavax.servlet.ServletContext
-
removeAttribute
public void removeAttribute(String name)
Removes the named servlet context attribute. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
removeAttributein interfacejavax.servlet.ServletContext
-
setAttribute
public void setAttribute(String name, Object object)
Sets the name servlet context attribute to the requested value. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
setAttributein interfacejavax.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:
getServerInfoin 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 theServletContextin which theSlingMainServletis running.- Specified by:
getMajorVersionin 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 theServletContextin which theSlingMainServletis running.- Specified by:
getMinorVersionin interfacejavax.servlet.ServletContext
-
getMimeType
public String getMimeType(String file)
Returns a MIME type for the extension of the given file name. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getMimeTypein interfacejavax.servlet.ServletContext
-
getRequestDispatcher
public javax.servlet.RequestDispatcher getRequestDispatcher(String path)
- Specified by:
getRequestDispatcherin interfacejavax.servlet.ServletContext
-
getNamedDispatcher
public javax.servlet.RequestDispatcher getNamedDispatcher(String name)
Returns a servlet container request dispatcher for the named servlet. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getNamedDispatcherin interfacejavax.servlet.ServletContext
-
getResource
public URL getResource(String path) throws MalformedURLException
Returns the URI for the given path. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getResourcein interfacejavax.servlet.ServletContext- Throws:
MalformedURLException
-
getResourceAsStream
public InputStream getResourceAsStream(String path)
Returns an input stream to the given path. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getResourceAsStreamin interfacejavax.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 theServletContextin which theSlingMainServletis running.- Specified by:
getResourcePathsin interfacejavax.servlet.ServletContext
-
getRealPath
public String getRealPath(String path)
Returns the real file inside the web application to which the given path maps ornullif no such file exists. This method calls on theServletContextin which theSlingMainServletis running.- Specified by:
getRealPathin interfacejavax.servlet.ServletContext
-
log
public void log(String message, Throwable throwable)
Logs the message and optional throwable at error level to the logger- Specified by:
login interfacejavax.servlet.ServletContext
-
log
public void log(String message)
Logs the message at info level to the logger- Specified by:
login interfacejavax.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:
login interfacejavax.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 theServletContextin which theSlingMainServletis running.- Specified by:
getContextin interfacejavax.servlet.ServletContext
-
getServlet
@Deprecated public javax.servlet.Servlet getServlet(String name)
Deprecated.Returnsnullas defined in Servlet API 2.4- Specified by:
getServletin interfacejavax.servlet.ServletContext
-
getServletNames
@Deprecated public Enumeration<String> getServletNames()
Deprecated.Returns an empty enumeration as defined in Servlet API 2.4- Specified by:
getServletNamesin interfacejavax.servlet.ServletContext
-
getServlets
@Deprecated public Enumeration<javax.servlet.Servlet> getServlets()
Deprecated.Returns an empty enumeration as defined in Servlet API 2.4- Specified by:
getServletsin interfacejavax.servlet.ServletContext
-
getEffectiveMajorVersion
public int getEffectiveMajorVersion()
- Specified by:
getEffectiveMajorVersionin interfacejavax.servlet.ServletContext
-
getEffectiveMinorVersion
public int getEffectiveMinorVersion()
- Specified by:
getEffectiveMinorVersionin interfacejavax.servlet.ServletContext
-
setInitParameter
public boolean setInitParameter(String name, String value)
- Specified by:
setInitParameterin interfacejavax.servlet.ServletContext
-
getSessionCookieConfig
public javax.servlet.SessionCookieConfig getSessionCookieConfig()
- Specified by:
getSessionCookieConfigin interfacejavax.servlet.ServletContext
-
setSessionTrackingModes
public void setSessionTrackingModes(Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)
- Specified by:
setSessionTrackingModesin interfacejavax.servlet.ServletContext
-
getDefaultSessionTrackingModes
public Set<javax.servlet.SessionTrackingMode> getDefaultSessionTrackingModes()
- Specified by:
getDefaultSessionTrackingModesin interfacejavax.servlet.ServletContext
-
getEffectiveSessionTrackingModes
public Set<javax.servlet.SessionTrackingMode> getEffectiveSessionTrackingModes()
- Specified by:
getEffectiveSessionTrackingModesin interfacejavax.servlet.ServletContext
-
getJspConfigDescriptor
public javax.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor()
- Specified by:
getJspConfigDescriptorin interfacejavax.servlet.ServletContext
-
getClassLoader
public ClassLoader getClassLoader()
- Specified by:
getClassLoaderin interfacejavax.servlet.ServletContext
-
declareRoles
public void declareRoles(String... roleNames)
- Specified by:
declareRolesin interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, String className)
- Specified by:
addServletin interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, javax.servlet.Servlet servlet)
- Specified by:
addServletin interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, Class<? extends javax.servlet.Servlet> servletClass)
- Specified by:
addServletin interfacejavax.servlet.ServletContext
-
createServlet
public <T extends javax.servlet.Servlet> T createServlet(Class<T> clazz)
- Specified by:
createServletin interfacejavax.servlet.ServletContext
-
getServletRegistration
public javax.servlet.ServletRegistration getServletRegistration(String servletName)
- Specified by:
getServletRegistrationin interfacejavax.servlet.ServletContext
-
getServletRegistrations
public Map<String,? extends javax.servlet.ServletRegistration> getServletRegistrations()
- Specified by:
getServletRegistrationsin interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, String className)
- Specified by:
addFilterin interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, javax.servlet.Filter filter)
- Specified by:
addFilterin interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Class<? extends javax.servlet.Filter> filterClass)
- Specified by:
addFilterin interfacejavax.servlet.ServletContext
-
createFilter
public <T extends javax.servlet.Filter> T createFilter(Class<T> clazz)
- Specified by:
createFilterin interfacejavax.servlet.ServletContext
-
getFilterRegistration
public javax.servlet.FilterRegistration getFilterRegistration(String filterName)
- Specified by:
getFilterRegistrationin interfacejavax.servlet.ServletContext
-
getFilterRegistrations
public Map<String,? extends javax.servlet.FilterRegistration> getFilterRegistrations()
- Specified by:
getFilterRegistrationsin interfacejavax.servlet.ServletContext
-
addListener
public void addListener(String className)
- Specified by:
addListenerin interfacejavax.servlet.ServletContext
-
addListener
public <T extends EventListener> void addListener(T t)
- Specified by:
addListenerin interfacejavax.servlet.ServletContext
-
addListener
public void addListener(Class<? extends EventListener> listenerClass)
- Specified by:
addListenerin interfacejavax.servlet.ServletContext
-
createListener
public <T extends EventListener> T createListener(Class<T> clazz)
- Specified by:
createListenerin 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)
-
getVirtualServerName
public String getVirtualServerName()
- Specified by:
getVirtualServerNamein interfacejavax.servlet.ServletContext
-
-