Class 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.

    • 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