Package org.springframework.cache.jcache.interceptor

# 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 operations for methods and implements a fallback policy: 1. specific target method; 2. declaring method.

Since:
  4.1
Author:
  Stephane Nicoll, Juergen Hoeller
See Also:
  - `AbstractFallbackCacheOperationSource`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final org.apache.commons.logging.Log`
`logger`

## Constructor Summary

Constructors
Constructor
Description
`AbstractFallbackJCacheOperationSource()`

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`allowPublicMethodsOnly()`
Should only public methods be allowed to have caching semantics?
`protected abstract JCacheOperation<?>`
`findCacheOperation(Method method, Class<?> targetType)`
Subclasses need to implement this to return the caching operation for the given method, if any.
`JCacheOperation<?>`
`getCacheOperation(Method method, Class<?> targetClass)`
Return the cache operations for this method, or `null` if the method contains no JSR-107 related metadata.
`boolean`
`hasCacheOperation(Method method, Class<?> targetClass)`
Determine whether there is a JSR-107 cache operation for the given method.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.springframework.cache.jcache.interceptor.JCacheOperationSource

`isCandidateClass`

## Field Details

### logger

protected final org.apache.commons.logging.Log logger

## Constructor Details

### AbstractFallbackJCacheOperationSource

public AbstractFallbackJCacheOperationSource()

## Method Details

### hasCacheOperation

public boolean hasCacheOperation(Method method, @Nullable Class<?> targetClass)
Description copied from interface: `JCacheOperationSource`
Determine whether there is a JSR-107 cache operation for the given method.

Specified by:
  `hasCacheOperation` in interface `JCacheOperationSource`
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:
  - `JCacheOperationSource.getCacheOperation(java.lang.reflect.Method, java.lang.Class<?>)`

### getCacheOperation

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

### 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`.