Package org.apache.sling.maven.jspc

## Class JspCServletContext

- java.lang.Object
- - org.apache.sling.maven.jspc.JspCServletContext

All Implemented Interfaces:
  `javax.servlet.ServletContext`

    public class JspCServletContext
    extends Object
    implements javax.servlet.ServletContext

Simple `ServletContext` implementation without HTTP-specific methods.

This class has been copied from the JspCServletContext of the Jasper 5.5.20 distribution and reformated to match the formating rules of Sling. Additionally, the `getResource(String)` method has special knowledge of the /WEB-INF/web.xml file, which is not required by the JspC plugin but by the TldLocationsCache. Hence this method simulates the web.xml with an embedded empty resource.

### Field Summary

### Fields inherited from interface javax.servlet.ServletContext

`ORDERED_LIBS, TEMPDIR`

### Constructor Summary

Constructors
`JspCServletContext​(org.apache.maven.plugin.logging.Log log, URL resourceBaseURL, org.apache.sling.scripting.jsp.jasper.compiler.TldLocationsCache tldLocationsCache)` Create a new instance of this ServletContext implementation.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`void` `addAlternativeBaseURL​(URL altBaseURL)` Adds an alternative base url for finding resources.
`javax.servlet.FilterRegistration.Dynamic` `addFilter​(String filterName, Class<? extends javax.servlet.Filter> filterClass)`
`javax.servlet.FilterRegistration.Dynamic` `addFilter​(String filterName, String className)`
`javax.servlet.FilterRegistration.Dynamic` `addFilter​(String filterName, javax.servlet.Filter filter)`
`void` `addListener​(Class<? extends EventListener> listenerClass)`
`void` `addListener​(String className)`
`<T extends EventListener> void` `addListener​(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)`
`<T extends javax.servlet.Filter> T` `createFilter​(Class<T> clazz)`
`<T extends EventListener> T` `createListener​(Class<T> clazz)`
`<T extends javax.servlet.Servlet> T` `createServlet​(Class<T> clazz)`
`void` `declareRoles​(String... roleNames)`
`Object` `getAttribute​(String name)` Return the specified context attribute, if any.
`Enumeration<String>` `getAttributeNames()` Return an enumeration of context attribute names.
`ClassLoader` `getClassLoader()`
`javax.servlet.ServletContext` `getContext​(String uripath)` Return the servlet context for the specified path.
`String` `getContextPath()` Return "/" as the context path for compilation.
`Set<javax.servlet.SessionTrackingMode>` `getDefaultSessionTrackingModes()`
`int` `getEffectiveMajorVersion()`
`int` `getEffectiveMinorVersion()`
`Set<javax.servlet.SessionTrackingMode>` `getEffectiveSessionTrackingModes()`
`javax.servlet.FilterRegistration` `getFilterRegistration​(String filterName)`
`Map<String,​? extends javax.servlet.FilterRegistration>` `getFilterRegistrations()`
`String` `getInitParameter​(String name)` Return the specified context initialization parameter.
`Enumeration<String>` `getInitParameterNames()` Return an enumeration of the names of context initialization parameters.
`javax.servlet.descriptor.JspConfigDescriptor` `getJspConfigDescriptor()`
`int` `getMajorVersion()` Return the Servlet API major version number.
`String` `getMimeType​(String file)` Return the MIME type for the specified filename.
`int` `getMinorVersion()` Return the Servlet API minor version number.
`javax.servlet.RequestDispatcher` `getNamedDispatcher​(String name)` Return a request dispatcher for the specified servlet name.
`String` `getRealPath​(String path)` Return the real path for the specified context-relative virtual path.
`javax.servlet.RequestDispatcher` `getRequestDispatcher​(String path)` Return a request dispatcher for the specified context-relative path.
`URL` `getResource​(String path)` Return a URL object of a resource that is mapped to the specified context-relative path.
`InputStream` `getResourceAsStream​(String path)` Return an InputStream allowing access to the resource at the specified context-relative path.
`Set<String>` `getResourcePaths​(String path)` Return the set of resource paths for the "directory" at the specified context path.
`String` `getServerInfo()` Return descriptive information about this server.
`javax.servlet.Servlet` `getServlet​(String name)` Deprecated. This method has been deprecated with no replacement
`String` `getServletContextName()` Return the name of this servlet context.
`Enumeration<String>` `getServletNames()` Deprecated. This method has been deprecated with no replacement
`javax.servlet.ServletRegistration` `getServletRegistration​(String servletName)`
`Map<String,​? extends javax.servlet.ServletRegistration>` `getServletRegistrations()`
`Enumeration<javax.servlet.Servlet>` `getServlets()` Deprecated. This method has been deprecated with no replacement
`javax.servlet.SessionCookieConfig` `getSessionCookieConfig()`
`String` `getVirtualServerName()`
`void` `log​(Exception exception, String message)` Deprecated. Use log(String,Throwable) instead
`void` `log​(String message)` Log the specified message.
`void` `log​(String message, Throwable exception)` Log the specified message and exception.
`void` `removeAttribute​(String name)` Remove the specified context attribute.
`void` `setAttribute​(String name, Object value)` Set or replace the specified context attribute.
`boolean` `setInitParameter​(String name, String value)`
`void` `setSessionTrackingModes​(Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### JspCServletContext

    public JspCServletContext​(org.apache.maven.plugin.logging.Log log,
                              URL resourceBaseURL,
                              org.apache.sling.scripting.jsp.jasper.compiler.TldLocationsCache tldLocationsCache)

Create a new instance of this ServletContext implementation.

Parameters:
  `log` - The Log which is used for `log()` calls
  `resourceBaseURL` - Resource base URL
  `tldLocationsCache` -

### Method Detail

#### addAlternativeBaseURL

    public void addAlternativeBaseURL​(URL altBaseURL)

Adds an alternative base url for finding resources.

Parameters:
  `altBaseURL` - alternative resource base

#### getAttribute

    public Object getAttribute​(String name)

Return the specified context attribute, if any.

Specified by:
  `getAttribute` in interface `javax.servlet.ServletContext`
Parameters:
  `name` - Name of the requested attribute

#### getAttributeNames

    public Enumeration<String> getAttributeNames()

Return an enumeration of context attribute names.

Specified by:
  `getAttributeNames` in interface `javax.servlet.ServletContext`

#### getContext

    public javax.servlet.ServletContext getContext​(String uripath)

Return the servlet context for the specified path.

Specified by:
  `getContext` in interface `javax.servlet.ServletContext`
Parameters:
  `uripath` - Server-relative path starting with '/'

#### getInitParameter

    public String getInitParameter​(String name)

Return the specified context initialization parameter.

Specified by:
  `getInitParameter` in interface `javax.servlet.ServletContext`
Parameters:
  `name` - Name of the requested parameter

#### getInitParameterNames

    public Enumeration<String> getInitParameterNames()

Return an enumeration of the names of context initialization parameters.

Specified by:
  `getInitParameterNames` in interface `javax.servlet.ServletContext`

#### getMajorVersion

    public int getMajorVersion()

Return the Servlet API major version number.

Specified by:
  `getMajorVersion` in interface `javax.servlet.ServletContext`

#### getMimeType

    public String getMimeType​(String file)

Return the MIME type for the specified filename.

Specified by:
  `getMimeType` in interface `javax.servlet.ServletContext`
Parameters:
  `file` - Filename whose MIME type is requested

#### getMinorVersion

    public int getMinorVersion()

Return the Servlet API minor version number.

Specified by:
  `getMinorVersion` in interface `javax.servlet.ServletContext`

#### getNamedDispatcher

    public javax.servlet.RequestDispatcher getNamedDispatcher​(String name)

Return a request dispatcher for the specified servlet name.

Specified by:
  `getNamedDispatcher` in interface `javax.servlet.ServletContext`
Parameters:
  `name` - Name of the requested servlet

#### getRealPath

    public String getRealPath​(String path)

Return the real path for the specified context-relative virtual path.

Specified by:
  `getRealPath` in interface `javax.servlet.ServletContext`
Parameters:
  `path` - The context-relative virtual path to resolve

#### getRequestDispatcher

    public javax.servlet.RequestDispatcher getRequestDispatcher​(String path)

Return a request dispatcher for the specified context-relative path.

Specified by:
  `getRequestDispatcher` in interface `javax.servlet.ServletContext`
Parameters:
  `path` - Context-relative path for which to acquire a dispatcher

#### getResource

    public URL getResource​(String path)
                    throws MalformedURLException

Return a URL object of a resource that is mapped to the specified context-relative path.

Specified by:
  `getResource` in interface `javax.servlet.ServletContext`
Parameters:
  `path` - Context-relative path of the desired resource
Throws:
  `MalformedURLException` - if the resource path is not properly formed

#### getResourceAsStream

    public InputStream getResourceAsStream​(String path)

Return an InputStream allowing access to the resource at the specified context-relative path.

Specified by:
  `getResourceAsStream` in interface `javax.servlet.ServletContext`
Parameters:
  `path` - Context-relative path of the desired resource

#### getResourcePaths

    public Set<String> getResourcePaths​(String path)

Return the set of resource paths for the "directory" at the specified context path.

Specified by:
  `getResourcePaths` in interface `javax.servlet.ServletContext`
Parameters:
  `path` - Context-relative base path

#### getServerInfo

    public String getServerInfo()

Return descriptive information about this server.

Specified by:
  `getServerInfo` in interface `javax.servlet.ServletContext`

#### getServlet

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

Deprecated.
This method has been deprecated with no replacement
Return a null reference for the specified servlet name.

Specified by:
  `getServlet` in interface `javax.servlet.ServletContext`
Parameters:
  `name` - Name of the requested servlet

#### getServletContextName

    public String getServletContextName()

Return the name of this servlet context.

Specified by:
  `getServletContextName` in interface `javax.servlet.ServletContext`

#### getContextPath

    public String getContextPath()

Return "/" as the context path for compilation.

Specified by:
  `getContextPath` in interface `javax.servlet.ServletContext`

#### getServletNames

    @Deprecated
    public Enumeration<String> getServletNames()

Deprecated.
This method has been deprecated with no replacement
Return an empty enumeration of servlet names.

Specified by:
  `getServletNames` in interface `javax.servlet.ServletContext`

#### getServlets

    @Deprecated
    public Enumeration<javax.servlet.Servlet> getServlets()

Deprecated.
This method has been deprecated with no replacement
Return an empty enumeration of servlets.

Specified by:
  `getServlets` in interface `javax.servlet.ServletContext`

#### log

    public void log​(String message)

Log the specified message.

Specified by:
  `log` in interface `javax.servlet.ServletContext`
Parameters:
  `message` - The message to be logged

#### log

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

Deprecated.
Use log(String,Throwable) instead
Log the specified message and exception.

Specified by:
  `log` in interface `javax.servlet.ServletContext`
Parameters:
  `exception` - The exception to be logged
  `message` - The message to be logged

#### log

    public void log​(String message,
                    Throwable exception)

Log the specified message and exception.

Specified by:
  `log` in interface `javax.servlet.ServletContext`
Parameters:
  `message` - The message to be logged
  `exception` - The exception to be logged

#### removeAttribute

    public void removeAttribute​(String name)

Remove the specified context attribute.

Specified by:
  `removeAttribute` in interface `javax.servlet.ServletContext`
Parameters:
  `name` - Name of the attribute to remove

#### setAttribute

    public void setAttribute​(String name,
                             Object value)

Set or replace the specified context attribute.

Specified by:
  `setAttribute` in interface `javax.servlet.ServletContext`
Parameters:
  `name` - Name of the context attribute to set
  `value` - Corresponding attribute value

#### getEffectiveMajorVersion

    public int getEffectiveMajorVersion()

Specified by:
  `getEffectiveMajorVersion` in interface `javax.servlet.ServletContext`

#### getEffectiveMinorVersion

    public int getEffectiveMinorVersion()

Specified by:
  `getEffectiveMinorVersion` in interface `javax.servlet.ServletContext`

#### setInitParameter

    public boolean setInitParameter​(String name,
                                    String value)

Specified by:
  `setInitParameter` in interface `javax.servlet.ServletContext`

#### addServlet

    public javax.servlet.ServletRegistration.Dynamic addServlet​(String servletName,
                                                                String className)

Specified by:
  `addServlet` in interface `javax.servlet.ServletContext`

#### addServlet

    public javax.servlet.ServletRegistration.Dynamic addServlet​(String servletName,
                                                                javax.servlet.Servlet servlet)

Specified by:
  `addServlet` in interface `javax.servlet.ServletContext`

#### addServlet

    public javax.servlet.ServletRegistration.Dynamic addServlet​(String servletName,
                                                                Class<? extends javax.servlet.Servlet> servletClass)

Specified by:
  `addServlet` in interface `javax.servlet.ServletContext`

#### createServlet

    public <T extends javax.servlet.Servlet> T createServlet​(Class<T> clazz)
                                                      throws javax.servlet.ServletException

Specified by:
  `createServlet` in interface `javax.servlet.ServletContext`
Throws:
  `javax.servlet.ServletException`

#### getServletRegistration

    public javax.servlet.ServletRegistration getServletRegistration​(String servletName)

Specified by:
  `getServletRegistration` in interface `javax.servlet.ServletContext`

#### getServletRegistrations

    public Map<String,​? extends javax.servlet.ServletRegistration> getServletRegistrations()

Specified by:
  `getServletRegistrations` in interface `javax.servlet.ServletContext`

#### addFilter

    public javax.servlet.FilterRegistration.Dynamic addFilter​(String filterName,
                                                              String className)

Specified by:
  `addFilter` in interface `javax.servlet.ServletContext`

#### addFilter

    public javax.servlet.FilterRegistration.Dynamic addFilter​(String filterName,
                                                              javax.servlet.Filter filter)

Specified by:
  `addFilter` in interface `javax.servlet.ServletContext`

#### addFilter

    public javax.servlet.FilterRegistration.Dynamic addFilter​(String filterName,
                                                              Class<? extends javax.servlet.Filter> filterClass)

Specified by:
  `addFilter` in interface `javax.servlet.ServletContext`

#### createFilter

    public <T extends javax.servlet.Filter> T createFilter​(Class<T> clazz)
                                                    throws javax.servlet.ServletException

Specified by:
  `createFilter` in interface `javax.servlet.ServletContext`
Throws:
  `javax.servlet.ServletException`

#### getFilterRegistration

    public javax.servlet.FilterRegistration getFilterRegistration​(String filterName)

Specified by:
  `getFilterRegistration` in interface `javax.servlet.ServletContext`

#### getFilterRegistrations

    public Map<String,​? extends javax.servlet.FilterRegistration> getFilterRegistrations()

Specified by:
  `getFilterRegistrations` in interface `javax.servlet.ServletContext`

#### getSessionCookieConfig

    public javax.servlet.SessionCookieConfig getSessionCookieConfig()

Specified by:
  `getSessionCookieConfig` in interface `javax.servlet.ServletContext`

#### setSessionTrackingModes

    public void setSessionTrackingModes​(Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)

Specified by:
  `setSessionTrackingModes` in interface `javax.servlet.ServletContext`

#### getDefaultSessionTrackingModes

    public Set<javax.servlet.SessionTrackingMode> getDefaultSessionTrackingModes()

Specified by:
  `getDefaultSessionTrackingModes` in interface `javax.servlet.ServletContext`

#### getEffectiveSessionTrackingModes

    public Set<javax.servlet.SessionTrackingMode> getEffectiveSessionTrackingModes()

Specified by:
  `getEffectiveSessionTrackingModes` in interface `javax.servlet.ServletContext`

#### addListener

    public void addListener​(String className)

Specified by:
  `addListener` in interface `javax.servlet.ServletContext`

#### addListener

    public <T extends EventListener> void addListener​(T t)

Specified by:
  `addListener` in interface `javax.servlet.ServletContext`

#### addListener

    public void addListener​(Class<? extends EventListener> listenerClass)

Specified by:
  `addListener` in interface `javax.servlet.ServletContext`

#### createListener

    public <T extends EventListener> T createListener​(Class<T> clazz)
                                               throws javax.servlet.ServletException

Specified by:
  `createListener` in interface `javax.servlet.ServletContext`
Throws:
  `javax.servlet.ServletException`

#### getJspConfigDescriptor

    public javax.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor()

Specified by:
  `getJspConfigDescriptor` in interface `javax.servlet.ServletContext`

#### getClassLoader

    public ClassLoader getClassLoader()

Specified by:
  `getClassLoader` in interface `javax.servlet.ServletContext`

#### declareRoles

    public void declareRoles​(String... roleNames)

Specified by:
  `declareRoles` in interface `javax.servlet.ServletContext`

#### getVirtualServerName

    public String getVirtualServerName()

Specified by:
  `getVirtualServerName` in interface `javax.servlet.ServletContext`