org.springframework.cache.annotation
Class CachingConfigurationSelector

java.lang.Object
  extended by org.springframework.context.annotation.AdviceModeImportSelector<EnableCaching>
      extended by 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
CachingConfigurationSelector()
           
 
Method Summary
 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