Package org.springframework.cache.jcache.interceptor

# Class DefaultJCacheOperationSource

java.lang.Object
org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource
org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
org.springframework.cache.jcache.interceptor.DefaultJCacheOperationSource

All Implemented Interfaces:
  `org.springframework.beans.factory.Aware`, `org.springframework.beans.factory.BeanFactoryAware`, `org.springframework.beans.factory.SmartInitializingSingleton`, `JCacheOperationSource`

public class DefaultJCacheOperationSource extends AnnotationJCacheOperationSource implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.SmartInitializingSingleton
The default `JCacheOperationSource` implementation delegating default operations to configurable services with sensible defaults when not present.

Since:
  4.1
Author:
  Stephane Nicoll, Juergen Hoeller

## Field Summary

### Fields inherited from class org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource

`logger`

## Constructor Summary

Constructors
Constructor
Description
`DefaultJCacheOperationSource()`
Construct a new `DefaultJCacheOperationSource` with the default key generator.
`DefaultJCacheOperationSource(Supplier<org.springframework.cache.CacheManager> cacheManager, Supplier<org.springframework.cache.interceptor.CacheResolver> cacheResolver, Supplier<org.springframework.cache.interceptor.CacheResolver> exceptionCacheResolver, Supplier<org.springframework.cache.interceptor.KeyGenerator> keyGenerator)`
Construct a new `DefaultJCacheOperationSource` with the given cache manager, cache resolver and key generator suppliers, applying the corresponding default if a supplier is not resolvable.

## Method Summary

Modifier and Type
Method
Description
`void`
`afterSingletonsInstantiated()`
`protected <T> T`
`getBean(Class<T> type)`
Locate or create an instance of the specified cache strategy `type`.
`org.springframework.cache.CacheManager`
`getCacheManager()`
Return the specified cache manager to use, if any.
`org.springframework.cache.interceptor.CacheResolver`
`getCacheResolver()`
Return the specified cache resolver to use, if any.
`protected org.springframework.cache.CacheManager`
`getDefaultCacheManager()`
`protected org.springframework.cache.interceptor.CacheResolver`
`getDefaultCacheResolver()`
Return the default `CacheResolver` if none is set.
`protected org.springframework.cache.interceptor.CacheResolver`
`getDefaultExceptionCacheResolver()`
Return the default exception `CacheResolver` if none is set.
`protected org.springframework.cache.interceptor.KeyGenerator`
`getDefaultKeyGenerator()`
Return the default `KeyGenerator` if none is set.
`org.springframework.cache.interceptor.CacheResolver`
`getExceptionCacheResolver()`
Return the specified exception cache resolver to use, if any.
`org.springframework.cache.interceptor.KeyGenerator`
`getKeyGenerator()`
Return the specified key generator to use.
`void`
`setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)`
`void`
`setCacheManager(org.springframework.cache.CacheManager cacheManager)`
Set the default `CacheManager` to use to lookup cache by name.
`void`
`setCacheResolver(org.springframework.cache.interceptor.CacheResolver cacheResolver)`
Set the `CacheResolver` to resolve regular caches.
`void`
`setExceptionCacheResolver(org.springframework.cache.interceptor.CacheResolver exceptionCacheResolver)`
Set the `CacheResolver` to resolve exception caches.
`void`
`setKeyGenerator(org.springframework.cache.interceptor.KeyGenerator keyGenerator)`
Set the default `KeyGenerator`.

### Methods inherited from class org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource

`createCachePutOperation, createCacheRemoveAllOperation, createCacheRemoveOperation, createCacheResultOperation, determineCacheName, determineCacheResolverFactory, determineKeyGenerator, findCacheOperation, generateDefaultCacheName, getCacheDefaults, getCacheResolver, getExceptionCacheResolver, isCandidateClass`

### Methods inherited from class org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource

`allowPublicMethodsOnly, getCacheOperation, hasCacheOperation`

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

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

## Constructor Details

### DefaultJCacheOperationSource

public DefaultJCacheOperationSource()
Construct a new `DefaultJCacheOperationSource` with the default key generator.

See Also:
  - `SimpleKeyGenerator`

### DefaultJCacheOperationSource

public DefaultJCacheOperationSource(@Nullable Supplier<org.springframework.cache.CacheManager> cacheManager, @Nullable Supplier<org.springframework.cache.interceptor.CacheResolver> cacheResolver, @Nullable Supplier<org.springframework.cache.interceptor.CacheResolver> exceptionCacheResolver, @Nullable Supplier<org.springframework.cache.interceptor.KeyGenerator> keyGenerator)
Construct a new `DefaultJCacheOperationSource` with the given cache manager, cache resolver and key generator suppliers, applying the corresponding default if a supplier is not resolvable.

Since:
  5.1

## Method Details

### setCacheManager

public void setCacheManager(@Nullable org.springframework.cache.CacheManager cacheManager)
Set the default `CacheManager` to use to lookup cache by name. Only mandatory if the cache resolver has not been set.

### getCacheManager

@Nullable public org.springframework.cache.CacheManager getCacheManager()
Return the specified cache manager to use, if any.

### setCacheResolver

public void setCacheResolver(@Nullable org.springframework.cache.interceptor.CacheResolver cacheResolver)
Set the `CacheResolver` to resolve regular caches. If none is set, a default implementation using the specified cache manager will be used.

### getCacheResolver

@Nullable public org.springframework.cache.interceptor.CacheResolver getCacheResolver()
Return the specified cache resolver to use, if any.

### setExceptionCacheResolver

public void setExceptionCacheResolver(@Nullable org.springframework.cache.interceptor.CacheResolver exceptionCacheResolver)
Set the `CacheResolver` to resolve exception caches. If none is set, a default implementation using the specified cache manager will be used.

### getExceptionCacheResolver

@Nullable public org.springframework.cache.interceptor.CacheResolver getExceptionCacheResolver()
Return the specified exception cache resolver to use, if any.

### setKeyGenerator

public void setKeyGenerator(org.springframework.cache.interceptor.KeyGenerator keyGenerator)
Set the default `KeyGenerator`. If none is set, a `SimpleKeyGenerator` honoring the JSR-107 `CacheKey` and `CacheValue` will be used.

### getKeyGenerator

public org.springframework.cache.interceptor.KeyGenerator getKeyGenerator()
Return the specified key generator to use.

### setBeanFactory

public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)

Specified by:
  `setBeanFactory` in interface `org.springframework.beans.factory.BeanFactoryAware`

### afterSingletonsInstantiated

public void afterSingletonsInstantiated()

Specified by:
  `afterSingletonsInstantiated` in interface `org.springframework.beans.factory.SmartInitializingSingleton`

### getBean

protected <T> T getBean(Class<T> type)
Description copied from class: `AnnotationJCacheOperationSource`
Locate or create an instance of the specified cache strategy `type`.

Specified by:
  `getBean` in class `AnnotationJCacheOperationSource`
Parameters:
  `type` - the type of the bean to manage
Returns:
  the required bean

### getDefaultCacheManager

protected org.springframework.cache.CacheManager getDefaultCacheManager()

### getDefaultCacheResolver

protected org.springframework.cache.interceptor.CacheResolver getDefaultCacheResolver()
Description copied from class: `AnnotationJCacheOperationSource`
Return the default `CacheResolver` if none is set.

Specified by:
  `getDefaultCacheResolver` in class `AnnotationJCacheOperationSource`

### getDefaultExceptionCacheResolver

protected org.springframework.cache.interceptor.CacheResolver getDefaultExceptionCacheResolver()
Description copied from class: `AnnotationJCacheOperationSource`
Return the default exception `CacheResolver` if none is set.

Specified by:
  `getDefaultExceptionCacheResolver` in class `AnnotationJCacheOperationSource`

### getDefaultKeyGenerator

protected org.springframework.cache.interceptor.KeyGenerator getDefaultKeyGenerator()
Description copied from class: `AnnotationJCacheOperationSource`
Return the default `KeyGenerator` if none is set.

Specified by:
  `getDefaultKeyGenerator` in class `AnnotationJCacheOperationSource`