Class AnyOf<M>
- java.lang.Object
-
- net.kautler.command.api.restriction.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>{@Inject private RoleAOrRoleB(RoleA roleA, RoleB roleB) { super(roleA, roleB); }}
-
-
Constructor Summary
Constructors Constructor Description AnyOf(Restriction<? super M>... restrictions)Constructs a new any-of restriction.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowCommand(M message)Returns whether a command caused by the given message should be allowed by this restriction or not.
-
-
-
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(M message)
Description copied from interface:RestrictionReturns whether a command caused by the given message should be allowed by this restriction or not.- Specified by:
allowCommandin interfaceRestriction<M>- Parameters:
message- the message that caused the command to check allowance for- Returns:
- whether a command caused by the given message should be allowed by this restriction or not
-
-