Class AbstractFallbackJCacheOperationSource

java.lang.Object
org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource
All Implemented Interfaces:
JCacheOperationSource
Direct Known Subclasses:
AnnotationJCacheOperationSource

public abstract class AbstractFallbackJCacheOperationSource extends Object implements JCacheOperationSource
Abstract implementation of JCacheOperationSource that caches attributes for methods and implements a fallback policy: 1. specific target method; 2. declaring method.

This implementation caches attributes by method after they are first used.

Since:
4.1
Author:
Stephane Nicoll, Juergen Hoeller
See Also:
  • Field Details

    • logger

      protected final Log logger
  • Constructor Details

    • AbstractFallbackJCacheOperationSource

      public AbstractFallbackJCacheOperationSource()
  • Method Details

    • getCacheOperation

      public JCacheOperation<?> getCacheOperation(Method method, @Nullable Class<?> targetClass)
      Description copied from interface: JCacheOperationSource
      Return the cache operations for this method, or null if the method contains no JSR-107 related metadata.
      Specified by:
      getCacheOperation in interface JCacheOperationSource
      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:
      the cache operation for this method, or null if none found
    • findCacheOperation

      @Nullable protected abstract JCacheOperation<?> findCacheOperation(Method method, @Nullable Class<?> targetType)
      Subclasses need to implement this to return the caching operation for the given method, if any.
      Parameters:
      method - the method to retrieve the operation for
      targetType - the target class
      Returns:
      the cache operation associated with this method (or null if none)
    • allowPublicMethodsOnly

      protected boolean allowPublicMethodsOnly()
      Should only public methods be allowed to have caching semantics?

      The default implementation returns false.