Package org.apache.struts2.interceptor

# Class MethodFilterInterceptor

java.lang.Object
org.apache.struts2.interceptor.AbstractInterceptor
org.apache.struts2.interceptor.MethodFilterInterceptor

All Implemented Interfaces:
  `Serializable`, `ConditionalInterceptor`, `Interceptor`

Direct Known Subclasses:
  `ConversionErrorInterceptor`, `DefaultWorkflowInterceptor`, `ExecuteAndWaitInterceptor`, `ParametersInterceptor`, `PrepareInterceptor`, `TokenInterceptor`, `ValidationInterceptor`

public abstract class MethodFilterInterceptor extends AbstractInterceptor

MethodFilterInterceptor is an abstract `Interceptor` used as a base class for interceptors that will filter execution based on method names according to specified included/excluded method lists.

Settable parameters are as follows:

- excludeMethods - method names to be excluded from interceptor processing
- includeMethods - method names to be included in interceptor processing

NOTE: If method name are available in both includeMethods and excludeMethods, it will be considered as an included method: includeMethods takes precedence over excludeMethods.

Interceptors that extends this capability include:

- TokenInterceptor
- TokenSessionStoreInterceptor
- DefaultWorkflowInterceptor
- ValidationInterceptor

Author:
  Alexandru Popescu, Rainer Hermanns
See Also:
  - `TokenInterceptor`
  - `TokenSessionStoreInterceptor`
  - `DefaultWorkflowInterceptor`
  - `ValidationInterceptor`
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Set<String>`
  `excludeMethods`
  `protected Set<String>`
  `includeMethods`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MethodFilterInterceptor()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected boolean`
  `applyInterceptor(ActionInvocation invocation)`
  `protected abstract String`
  `doIntercept(ActionInvocation invocation)`
  Subclasses must override to implement the interceptor logic.
  `Set<String>`
  `getExcludeMethodsSet()`
  `Set<String>`
  `getIncludeMethodsSet()`
  `String`
  `intercept(ActionInvocation invocation)`
  Override to handle interception
  `void`
  `setExcludeMethods(String excludeMethods)`
  `void`
  `setIncludeMethods(String includeMethods)`

  ### Methods inherited from class org.apache.struts2.interceptor.AbstractInterceptor

  `destroy, init, setDisabled, shouldIntercept`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### excludeMethods

    protected Set<String> excludeMethods

  - ### includeMethods

    protected Set<String> includeMethods

- ## Constructor Details

  - ### MethodFilterInterceptor

    public MethodFilterInterceptor()

- ## Method Details

  - ### setExcludeMethods

    public void setExcludeMethods(String excludeMethods)

  - ### getExcludeMethodsSet

    public Set<String> getExcludeMethodsSet()

  - ### setIncludeMethods

    public void setIncludeMethods(String includeMethods)

  - ### getIncludeMethodsSet

    public Set<String> getIncludeMethodsSet()

  - ### intercept

    public String intercept(ActionInvocation invocation) throws Exception
    Description copied from class: `AbstractInterceptor`
    Override to handle interception
    Specified by:
      `intercept` in interface `Interceptor`
    Specified by:
      `intercept` in class `AbstractInterceptor`
    Parameters:
      `invocation` - the action invocation
    Returns:
      the return code, either returned from `ActionInvocation.invoke()`, or from the interceptor itself.
    Throws:
      `Exception` - any system-level error, as defined in `Action.execute()`.

  - ### applyInterceptor

    protected boolean applyInterceptor(ActionInvocation invocation)

  - ### doIntercept

    protected abstract String doIntercept(ActionInvocation invocation) throws Exception
    Subclasses must override to implement the interceptor logic.
    Parameters:
      `invocation` - the action invocation
    Returns:
      the result of invocation
    Throws:
      `Exception` - in case of any errors