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