Annotation Interface PreFilter


@Target({METHOD,TYPE}) @Retention(RUNTIME) @Inherited @Documented public @interface PreFilter
Annotation for specifying a method filtering expression which will be evaluated before a method has been invoked. The name of the argument to be filtered is specified using the filterTarget attribute. This must be a Java Collection implementation which supports the remove method. Pre-filtering isn't supported on array types and will fail if the value of named filter target argument is null at runtime.

For methods which have a single argument which is a collection type, this argument will be used as the filter target.

The annotation value contains the expression which will be evaluated for each element in the collection. If the expression evaluates to false, the element will be removed. The reserved name "filterObject" can be used within the expression to refer to the current object which is being evaluated.

Since:
3.0
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
     
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
     
  • Element Details

    • value

      String value
      Returns:
      the Spring-EL expression to be evaluated before invoking the protected method
    • filterTarget

      String filterTarget
      Returns:
      the name of the parameter which should be filtered (must be a non-null collection instance) If the method contains a single collection argument, then this attribute can be omitted.
      Default:
      ""