public interface Flag
Represents a flag on a Command

A flag is a parameter is either:

  • a single dash, follows by a single character (e.g. -a, or
  • two dashes, followed by multiple characters (e.g. --all).

In both cases, a flag may have an execution requirement upon them restricting who may use the flag (typically a permission) and/or an associated Parameter that occurs after the flag definition, which may or may not be optional. Flags may be specified more than once in a command string, but may only appear at the beginning of a Command. For Parameter.Subcommands, this is directly after the literal which starts that subcommand.

To check whether the flag was specified in the command, call CommandContext.flagInvocationCount(String), where the string is a flag's alias without the preceding dashes.

  • Method Details

    • builder

      static Flag.Builder builder()
      Gets a Flag.Builder for creating a Flag
      Returns:
      A Flag.Builder
    • of

      static Flag of(String... aliases)
      Create a new, parameter-less Flag with the supplied aliases.
      Parameters:
      aliases - Flag aliases
      Returns:
      A new Flag
    • of

      static Flag of(Parameter parameter, String... aliases)
      Create a new Flag with the supplied parameter and aliases.
      Parameters:
      parameter - The parameter to parse after this flag
      aliases - Flag aliases
      Returns:
      A new Flag
    • unprefixedAliases

      Collection<String> unprefixedAliases()
      Gets the aliases that were supplied to this flag.

      Aliases returned here will not be prefixed with the appropriate dashes.

      Returns:
      The aliases.
    • aliases

      Collection<String> aliases()
      Gets the aliases that this flag will act upon.

      Aliases returned here will be prefixed with the appropriate dashes.

      Returns:
      The aliases.
    • requirement

      Predicate<CommandCause> requirement()
      Gets the Predicate that will be checked in order for this flag to be usable by a CommandCause
      Returns:
      The Predicate
    • associatedParameter

      Optional<Parameter> associatedParameter()
      Gets the Parameter that should be parsed if this flag is invoked.

      This parameter may be optional if it exists.

      Returns:
      The Parameter, if it exists.