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
`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