1 package com.atlassian.plugins.rest.common.interceptor; 2 3 import java.lang.annotation.ElementType; 4 import java.lang.annotation.Retention; 5 import java.lang.annotation.RetentionPolicy; 6 import java.lang.annotation.Target; 7 8 /** 9 * Configures the interceptor chain to execute when dispatching to a resource method. Classes will be instantiated 10 * per request and autowired by the plugin's container. The sole exception to this are default interceptors provided by 11 * the framework, which are singletons. The annotation lookup goes method -> class -> package -> default interceptors. 12 * 13 * @since 2.0 14 */ 15 @Target({ElementType.TYPE, ElementType.METHOD, ElementType.PACKAGE}) 16 @Retention(RetentionPolicy.RUNTIME) 17 public @interface InterceptorChain 18 { 19 Class<? extends ResourceInterceptor>[] value(); 20 }