Search in sources :

Example 1 with CacheDefaults

use of javax.cache.annotation.CacheDefaults in project spring-framework by spring-projects.

the class AnnotationCacheOperationSourceTests method defaultCacheNameWithDefaults.

@Test
public void defaultCacheNameWithDefaults() {
    Method method = ReflectionUtils.findMethod(Object.class, "toString");
    CacheDefaults mock = mock(CacheDefaults.class);
    given(mock.cacheName()).willReturn("");
    assertEquals("java.lang.Object.toString()", source.determineCacheName(method, mock, ""));
}
Also used : CacheDefaults(javax.cache.annotation.CacheDefaults) Method(java.lang.reflect.Method) Test(org.junit.Test)

Example 2 with CacheDefaults

use of javax.cache.annotation.CacheDefaults in project spring-framework by spring-projects.

the class AnnotationJCacheOperationSource method findCacheOperation.

@Override
protected JCacheOperation<?> findCacheOperation(Method method, Class<?> targetType) {
    CacheResult cacheResult = method.getAnnotation(CacheResult.class);
    CachePut cachePut = method.getAnnotation(CachePut.class);
    CacheRemove cacheRemove = method.getAnnotation(CacheRemove.class);
    CacheRemoveAll cacheRemoveAll = method.getAnnotation(CacheRemoveAll.class);
    int found = countNonNull(cacheResult, cachePut, cacheRemove, cacheRemoveAll);
    if (found == 0) {
        return null;
    }
    if (found > 1) {
        throw new IllegalStateException("More than one cache annotation found on '" + method + "'");
    }
    CacheDefaults defaults = getCacheDefaults(method, targetType);
    if (cacheResult != null) {
        return createCacheResultOperation(method, defaults, cacheResult);
    } else if (cachePut != null) {
        return createCachePutOperation(method, defaults, cachePut);
    } else if (cacheRemove != null) {
        return createCacheRemoveOperation(method, defaults, cacheRemove);
    } else {
        return createCacheRemoveAllOperation(method, defaults, cacheRemoveAll);
    }
}
Also used : CacheRemove(javax.cache.annotation.CacheRemove) CacheDefaults(javax.cache.annotation.CacheDefaults) CacheResult(javax.cache.annotation.CacheResult) CacheRemoveAll(javax.cache.annotation.CacheRemoveAll) CachePut(javax.cache.annotation.CachePut)

Aggregations

CacheDefaults (javax.cache.annotation.CacheDefaults)2 Method (java.lang.reflect.Method)1 CachePut (javax.cache.annotation.CachePut)1 CacheRemove (javax.cache.annotation.CacheRemove)1 CacheRemoveAll (javax.cache.annotation.CacheRemoveAll)1 CacheResult (javax.cache.annotation.CacheResult)1 Test (org.junit.Test)1