@Override @CacheRemove public void remove(String id) { }
/** * Specify if the cache entry should be remove before invoking the method. By default, the * cache entry is removed after the method invocation. * @see javax.cache.annotation.CacheRemove#afterInvocation() */ public boolean isEarlyRemove() { return !getCacheAnnotation().afterInvocation(); }
protected CacheRemoveOperation createCacheRemoveOperation(Method method, @Nullable CacheDefaults defaults, CacheRemove ann) { String cacheName = determineCacheName(method, defaults, ann.cacheName()); CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory()); KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator()); CacheMethodDetails<CacheRemove> methodDetails = createMethodDetails(method, ann, cacheName); CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails); return new CacheRemoveOperation(methodDetails, cacheResolver, keyGenerator); }
public CacheRemoveOperation( CacheMethodDetails<CacheRemove> methodDetails, CacheResolver cacheResolver, KeyGenerator keyGenerator) { super(methodDetails, cacheResolver, keyGenerator); CacheRemove ann = methodDetails.getCacheAnnotation(); this.exceptionTypeFilter = createExceptionTypeFilter(ann.evictFor(), ann.noEvictFor()); }
final String cacheName = helper.defaultName(method, defaults, cacheRemove.cacheName()); final boolean afterInvocation = cacheRemove.afterInvocation(); if (helper.isIncluded(t.getClass(), cacheRemove.evictFor(), cacheRemove.noEvictFor()))
: defaultName(ic.getMethod(), defaults, cacheRemove.cacheName()); final CacheResolverFactory cacheRemoveCacheResolverFactory = cacheRemove == null ? null : cacheResolverFactoryFor(defaults, cacheRemove.cacheResolverFactory()); final CacheKeyGenerator cacheRemoveCacheKeyGenerator = cacheRemove == null ? null : cacheKeyGeneratorFor(defaults, cacheRemove.cacheKeyGenerator()); cachePutCacheResolverFactory, cachePutCacheKeyGenerator, cachePut != null && cachePut.afterInvocation(), cachePut, cacheRemoveCacheRemoveName, cacheRemoveCacheResolverFactory, cacheRemoveCacheKeyGenerator, cacheRemove != null && cacheRemove.afterInvocation(), cacheRemove, cacheRemoveAllCacheRemoveAllName, cacheRemoveAllCacheResolverFactory, cacheRemoveAll);
final boolean afterInvocation = cacheRemoveAnnotation.afterInvocation(); if (afterInvocation) { final Class<? extends Throwable>[] evictFor = cacheRemoveAnnotation.evictFor(); final Class<? extends Throwable>[] noEvictFor = cacheRemoveAnnotation.noEvictFor();
private void doRemove(final CacheKeyInvocationContext<CacheRemove> context, final CacheDefaults defaults, final CacheRemove cacheRemove) { final Cache<Object, Object> cache = helper.cacheResolverFactoryFor(defaults, cacheRemove.cacheResolverFactory()).getCacheResolver(context).resolveCache(context); final GeneratedCacheKey key = helper.cacheKeyGeneratorFor(defaults, cacheRemove.cacheKeyGenerator()).generateCacheKey(context); cache.remove(key); } }
final String cacheRemoveCacheRemoveName = cacheRemove == null ? null : defaultName(ic.getMethod(), defaults, cacheRemove.cacheName()); final CacheResolverFactory cacheRemoveCacheResolverFactory = cacheRemove == null ? null : cacheResolverFactoryFor(defaults, cacheRemove.cacheResolverFactory()); final CacheKeyGenerator cacheRemoveCacheKeyGenerator = cacheRemove == null ? null : cacheKeyGeneratorFor(defaults, cacheRemove.cacheKeyGenerator()); cacheRemoveCacheResolverFactory, cacheRemoveCacheKeyGenerator, cacheRemove != null && cacheRemove.afterInvocation(), cacheRemove, cacheRemoveAllCacheRemoveAllName,
public CacheRemoveOperation( CacheMethodDetails<CacheRemove> methodDetails, CacheResolver cacheResolver, KeyGenerator keyGenerator) { super(methodDetails, cacheResolver, keyGenerator); CacheRemove ann = methodDetails.getCacheAnnotation(); this.exceptionTypeFilter = createExceptionTypeFilter(ann.evictFor(), ann.noEvictFor()); }
@Override @CacheRemove public void remove(String id) { }
protected CacheRemoveOperation createCacheRemoveOperation(Method method, @Nullable CacheDefaults defaults, CacheRemove ann) { String cacheName = determineCacheName(method, defaults, ann.cacheName()); CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory()); KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator()); CacheMethodDetails<CacheRemove> methodDetails = createMethodDetails(method, ann, cacheName); CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails); return new CacheRemoveOperation(methodDetails, cacheResolver, keyGenerator); }
public CacheRemoveOperation( CacheMethodDetails<CacheRemove> methodDetails, CacheResolver cacheResolver, KeyGenerator keyGenerator) { super(methodDetails, cacheResolver, keyGenerator); CacheRemove ann = methodDetails.getCacheAnnotation(); this.exceptionTypeFilter = createExceptionTypeFilter(ann.evictFor(), ann.noEvictFor()); }
/** * Specify if the cache entry should be remove before invoking the method. By default, the * cache entry is removed after the method invocation. * @see javax.cache.annotation.CacheRemove#afterInvocation() */ public boolean isEarlyRemove() { return !getCacheAnnotation().afterInvocation(); }
@CacheRemove public void evict(long id) { }
protected CacheRemoveOperation createCacheRemoveOperation(Method method, CacheDefaults defaults, CacheRemove ann) { String cacheName = determineCacheName(method, defaults, ann.cacheName()); CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory()); KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator()); CacheMethodDetails<CacheRemove> methodDetails = createMethodDetails(method, ann, cacheName); CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails); return new CacheRemoveOperation(methodDetails, cacheResolver, keyGenerator); }
} catch (final Throwable t) { if (afterInvocation) { if (helper.isIncluded(t.getClass(), cacheRemove.evictFor(), cacheRemove.noEvictFor())) { cache.remove(cacheKey);
/** * Specify if the cache entry should be remove before invoking the method. By default, the * cache entry is removed after the method invocation. * @see javax.cache.annotation.CacheRemove#afterInvocation() */ public boolean isEarlyRemove() { return !getCacheAnnotation().afterInvocation(); }
@CacheRemove(cacheName = "simpleCache") public void simpleRemove(Long id) { }
final String methodCacheName = cacheRemoveAnnotation.cacheName(); final Class<? extends CacheResolverFactory> cacheResolverFactoryType = cacheRemoveAnnotation.cacheResolverFactory(); final CacheResolverFactory cacheResolverFactory = this.getCacheResolverFactory(cacheResolverFactoryType, cacheDefaultsAnnotation); final Class<? extends CacheKeyGenerator> cacheKeyGeneratorType = cacheRemoveAnnotation.cacheKeyGenerator(); final CacheKeyGenerator cacheKeyGenerator = this.getCacheKeyGenerator(cacheKeyGeneratorType, cacheDefaultsAnnotation);