Class PaxWebServletContextHandler

  • All Implemented Interfaces:
    org.eclipse.jetty.server.Handler, org.eclipse.jetty.server.HandlerContainer, org.eclipse.jetty.util.Attributes, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.Graceful, org.eclipse.jetty.util.component.LifeCycle

    public class PaxWebServletContextHandler
    extends org.eclipse.jetty.servlet.ServletContextHandler
    Main Pax Web specific ServletContextHandler representing single web application deployed under unique context path, related 1:1 with single, unique ServletContextModel
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.eclipse.jetty.servlet.ServletContextHandler

        org.eclipse.jetty.servlet.ServletContextHandler.Context, org.eclipse.jetty.servlet.ServletContextHandler.Decorator, org.eclipse.jetty.servlet.ServletContextHandler.Initializer, org.eclipse.jetty.servlet.ServletContextHandler.JspConfig, org.eclipse.jetty.servlet.ServletContextHandler.JspPropertyGroup, org.eclipse.jetty.servlet.ServletContextHandler.ServletContainerInitializerCaller, org.eclipse.jetty.servlet.ServletContextHandler.TagLib
      • Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.ContextHandler

        org.eclipse.jetty.server.handler.ContextHandler.AliasCheck, org.eclipse.jetty.server.handler.ContextHandler.ApproveAliases, org.eclipse.jetty.server.handler.ContextHandler.ApproveNonExistentDirectoryAliases, org.eclipse.jetty.server.handler.ContextHandler.Availability, org.eclipse.jetty.server.handler.ContextHandler.ContextScopeListener, org.eclipse.jetty.server.handler.ContextHandler.ContextStatus, org.eclipse.jetty.server.handler.ContextHandler.StaticContext
      • Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler

        org.eclipse.jetty.server.handler.AbstractHandler.ErrorDispatchHandler
      • Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Attributes

        org.eclipse.jetty.util.Attributes.Wrapper
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

        org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable

        org.eclipse.jetty.util.component.Dumpable.DumpableContainer
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Graceful

        org.eclipse.jetty.util.component.Graceful.Shutdown
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

        org.eclipse.jetty.util.component.LifeCycle.Listener
    • Field Summary

      • Fields inherited from class org.eclipse.jetty.servlet.ServletContextHandler

        _defaultSecurityHandlerClass, _gzipHandler, _jspConfig, _objFactory, _options, _securityHandler, _servletHandler, _sessionHandler, GZIP, NO_SECURITY, NO_SESSIONS, SECURITY, SESSIONS
      • Fields inherited from class org.eclipse.jetty.server.handler.ContextHandler

        _contextStatus, _scontext, DEFAULT_LISTENER_TYPE_INDEX, DEFAULT_MAX_FORM_CONTENT_SIZE, DEFAULT_MAX_FORM_KEYS, EXTENDED_LISTENER_TYPE_INDEX, MANAGED_ATTRIBUTES, MAX_FORM_CONTENT_SIZE_KEY, MAX_FORM_KEYS_KEY, SERVLET_LISTENER_TYPES, SERVLET_MAJOR_VERSION, SERVLET_MINOR_VERSION
      • Fields inherited from class org.eclipse.jetty.server.handler.ScopedHandler

        _nextScope, _outerScope
      • Fields inherited from class org.eclipse.jetty.server.handler.HandlerWrapper

        _handler
      • Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
      • Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

        KEY
    • Constructor Summary

      Constructors 
      Constructor Description
      PaxWebServletContextHandler​(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, org.ops4j.pax.web.service.spi.config.Configuration configuration)
      Create a slightly extended version of Jetty's ServletContextHandler.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addEventListener​(EventListener listener)  
      void addEventListener​(org.ops4j.pax.web.service.spi.model.elements.EventListenerModel model, EventListener listener)
      Special addEventListener() that should be called instead of addEventListener(EventListener), because we want to sort the listeners according to Whiteboard/ranking rules.
      protected void addProgrammaticListener​(EventListener listener)  
      void callContextDestroyed​(javax.servlet.ServletContextListener l, javax.servlet.ServletContextEvent e)  
      void callContextInitialized​(javax.servlet.ServletContextListener l, javax.servlet.ServletContextEvent e)  
      protected void doStart()  
      protected void doStop()  
      org.eclipse.jetty.util.resource.Resource getResource​(String path)
      Special override for libraries using ContextHandler.getCurrentContext() directly.
      protected org.eclipse.jetty.server.session.SessionHandler newSessionHandler()  
      void removeEventListener​(EventListener listener)  
      void removeEventListener​(org.ops4j.pax.web.service.spi.model.elements.EventListenerModel model, EventListener listener)
      Special removeEventListener() that manages the ordering of the listeners.
      protected void requestInitialized​(org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request)  
      void setAttribute​(String name, Object value)  
      void setOsgiServletContext​(javax.servlet.ServletContext osgiServletContext)
      We have to ensure that this ContextHandler will always return proper instance of ServletContext - especially in the events passed to listeners
      void setServletContainerInitializers​(Collection<org.ops4j.pax.web.service.spi.servlet.SCIWrapper> wrappers)  
      protected void startContext()  
      static org.eclipse.jetty.util.resource.Resource toJettyResource​(URL url)
      Helper method to be used from JettyResourceServlet and from getResource(String)
      • Methods inherited from class org.eclipse.jetty.servlet.ServletContextHandler

        addDecorator, addFilter, addFilter, addFilter, addRoles, addServlet, addServlet, addServlet, dynamicHolderAdded, getDecorators, getDefaultSecurityHandlerClass, getGzipHandler, getObjectFactory, getSecurityHandler, getServletContextHandler, getServletHandler, getSessionHandler, insertHandler, newSecurityHandler, newServletHandler, setDecorators, setDefaultSecurityHandlerClass, setGzipHandler, setHandler, setSecurityHandler, setServletHandler, setServletSecurity, setSessionHandler, stopContext
      • Methods inherited from class org.eclipse.jetty.server.handler.ContextHandler

        addAliasCheck, addLocaleEncoding, addVirtualHosts, checkAlias, checkContext, checkContextPath, checkVirtualHost, clearAliasChecks, clearAttributes, contextDestroyed, contextInitialized, doHandle, doScope, dump, enterScope, exitScope, getAliasChecks, getAllowNullPathInfo, getAttribute, getAttributeNames, getAttributeNameSet, getAttributes, getBaseResource, getClassLoader, getClassPath, getContextHandler, getContextPath, getContextPathEncoded, getCurrentContext, getDisplayName, getErrorHandler, getEventListeners, getInitParameter, getInitParameterNames, getInitParams, getLocaleEncoding, getLocaleEncoding, getLocaleEncodings, getLogger, getMaxFormContentSize, getMaxFormKeys, getMimeTypes, getProtectedTargets, getRequestContextPath, getResourceBase, getResourcePaths, getServerInfo, getServletContext, getVirtualHosts, getWelcomeFiles, handle, handle, isAvailable, isCompactPath, isDurableListener, isProgrammaticListener, isProtectedTarget, isShutdown, isUsingSecurityManager, loadClass, newResource, newResource, newResource, removeAttribute, removeVirtualHosts, requestDestroyed, setAliasChecks, setAllowNullPathInfo, setAttributes, setAvailable, setBaseResource, setClassLoader, setCompactPath, setContextPath, setDisplayName, setErrorHandler, setEventListeners, setInitParameter, setLogger, setManagedAttribute, setMaxFormContentSize, setMaxFormKeys, setMimeTypes, setProtectedTargets, setResourceBase, setServer, setServerInfo, setUsingSecurityManager, setVirtualHosts, setWelcomeFiles, shutdown, toString
      • Methods inherited from class org.eclipse.jetty.server.handler.ScopedHandler

        handle, nextHandle, nextScope
      • Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper

        destroy, expandChildren, getHandler, getHandlers
      • Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer

        doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
      • Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler

        doError, getServer
      • Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

        addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
      • Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
      • Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

        dumpSelf
      • Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer

        isDumpable
      • Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

        addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
    • Constructor Detail

      • PaxWebServletContextHandler

        public PaxWebServletContextHandler​(org.eclipse.jetty.server.HandlerContainer parent,
                                           String contextPath,
                                           org.ops4j.pax.web.service.spi.config.Configuration configuration)
        Create a slightly extended version of Jetty's ServletContextHandler. It is still not as complex as org.eclipse.jetty.webapp.WebAppContext which does all the sort of XML/annotation configuration, but we take some of the mechanisms from WebAppContext if they're useful in Pax Web.
        Parameters:
        parent -
        contextPath -
        configuration -
    • Method Detail

      • setServletContainerInitializers

        public void setServletContainerInitializers​(Collection<org.ops4j.pax.web.service.spi.servlet.SCIWrapper> wrappers)
      • setOsgiServletContext

        public void setOsgiServletContext​(javax.servlet.ServletContext osgiServletContext)
        We have to ensure that this ContextHandler will always return proper instance of ServletContext - especially in the events passed to listeners
        Parameters:
        osgiServletContext -
      • callContextInitialized

        public void callContextInitialized​(javax.servlet.ServletContextListener l,
                                           javax.servlet.ServletContextEvent e)
        Overrides:
        callContextInitialized in class org.eclipse.jetty.servlet.ServletContextHandler
      • callContextDestroyed

        public void callContextDestroyed​(javax.servlet.ServletContextListener l,
                                         javax.servlet.ServletContextEvent e)
        Overrides:
        callContextDestroyed in class org.eclipse.jetty.servlet.ServletContextHandler
      • addEventListener

        public void addEventListener​(EventListener listener)
        Overrides:
        addEventListener in class org.eclipse.jetty.servlet.ServletContextHandler
      • addEventListener

        public void addEventListener​(org.ops4j.pax.web.service.spi.model.elements.EventListenerModel model,
                                     EventListener listener)
        Special addEventListener() that should be called instead of addEventListener(EventListener), because we want to sort the listeners according to Whiteboard/ranking rules.
        Parameters:
        model -
        listener -
      • addProgrammaticListener

        protected void addProgrammaticListener​(EventListener listener)
        Overrides:
        addProgrammaticListener in class org.eclipse.jetty.server.handler.ContextHandler
      • removeEventListener

        public void removeEventListener​(EventListener listener)
        Overrides:
        removeEventListener in class org.eclipse.jetty.server.handler.ContextHandler
      • removeEventListener

        public void removeEventListener​(org.ops4j.pax.web.service.spi.model.elements.EventListenerModel model,
                                        EventListener listener)
        Special removeEventListener() that manages the ordering of the listeners.
        Parameters:
        model -
        listener -
      • startContext

        protected void startContext()
                             throws Exception
        Overrides:
        startContext in class org.eclipse.jetty.servlet.ServletContextHandler
        Throws:
        Exception
      • setAttribute

        public void setAttribute​(String name,
                                 Object value)
        Specified by:
        setAttribute in interface org.eclipse.jetty.util.Attributes
        Overrides:
        setAttribute in class org.eclipse.jetty.server.handler.ContextHandler
      • doStart

        protected void doStart()
                        throws Exception
        Overrides:
        doStart in class org.eclipse.jetty.servlet.ServletContextHandler
        Throws:
        Exception
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.eclipse.jetty.servlet.ServletContextHandler
        Throws:
        Exception
      • requestInitialized

        protected void requestInitialized​(org.eclipse.jetty.server.Request baseRequest,
                                          javax.servlet.http.HttpServletRequest request)
        Overrides:
        requestInitialized in class org.eclipse.jetty.server.handler.ContextHandler
      • getResource

        public org.eclipse.jetty.util.resource.Resource getResource​(String path)
                                                             throws MalformedURLException
        Special override for libraries using ContextHandler.getCurrentContext() directly. It should eventually deletage to OsgiServletContext.getResource(String).
        Overrides:
        getResource in class org.eclipse.jetty.server.handler.ContextHandler
        Parameters:
        path -
        Returns:
        Throws:
        MalformedURLException
      • newSessionHandler

        protected org.eclipse.jetty.server.session.SessionHandler newSessionHandler()
        Overrides:
        newSessionHandler in class org.eclipse.jetty.servlet.ServletContextHandler