Interface Flag


  • 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 Detail

      • 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.
      • 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.