package netflix.karyon.transport.interceptor; /** * A contract to support interceptors for requests i.e. how to attach filters to a request processing. * * @author Nitesh Kant */ public class InterceptorSupport<I, O, C extends KeyEvaluationContext> extends AbstractInterceptorSupport<I, O, C, InterceptorSupport.Attacher<I, O, C>, InterceptorSupport<I, O, C>> { @Override protected Attacher<I, O, C> newAttacher(InterceptorKey<I, C> key) { return new Attacher<I, O, C>(this, key); } public static class Attacher<I, O, C extends KeyEvaluationContext> extends AbstractAttacher<I, O, C, InterceptorSupport<I, O, C>> { public Attacher(InterceptorSupport<I, O, C> interceptorSupport, InterceptorKey<I, C> key) { super(interceptorSupport, key); } } }