tech.rsqn.cacheservice.TransparentCacheService Maven / Gradle / Ivy
package tech.rsqn.cacheservice;
import tech.rsqn.cacheservice.interceptors.InterceptorMetadata;
import org.aopalliance.intercept.MethodInvocation;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
public interface TransparentCacheService {
long count();
long clear();
String generateCacheKey(T entity);
String generateCacheKey(Class clazz, Object... arguments);
String generateParameterKey(Object parameter);
Object aroundWriteMethodInvocation(MethodInvocation invocation,
InterceptorMetadata meta) throws Throwable;
Object aroundReadMethodInvocation(MethodInvocation invocation,
InterceptorMetadata meta) throws Throwable;
Object aroundInvalidateMethodInvocation(MethodInvocation invocation,
InterceptorMetadata meta) throws Throwable;
List getSupportedTypes();
Map getCaches();
}