Class AnyOf<M>

  • Type Parameters:
    M - the class of the messages for which this restriction can check allowance
    All Implemented Interfaces:
    Restriction<M>

    public abstract class AnyOf<M>
    extends Object
    implements Restriction<M>
    A restriction that checks multiple other restrictions one of which must allow a command. To use it, create a trivial subclass of this class and make it a discoverable CDI bean, for example by annotating it with @ApplicationScoped.

    Example:

    
     @ApplicationScoped
     public class RoleAOrRoleB extends AnyOf<Message> {
         // make bean proxyable according to CDI spec
         public RoleAOrRoleB() {
             super();
         }
    
         @Inject
         RoleAOrRoleB(RoleA roleA, RoleB roleB) {
             super(roleA, roleB);
         }
     }
     
    See Also:
    AllOf, NoneOf
    • Constructor Detail

      • AnyOf

        @SafeVarargs
        public AnyOf​(Restriction<? super M>... restrictions)
        Constructs a new any-of restriction.
        Parameters:
        restrictions - the restrictions of which any one must allow a command
    • Method Detail

      • allowCommand

        public boolean allowCommand​(CommandContext<? extends M> commandContext)
        Description copied from interface: Restriction
        Returns whether a command caused by the given command context should be allowed by this restriction or not.
        Specified by:
        allowCommand in interface Restriction<M>
        Parameters:
        commandContext - the command context, usually fully populated
        Returns:
        whether a command caused by the given command context should be allowed by this restriction or not