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(Method, 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.
      See Also:
    • hasCacheOperations

      public boolean hasCacheOperations(Method method, @Nullable Class<?> targetClass)
      Description copied from interface: CacheOperationSource
      Determine whether there are cache operations for the given method.
      Specified by:
      hasCacheOperations in interface CacheOperationSource
      Parameters:
      method - the method to introspect
      targetClass - the target class (can be null, in which case the declaring class of the method must be used)
      See Also:
    • getCacheOperations

      public @Nullable 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 (can 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