@CachePut(cacheName = "simpleCache") public void noCacheValue(Long id) { }
/** * Specify if the cache should be updated before invoking the method. By default, * the cache is updated after the method invocation. * @see javax.cache.annotation.CachePut#afterInvocation() */ public boolean isEarlyPut() { return !getCacheAnnotation().afterInvocation(); }
public CachePutOperation( CacheMethodDetails<CachePut> methodDetails, CacheResolver cacheResolver, KeyGenerator keyGenerator) { super(methodDetails, cacheResolver, keyGenerator); CachePut ann = methodDetails.getCacheAnnotation(); this.exceptionTypeFilter = createExceptionTypeFilter(ann.cacheFor(), ann.noCacheFor()); CacheParameterDetail valueParameterDetail = initializeValueParameterDetail(methodDetails.getMethod(), this.allParameterDetails); if (valueParameterDetail == null) { throw new IllegalArgumentException("No parameter annotated with @CacheValue was found for " + methodDetails.getMethod()); } this.valueParameterDetail = valueParameterDetail; }
protected CachePutOperation createCachePutOperation(Method method, @Nullable CacheDefaults defaults, CachePut ann) { String cacheName = determineCacheName(method, defaults, ann.cacheName()); CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory()); KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator()); CacheMethodDetails<CachePut> methodDetails = createMethodDetails(method, ann, cacheName); CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails); return new CachePutOperation(methodDetails, cacheResolver, keyGenerator); }
final String cacheName = helper.defaultName(method, defaults, cachePut.cacheName()); final boolean afterInvocation = cachePut.afterInvocation(); if (helper.isIncluded(t.getClass(), cachePut.cacheFor(), cachePut.noCacheFor()))
final String cachePutCachePutName = cachePut == null ? null : defaultName(ic.getMethod(), defaults, cachePut.cacheName()); final CacheResolverFactory cachePutCacheResolverFactory = cachePut == null ? null : cacheResolverFactoryFor(defaults, cachePut.cacheResolverFactory()); final CacheKeyGenerator cachePutCacheKeyGenerator = cachePut == null ? null : cacheKeyGeneratorFor(defaults, cachePut.cacheKeyGenerator()); getValueParameter(annotations), cacheResultCacheResultName, cacheResultCacheResolverFactory, cacheResultCacheKeyGenerator, cacheResult, cachePutCachePutName, cachePutCacheResolverFactory, cachePutCacheKeyGenerator, cachePut != null && cachePut.afterInvocation(), cachePut, cacheRemoveCacheRemoveName, cacheRemoveCacheResolverFactory, cacheRemoveCacheKeyGenerator, cacheRemove != null && cacheRemove.afterInvocation(), cacheRemove, cacheRemoveAllCacheRemoveAllName,
final boolean afterInvocation = cachePutAnnotation.afterInvocation(); if (afterInvocation) { final Class<? extends Throwable>[] cacheFor = cachePutAnnotation.cacheFor(); final Class<? extends Throwable>[] noCacheFor = cachePutAnnotation.noCacheFor();
private void doCache(final CacheKeyInvocationContext<CachePut> context, final CacheDefaults defaults, final CachePut cachePut) { final Cache<Object, Object> cache = helper.cacheResolverFactoryFor(defaults, cachePut.cacheResolverFactory()).getCacheResolver(context).resolveCache(context); final GeneratedCacheKey key = helper.cacheKeyGeneratorFor(defaults, cachePut.cacheKeyGenerator()).generateCacheKey(context); cache.put(key, context.getValueParameter().getValue()); } }
protected CachePutOperation createCachePutOperation(Method method, @Nullable CacheDefaults defaults, CachePut ann) { String cacheName = determineCacheName(method, defaults, ann.cacheName()); CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory()); KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator()); CacheMethodDetails<CachePut> methodDetails = createMethodDetails(method, ann, cacheName); CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails); return new CachePutOperation(methodDetails, cacheResolver, keyGenerator); }
final String cachePutCachePutName = cachePut == null ? null : defaultName(ic.getMethod(), defaults, cachePut.cacheName()); final CacheResolverFactory cachePutCacheResolverFactory = cachePut == null ? null : cacheResolverFactoryFor(defaults, cachePut.cacheResolverFactory()); final CacheKeyGenerator cachePutCacheKeyGenerator = cachePut == null ? null : cacheKeyGeneratorFor(defaults, cachePut.cacheKeyGenerator()); cachePutCacheResolverFactory, cachePutCacheKeyGenerator, cachePut != null && cachePut.afterInvocation(), cachePut, cacheRemoveCacheRemoveName,
@Override @CachePut public void put(String id, @CacheValue Object value) { }
protected CachePutOperation createCachePutOperation(Method method, CacheDefaults defaults, CachePut ann) { String cacheName = determineCacheName(method, defaults, ann.cacheName()); CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory()); KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator()); CacheMethodDetails<CachePut> methodDetails = createMethodDetails(method, ann, cacheName); CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails); return new CachePutOperation(methodDetails, cacheResolver, keyGenerator); }
public CachePutOperation( CacheMethodDetails<CachePut> methodDetails, CacheResolver cacheResolver, KeyGenerator keyGenerator) { super(methodDetails, cacheResolver, keyGenerator); CachePut ann = methodDetails.getCacheAnnotation(); this.exceptionTypeFilter = createExceptionTypeFilter(ann.cacheFor(), ann.noCacheFor()); CacheParameterDetail valueParameterDetail = initializeValueParameterDetail(methodDetails.getMethod(), this.allParameterDetails); if (valueParameterDetail == null) { throw new IllegalArgumentException("No parameter annotated with @CacheValue was found for " + methodDetails.getMethod()); } this.valueParameterDetail = valueParameterDetail; }
/** * Specify if the cache should be updated before invoking the method. By default, * the cache is updated after the method invocation. * @see javax.cache.annotation.CachePut#afterInvocation() */ public boolean isEarlyPut() { return !getCacheAnnotation().afterInvocation(); }
@Override @CachePut public void put(String id, @CacheValue Object value) { }
final String methodCacheName = cachePutAnnotation.cacheName(); final Class<? extends CacheResolverFactory> cacheResolverFactoryType = cachePutAnnotation.cacheResolverFactory(); final CacheResolverFactory cacheResolverFactory = this.getCacheResolverFactory(cacheResolverFactoryType, cacheDefaultsAnnotation); final Class<? extends CacheKeyGenerator> cacheKeyGeneratorType = cachePutAnnotation.cacheKeyGenerator(); final CacheKeyGenerator cacheKeyGenerator = this.getCacheKeyGenerator(cacheKeyGeneratorType, cacheDefaultsAnnotation);
public CachePutOperation( CacheMethodDetails<CachePut> methodDetails, CacheResolver cacheResolver, KeyGenerator keyGenerator) { super(methodDetails, cacheResolver, keyGenerator); CachePut ann = methodDetails.getCacheAnnotation(); this.exceptionTypeFilter = createExceptionTypeFilter(ann.cacheFor(), ann.noCacheFor()); this.valueParameterDetail = initializeValueParameterDetail(methodDetails.getMethod(), this.allParameterDetails); if (this.valueParameterDetail == null) { throw new IllegalArgumentException("No parameter annotated with @CacheValue was found for " + "" + methodDetails.getMethod()); } }
/** * Specify if the cache should be updated before invoking the method. By default, * the cache is updated after the method invocation. * @see javax.cache.annotation.CachePut#afterInvocation() */ public boolean isEarlyPut() { return !getCacheAnnotation().afterInvocation(); }
@CachePut public void put(long id, @CacheValue Object object) { }
} catch (final Throwable t) { if (afterInvocation) { if (helper.isIncluded(t.getClass(), cachePut.cacheFor(), cachePut.noCacheFor())) { cache.put(cacheKey, context.getValueParameter());