package org.infinispan.interceptors;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import org.infinispan.commands.VisitableCommand;
import org.infinispan.context.InvocationContext;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
* @author Dan Berindei
* @since 9.0
*/
public class EmptyAsyncInterceptorChain implements AsyncInterceptorChain {
public static final EmptyAsyncInterceptorChain INSTANCE = new EmptyAsyncInterceptorChain();
private static final Log log = LogFactory.getLog(EmptyAsyncInterceptorChain.class);
@Override
public List<AsyncInterceptor> getInterceptors() {
return Collections.emptyList();
}
@Override
public void addInterceptor(AsyncInterceptor interceptor, int position) {
throw log.interceptorStackNotSupported();
}
@Override
public void removeInterceptor(int position) {
throw log.interceptorStackNotSupported();
}
@Override
public int size() {
return 0;
}
@Override
public void removeInterceptor(Class<? extends AsyncInterceptor> clazz) {
throw log.interceptorStackNotSupported();
}
@Override
public boolean addInterceptorAfter(AsyncInterceptor toAdd,
Class<? extends AsyncInterceptor> afterInterceptor) {
throw log.interceptorStackNotSupported();
}
@Override
public boolean addInterceptorBefore(AsyncInterceptor toAdd,
Class<? extends AsyncInterceptor> beforeInterceptor) {
throw log.interceptorStackNotSupported();
}
@Override
public boolean replaceInterceptor(AsyncInterceptor replacingInterceptor,
Class<? extends AsyncInterceptor> toBeReplacedInterceptorType) {
throw log.interceptorStackNotSupported();
}
@Override
public void appendInterceptor(AsyncInterceptor ci, boolean isCustom) {
throw log.interceptorStackNotSupported();
}
@Override
public Object invoke(InvocationContext ctx, VisitableCommand command) {
throw log.interceptorStackNotSupported();
}
@Override
public CompletableFuture<Object> invokeAsync(InvocationContext ctx, VisitableCommand command) {
throw log.interceptorStackNotSupported();
}
@Override
public <T extends AsyncInterceptor> T findInterceptorExtending(Class<T> interceptorClass) {
return null;
}
@Override
public <T extends AsyncInterceptor> T findInterceptorWithClass(Class<T> interceptorClass) {
return null;
}
@Override
public boolean containsInstance(AsyncInterceptor interceptor) {
return false;
}
@Override
public boolean containsInterceptorType(Class<? extends AsyncInterceptor> interceptorType) {
return false;
}
@Override
public boolean containsInterceptorType(Class<? extends AsyncInterceptor> interceptorType,
boolean alsoMatchSubClasses) {
return false;
}
}