CacheEvict (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.cache.annotation

## Annotation Type CacheEvict

-     @Target(value={METHOD,TYPE})
      @Retention(value=RUNTIME)
      @Inherited
      @Documented
      public @interface CacheEvict

  Annotation indicating that a method (or all methods on a class) trigger(s) a cache invalidate operation.
  Since:
    3.1
  Author:
    Costin Leau

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String[]` | `value` Qualifier value for the specified cached operation.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `boolean` | `allEntries` Whether or not all the entries inside the cache(s) are removed or not.
    `boolean` | `beforeInvocation` Whether the eviction should occur after the method is successfully invoked (default) or before.
    `String` | `condition` Spring Expression Language (SpEL) attribute used for conditioning the method caching.
    `String` | `key` Spring Expression Language (SpEL) attribute for computing the key dynamically.

- - ### Element Detail

    - #### value

          public abstract String[] value

      Qualifier value for the specified cached operation.

      May be used to determine the target cache (or caches), matching the qualifier value (or the bean name(s)) of (a) specific bean definition.

    - #### key

          public abstract String key

      Spring Expression Language (SpEL) attribute for computing the key dynamically.

      Default is "", meaning all method parameters are considered as a key.

      Default:
        ""

    - #### condition

          public abstract String condition

      Spring Expression Language (SpEL) attribute used for conditioning the method caching.

      Default is "", meaning the method is always cached.

      Default:
        ""

    - #### allEntries

          public abstract boolean allEntries

      Whether or not all the entries inside the cache(s) are removed or not. By default, only the value under the associated key is removed.

      Note that setting this parameter to `true` and specifying a `key()` is not allowed.

      Default:
        false

    - #### beforeInvocation

          public abstract boolean beforeInvocation

      Whether the eviction should occur after the method is successfully invoked (default) or before. The latter causes the eviction to occur irrespective of the method outcome (whether it threw an exception or not) while the former does not.
      Default:
        false