Class CompositeCacheOperationSource

java.lang.Object
org.springframework.cache.interceptor.CompositeCacheOperationSource
All Implemented Interfaces:
Serializable, CacheOperationSource

public class CompositeCacheOperationSource extends Object implements CacheOperationSource, Serializable
Composite CacheOperationSource implementation that iterates over a given array of CacheOperationSource instances.
Since:
3.1
Author:
Costin Leau, Juergen Hoeller
See Also:
  • Constructor Details

    • CompositeCacheOperationSource

      public CompositeCacheOperationSource(CacheOperationSource... cacheOperationSources)
      Create a new CompositeCacheOperationSource for the given sources.
      Parameters:
      cacheOperationSources - the CacheOperationSource instances to combine
  • Method Details

    • getCacheOperationSources

      public final CacheOperationSource[] getCacheOperationSources()
      Return the CacheOperationSource instances that this CompositeCacheOperationSource combines.
    • isCandidateClass

      public boolean isCandidateClass(Class<?> targetClass)
      Description copied from interface: CacheOperationSource
      Determine whether the given class is a candidate for cache operations in the metadata format of this CacheOperationSource.

      If this method returns false, the methods on the given class will not get traversed for CacheOperationSource.getCacheOperations(java.lang.reflect.Method, java.lang.Class<?>) introspection. Returning false is therefore an optimization for non-affected classes, whereas true simply means that the class needs to get fully introspected for each method on the given class individually.

      Specified by:
      isCandidateClass in interface CacheOperationSource
      Parameters:
      targetClass - the class to introspect
      Returns:
      false if the class is known to have no cache operation metadata at class or method level; true otherwise. The default implementation returns true, leading to regular introspection.
    • getCacheOperations

      @Nullable public Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass)
      Description copied from interface: CacheOperationSource
      Return the collection of cache operations for this method, or null if the method contains no cacheable annotations.
      Specified by:
      getCacheOperations in interface CacheOperationSource
      Parameters:
      method - the method to introspect
      targetClass - the target class (may be null, in which case the declaring class of the method must be used)
      Returns:
      all cache operations for this method, or null if none found