Interface JCacheOperationSource

All Known Implementing Classes:
AbstractFallbackJCacheOperationSource, AnnotationJCacheOperationSource, DefaultJCacheOperationSource

public interface JCacheOperationSource
Interface used by JCacheInterceptor. Implementations know how to source cache operation attributes from standard JSR-107 annotations.
Since:
4.1
Author:
Stephane Nicoll, Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    getCacheOperation(Method method, Class<?> targetClass)
    Return the cache operations for this method, or null if the method contains no JSR-107 related metadata.
    default boolean
    hasCacheOperation(Method method, Class<?> targetClass)
    Determine whether there is a JSR-107 cache operation for the given method.
    default boolean
    isCandidateClass(Class<?> targetClass)
    Determine whether the given class is a candidate for cache operations in the metadata format of this JCacheOperationSource.
  • Method Details

    • isCandidateClass

      default boolean isCandidateClass(Class<?> targetClass)
      Determine whether the given class is a candidate for cache operations in the metadata format of this JCacheOperationSource.

      If this method returns false, the methods on the given class will not get traversed for getCacheOperation(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.

      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.
      Since:
      6.2
      See Also:
    • hasCacheOperation

      default boolean hasCacheOperation(Method method, @Nullable Class<?> targetClass)
      Determine whether there is a JSR-107 cache operation for the given method.
      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)
      Since:
      6.2
      See Also:
    • getCacheOperation

      @Nullable JCacheOperation<?> getCacheOperation(Method method, @Nullable Class<?> targetClass)
      Return the cache operations for this method, or null if the method contains no JSR-107 related metadata.
      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:
      the cache operation for this method, or null if none found