org.springframework.cache.annotation

## Class CachingConfigurationSelector

- java.lang.Object
- - org.springframework.context.annotation.AdviceModeImportSelector<EnableCaching>
  - - org.springframework.cache.annotation.CachingConfigurationSelector

- All Implemented Interfaces:
    ImportSelector

      public class CachingConfigurationSelector
      extends AdviceModeImportSelector<EnableCaching>

  Selects which implementation of `AbstractCachingConfiguration` should be used based on the value of `EnableCaching.mode()` on the importing `@Configuration` class.
  Since:
    3.1
  Author:
    Chris Beams
  See Also:
    `EnableCaching`, `ProxyCachingConfiguration`, `AnnotationConfigUtils.CACHE_ASPECT_CONFIGURATION_CLASS_NAME`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.context.annotation.AdviceModeImportSelector

      `DEFAULT_ADVICE_MODE_ATTRIBUTE_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CachingConfigurationSelector()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String[]` | `selectImports(AdviceMode adviceMode)` Determine which classes should be imported based on the given `AdviceMode`.

    - ### Methods inherited from class org.springframework.context.annotation.AdviceModeImportSelector

      `getAdviceModeAttributeName, selectImports`

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

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

- - ### Constructor Detail

    - #### CachingConfigurationSelector

          public CachingConfigurationSelector()

  - ### Method Detail

    - #### selectImports

          public String[] selectImports(AdviceMode adviceMode)

      Determine which classes should be imported based on the given `AdviceMode`.

      Returning `null` from this method indicates that the `AdviceMode` could not be handled or was unknown and that an `IllegalArgumentException` should be thrown.

      Specified by:
        `selectImports` in class `AdviceModeImportSelector<EnableCaching>`
      Parameters:
        `adviceMode` - the value of the advice mode attribute for the annotation specified via generics.
      Returns:
        `ProxyCachingConfiguration` or `AspectJCacheConfiguration` for `PROXY` and `ASPECTJ` values of `EnableCaching.mode()`, respectively