package org.jboss.seam.annotations.security; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Documented; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.Target; /** * Used to restrict access to a Seam component, component method or entity. * * @see org.jboss.seam.security.Identity * * @author Shane Bryzak */ @Target({TYPE,METHOD}) @Documented @Retention(RUNTIME) @Inherited public @interface Restrict { /** * Restrictions may be expressed using any EL expression, and usually * include the use of s:hasRole(...) or s:hasPermission(..., /..). * If no EL expression is explicitly specified, Seam security defaults * the permission to be checked. * * @return An EL expression that defines the restriction to be checked */ String value() default ""; }