1 package com.atlassian.sal.api.websudo;
2
3 import java.lang.annotation.*;
4
5 /**
6 * Elements marked with this annotation will require WebSudo protection.
7 * <p/>
8 * This annotation can be applied to:
9 * <ul>
10 * <li>REST resources</li>
11 * </ul>
12 * <p/>
13 * If an element is marked as @WebSudoRequired the host application ensures that it will only be accessed as part of
14 * a WebSudo session if the host application supports WebSudo.
15 * <p/>
16 * <p/>
17 * Annotations can be applied on the package, type (class, interface and enum) and method level.
18 * Annotations on more specific elements (method < type < package) have precedence over annotations applied to more general elements.
19 * E.g. an annotation applied to a method overrides the annotation applied to the whole package.
20 *
21 *
22 * @see com.atlassian.sal.api.websudo.WebSudoNotRequired
23 * @since 2.2
24 */
25 @Retention(RetentionPolicy.RUNTIME)
26 @Target({ElementType.PACKAGE, ElementType.METHOD, ElementType.TYPE})
27 @Inherited
28 public @interface WebSudoRequired
29 {
30 }