Defines a logical security
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.