org.apache.tapestry5
Class TapestryFilter

java.lang.Object
  extended by org.apache.tapestry5.TapestryFilter
All Implemented Interfaces:
Filter
Direct Known Subclasses:
TapestrySpringFilter

public class TapestryFilter
extends Object
implements 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
static String REGISTRY_CONTEXT_NAME
          Key under which that Tapestry IoC Registry is stored in the ServletContext.
 
Constructor Summary
TapestryFilter()
           
 
Method Summary
 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(ServletRequest request, ServletResponse response, FilterChain chain)
           
protected  FilterConfig getFilterConfig()
           
 void init(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  Class[] provideExtraModuleClasses(ServletContext context)
          Overriden in subclasses to provide additional module classes beyond those normally located.
protected  ModuleDef[] provideExtraModuleDefs(ServletContext context)
          Overridden in subclasses to provide additional module definitions beyond those normally located.
 
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 String REGISTRY_CONTEXT_NAME
Key under which that 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
Constructor Detail

TapestryFilter

public TapestryFilter()
Method Detail

init

public final void init(FilterConfig filterConfig)
                throws 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 Filter
Throws:
ServletException

getFilterConfig

protected final FilterConfig getFilterConfig()

init

protected void init(Registry registry)
             throws 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 overriden in subclasses.

Parameters:
registry - from which services may be extracted
Throws:
ServletException

provideExtraModuleDefs

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


provideExtraModuleClasses

protected Class[] provideExtraModuleClasses(ServletContext context)
Overriden in subclasses to provide additional module classes beyond those normally located. This implementation returns an empty array.

Since:
5.3

doFilter

public final void doFilter(ServletRequest request,
                           ServletResponse response,
                           FilterChain chain)
                    throws IOException,
                           ServletException
Specified by:
doFilter in interface Filter
Throws:
IOException
ServletException

destroy

public final void destroy()
Shuts down and discards the registry. Invokes destroy(org.apache.tapestry5.ioc.Registry) to allow subclasses to peform any shutdown logic, then shuts down the registry, and removes it from the ServletContext.

Specified by:
destroy in interface 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 -


Copyright © 2003-2012 The Apache Software Foundation.