Class TapestryFilter

  • All Implemented Interfaces:
    javax.servlet.Filter
    Direct Known Subclasses:
    TapestryFilter, TapestrySpringFilter

    public class TapestryFilter
    extends java.lang.Object
    implements javax.servlet.Filter
    The TapestryFilter is responsible for intercepting all requests into the web application. It identifies the requests that are relevant to Tapestry, and lets the servlet container handle the rest. It is also responsible for initializing Tapestry. The application is primarily configured via context-level init parameters.
    tapestry.app-package
    The application package (used to search for pages, components, etc.)
    In addition, a JVM system property affects configuration: tapestry.execution-mode (with default value "production"). This property is a comma-separated list of execution modes. For each mode, an additional init parameter is checked for: tapestry.mode-modules; this is a comma-separated list of module class names to load. In this way, more precise control over the available modules can be obtained which is often needed during testing.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String REGISTRY_CONTEXT_NAME
      Key under which the Tapestry IoC Registry is stored in the ServletContext.
    • Constructor Summary

      Constructors 
      Constructor Description
      TapestryFilter()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void destroy()
      Shuts down and discards the registry.
      protected void destroy​(Registry registry)
      Invoked from destroy() to allow subclasses to add additional shutdown logic to the filter.
      void doFilter​(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)  
      protected javax.servlet.FilterConfig getFilterConfig()  
      void init​(javax.servlet.FilterConfig filterConfig)
      Initializes the filter using the TapestryAppInitializer.
      protected void init​(Registry registry)
      Invoked from init(FilterConfig) after the Registry has been created, to allow any additional initialization to occur.
      protected java.lang.Class[] provideExtraModuleClasses​(javax.servlet.ServletContext context)
      Overridden in subclasses to provide additional module classes beyond those normally located.
      protected ModuleDef[] provideExtraModuleDefs​(javax.servlet.ServletContext context)
      Overridden in subclasses to provide additional module definitions beyond those normally located.
      void runFilter​(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • REGISTRY_CONTEXT_NAME

        public static final java.lang.String REGISTRY_CONTEXT_NAME
        Key under which the Tapestry IoC Registry is stored in the ServletContext. This allows other code, beyond Tapestry, to obtain the Registry and, from it, any Tapestry services. Such code should be careful about invoking Registry.cleanupThread() appropriately.
        See Also:
        Constant Field Values
    • Method Detail

      • init

        public final void init​(javax.servlet.FilterConfig filterConfig)
                        throws javax.servlet.ServletException
        Initializes the filter using the TapestryAppInitializer. The application name is the capitalization of the filter name (as specified in web.xml).
        Specified by:
        init in interface javax.servlet.Filter
        Throws:
        javax.servlet.ServletException
      • getFilterConfig

        protected final javax.servlet.FilterConfig getFilterConfig()
      • init

        protected void init​(Registry registry)
                     throws javax.servlet.ServletException
        Invoked from init(FilterConfig) after the Registry has been created, to allow any additional initialization to occur. This implementation does nothing, and my be overridden in subclasses.
        Parameters:
        registry - from which services may be extracted
        Throws:
        javax.servlet.ServletException
      • provideExtraModuleDefs

        protected ModuleDef[] provideExtraModuleDefs​(javax.servlet.ServletContext context)
        Overridden in subclasses to provide additional module definitions beyond those normally located. This implementation returns an empty array.
      • provideExtraModuleClasses

        protected java.lang.Class[] provideExtraModuleClasses​(javax.servlet.ServletContext context)
        Overridden in subclasses to provide additional module classes beyond those normally located. This implementation returns an empty array.
        Since:
        5.3
      • runFilter

        public final void runFilter​(javax.servlet.ServletRequest request,
                                    javax.servlet.ServletResponse response,
                                    javax.servlet.FilterChain chain)
                             throws java.io.IOException,
                                    javax.servlet.ServletException
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • doFilter

        public final void doFilter​(javax.servlet.ServletRequest request,
                                   javax.servlet.ServletResponse response,
                                   javax.servlet.FilterChain chain)
                            throws java.io.IOException,
                                   javax.servlet.ServletException
        Specified by:
        doFilter in interface javax.servlet.Filter
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • destroy

        public final void destroy()
        Shuts down and discards the registry. Invokes destroy(org.apache.tapestry5.ioc.Registry) to allow subclasses to perform any shutdown logic, then shuts down the registry, and removes it from the ServletContext.
        Specified by:
        destroy in interface javax.servlet.Filter
      • destroy

        protected void destroy​(Registry registry)
        Invoked from destroy() to allow subclasses to add additional shutdown logic to the filter. The Registry will be shutdown after this call. This implementation does nothing, and may be overridden in subclasses.
        Parameters:
        registry -