@Retention(value=RUNTIME) @Target(value=PACKAGE) @Documented @PackageQualified public @interface Privilege
Privilege
, that a caller must have in
order to access a resource.
A caller is deemed to have a Privilege
IFF they have at least one of
the roles enumerated by the roles()
property.
A Privilege
must be defined at the package level in
package-info.java
. If more than one Privilege
is to be
defined per package then wrapper it in a Security
annotation.
If a Privilege
must be defined dynamically (i.e. at run-time), rather
than statically via a package annotation, then implement a
HasPrivileges
provider that can map privilege names to
Privilege
instances.