Interface CommandLine


  • public interface CommandLine
    The parser transforms a CLI (a model) into an CommandLine. This CommandLine has stored the argument and option values. Only instance of parser should create objects of this type.
    Author:
    Clement Escoffier
    • Method Detail

      • create

        static CommandLine create​(CLI cli)
        Creates a command line object from the CLI. This object is intended to be used by the parser to set the argument and option values.
        Parameters:
        cli - the CLI definition
        Returns:
        the command line object
      • cli

        CLI cli()
        Returns:
        the model of this command line object.
      • allArguments

        List<String> allArguments()
        Returns:
        the ordered list of arguments. Arguments are command line arguments not matching an option.
      • getOptionValue

        <T> T getOptionValue​(String name)
        Gets the value of an option with the matching name (can be the long name, short name or arg name).
        Type Parameters:
        T - the expected type
        Parameters:
        name - the name
        Returns:
        the value, null if not set
      • getArgumentValue

        <T> T getArgumentValue​(String name)
        Gets the value of an argument with the matching name (arg name).
        Type Parameters:
        T - the expected type
        Parameters:
        name - the name
        Returns:
        the value, null if not set
      • getArgumentValue

        <T> T getArgumentValue​(int index)
        Gets the value of an argument with the given index.
        Type Parameters:
        T - the expected type
        Parameters:
        index - the index
        Returns:
        the value, null if not set
      • getOptionValues

        <T> List<T> getOptionValues​(String name)
        Gets the values of an option with the matching name (can be the long name, short name or arg name).
        Type Parameters:
        T - the expected component type
        Parameters:
        name - the name
        Returns:
        the values, null if not set
        See Also:
        getRawValuesForOption(Option)
      • getArgumentValues

        <T> List<T> getArgumentValues​(int index)
        Gets the values of an argument with the matching index.
        Type Parameters:
        T - the expected component type
        Parameters:
        index - the index
        Returns:
        the values, null if not set
        See Also:
        getArgumentValue(int), getRawValueForArgument(Argument)
      • isFlagEnabled

        boolean isFlagEnabled​(String name)
        Gets the value of an option marked as a flag.

        Calling this method an a non-flag option throws an IllegalStateException.

        Parameters:
        name - the option name
        Returns:
        true if the flag has been set in the command line, false otherwise.
      • isOptionAssigned

        boolean isOptionAssigned​(Option option)
        Checks whether or not the given option has been assigned in the command line.
        Parameters:
        option - the option
        Returns:
        true if the option has received a value, {@link false} otherwise.
      • getRawValues

        @Deprecated
        default List<String> getRawValues​(Option option)
        Gets the raw values of the given option. Raw values are simple "String", not converted to the option type.
        Parameters:
        option - the option
        Returns:
        the list of values, empty if none
      • getRawValuesForOption

        List<String> getRawValuesForOption​(Option option)
        Gets the raw values of the given option. Raw values are simple "String", not converted to the option type.
        Parameters:
        option - the option
        Returns:
        the list of values, empty if none
      • getRawValuesForArgument

        List<String> getRawValuesForArgument​(Argument argument)
        Gets the raw values of the given argument. Raw values are simple "String", not converted to the argument type.
        Parameters:
        argument - the argument
        Returns:
        the list of values, empty if none
      • getRawValueForOption

        String getRawValueForOption​(Option option)
        Gets the raw value of the given option. Raw values are the values as given in the user command line.
        Parameters:
        option - the option
        Returns:
        the value, null if none.
      • acceptMoreValues

        boolean acceptMoreValues​(Option option)
        Checks whether or not the given option accept more values.
        Parameters:
        option - the option
        Returns:
        {@link true} if the option accepts more values, {@link false} otherwise.
      • getRawValueForArgument

        String getRawValueForArgument​(Argument arg)
        Gets the raw value of the given argument. Raw values are the values as given in the user command line.
        Parameters:
        arg - the argument
        Returns:
        the value, null if none.
      • isArgumentAssigned

        boolean isArgumentAssigned​(Argument arg)
        Checks whether or not the given argument has been assigned in the command line.
        Parameters:
        arg - the argument
        Returns:
        true if the argument has received a value, {@link false} otherwise.
      • isSeenInCommandLine

        boolean isSeenInCommandLine​(Option option)
        Checks whether or not the given option has been seen in the user command line.
        Parameters:
        option - the option
        Returns:
        true if the user command line has used the option
      • isValid

        boolean isValid()
        Checks whether or not the command line is valid, i.e. all constraints from arguments and options have been satisfied. This method is used when the parser validation is disabled.
        Returns:
        true if the current CommandLine object is valid. {@link false} otherwise.
      • isAskingForHelp

        boolean isAskingForHelp()
        Checks whether or not the user has passed a "help" option and is asking for help.
        Returns:
        true if the user command line has enabled a "Help" option, {@link false} otherwise.