org.beanlet.web
Annotation Type WebFilter


@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface WebFilter

The annotation used to declare a Servlet Filter. This feature is only supported for Servlet API 3.0 and onwards.

This annotation will be processed by the container during deployment, the Filter class in which it is found will be created as per the configuration and applied to the URL patterns, Servlets and DispatcherTypes.

If the name attribute is not defined, the fully qualified name of the class is used.

At least one URL pattern MUST be declared in either the value or urlPattern attribute of the annotation, but not both.

The value attribute is recommended for use when the URL pattern is the only attribute being set, otherwise the urlPattern attribute should be used.

The annotated class MUST implement Filter. E.g. @WebFilter("/path/*")
public class AnExampleFilter implements Filter { ...

XML Representation

The following xml-fragment shows how to express this annotation in xml.
<beanlet type="com.acme.servlet.TestFilter">
    <web:filter filter-name="testFilter" create-filter="true">
        <!--web:url-pattern value="/test/TestServlet"/-->
        <web:init-param key="test-user" value="john"/>
        <web:servlet-name value="TestServlet"/>
    </web:filter>
</beanlet>

<beanlet type="com.acme.servlet.TestFilter">
     <web:filter filter-name="testFilter">
          <!--<web:url-patterns>-->
              <!--<web:url-pattern value="/test/TestServlet"/>-->
              <!--<web:url-pattern value="/test/ProductionServlet"/>-->
          <!--</web:url-patterns>-->
          <web:init-params>
              <web:init-param key="test-user" value="john"/>
              <web:init-param key="production-user" value="john"/>
          </web:init-params>
          <web:servlet-names>
              <web:servlet-name value="TestServlet"/>
              <web:servlet-name value="ProductionServlet"/>
        </web:servlet-names>
    </web:filter>
</beanlet>


Optional Element Summary
 boolean asyncSupported
           
 boolean createFilter
           
 String description
           
 javax.servlet.DispatcherType[] dispatcherTypes
           
 String displayName
           
 String filterName
           
 javax.servlet.annotation.WebInitParam[] initParams
           
 String largeIcon
           
 String[] servletNames
           
 String smallIcon
           
 String[] urlPatterns
           
 String[] value
          A convenience method, to allow extremely simple annotation of a class.
 

createFilter

public abstract boolean createFilter
Returns:
true if instance is created by Servlet container.
Default:
false

description

public abstract String description
Returns:
description of the Filter, if present
Default:
""

displayName

public abstract String displayName
Returns:
display name of the Filter, if present
Default:
""

initParams

public abstract javax.servlet.annotation.WebInitParam[] initParams
Returns:
array of initialization params for this Filter
Default:
{}

filterName

public abstract String filterName
Returns:
name of the Filter, if present
Default:
""

smallIcon

public abstract String smallIcon
Returns:
small icon for this Filter, if present
Default:
""

largeIcon

public abstract String largeIcon
Returns:
the large icon for this Filter, if present
Default:
""

servletNames

public abstract String[] servletNames
Returns:
array of Servlet names to which this Filter applies
Default:
{}

value

public abstract String[] value
A convenience method, to allow extremely simple annotation of a class.

Returns:
array of URL patterns
See Also:
urlPatterns()
Default:
{}

urlPatterns

public abstract String[] urlPatterns
Returns:
array of URL patterns to which this Filter applies
Default:
{}

dispatcherTypes

public abstract javax.servlet.DispatcherType[] dispatcherTypes
Returns:
array of DispatcherTypes to which this filter applies
Default:
javax.servlet.DispatcherType.REQUEST

asyncSupported

public abstract boolean asyncSupported
Returns:
asynchronous operation supported by this Filter
Default:
false


Copyright © 2006-2012. All Rights Reserved.