Interface Argument

  • All Known Implementing Classes:
    ArgumentImpl

    public interface Argument
    This interface provides a way to specify parameters to argument to be processed in ArgumentParser object.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Argument action​(ArgumentAction action)
      Sets the action to be taken when this argument is encountered at the command line.
      <E> Argument choices​(E... values)
      Sets a collection of the allowable values for the argument.
      <E> Argument choices​(java.util.Collection<E> values)
      Sets a collection of the allowable values for the argument.
      Argument choices​(ArgumentChoice choice)
      Sets ArgumentChoice object which inspects value so that it fulfills its criteria.
      Argument dest​(java.lang.String dest)
      The name of the attribute to be added.
      java.lang.Object getConst()
      Returns const value.
      java.lang.Object getDefault()
      Returns default value.
      FeatureControl getDefaultControl()
      Returns default control.
      java.lang.String getDest()
      Returns dest value.
      FeatureControl getHelpControl()
      Returns help control.
      Argument help​(java.lang.String help)
      Sets the brief description of what the argument does.
      Argument help​(FeatureControl ctrl)
      Sets special value to control help message handling.
      Argument metavar​(java.lang.String... metavar)
      Set the name for the argument in usage messages.
      Argument nargs​(int n)
      Sets the number of command line arguments that should be consumed.
      Argument nargs​(java.lang.String n)
      Sets the number of command line arguments that should be consumed.
      Argument required​(boolean required)
      If true is given, this named argument must be specified in command line otherwise error will be issued.
      <E> Argument setConst​(E... values)
      Sets list of constant values that are not read from the command line but are required for the various actions.
      Argument setConst​(java.lang.Object value)
      Sets constant values that are not read from the command line but are required for the various actions.
      <E> Argument setDefault​(E... values)
      Sets list of values which should be used if the command line argument is not present.
      Argument setDefault​(java.lang.Object value)
      Sets value which should be used if the command line argument is not present.
      Argument setDefault​(FeatureControl ctrl)
      Sets special value to control default value handling.
      java.lang.String textualName()
      Returns textual representation of the argument name.
      <T> Argument type​(java.lang.Class<T> type)
      Sets the type which the command line argument should be converted to.
      <T> Argument type​(ArgumentType<T> type)
      Sets ArgumentType object which converts command line argument to appropriate type.
    • Method Detail

      • nargs

        Argument nargs​(int n)

        Sets the number of command line arguments that should be consumed.

        Don't give this method '*', '+' or '?'. They are converted to int value and it is not what you expect. For these strings, use nargs(String).

        Parameters:
        n - A positive integer
        Returns:
        this
      • nargs

        Argument nargs​(java.lang.String n)

        Sets the number of command line arguments that should be consumed.

        This method takes one of following string: "*", "+" and "?". If "*" is given, All command line arguments present are gathered into a List. If "+" is given, just like "*", all command line arguments present are gathered into a List. Additionally, an error message will be generated if there wasn't at least one command line argument present. If "?" is given, one argument will be consumed from the command line if possible, and produced as a single item. If no command line argument is present, the value from setDefault(Object) will be produced. Note that for named arguments, there is an additional case - the option string is present but not followed by a command line argument. In this case the value from setConst(Object) will be produced.

        Parameters:
        n - "*", "+" or "?"
        Returns:
        this
      • setConst

        Argument setConst​(java.lang.Object value)

        Sets constant values that are not read from the command line but are required for the various actions.

        The const value defaults to null.

        Parameters:
        value - The const value
        Returns:
        this
      • setConst

        <E> Argument setConst​(E... values)

        Sets list of constant values that are not read from the command line but are required for the various actions.

        The given values will be converted to List. The const value defaults to null. If you want to set non-List item, use setConst(Object).

        Type Parameters:
        E - The type of the values
        Parameters:
        values - The const values
        Returns:
        this
      • setDefault

        Argument setDefault​(java.lang.Object value)

        Sets value which should be used if the command line argument is not present.

        The default value defaults to null.

        Parameters:
        value - The default value
        Returns:
        this
      • setDefault

        <E> Argument setDefault​(E... values)

        Sets list of values which should be used if the command line argument is not present.

        The default value defaults to null. The given values will be converted to List. If you want to set non-List item, use setDefault(Object).

        Type Parameters:
        E - The type of the values
        Parameters:
        values - The default values
        Returns:
        this
      • setDefault

        Argument setDefault​(FeatureControl ctrl)

        Sets special value to control default value handling.

        Currently, only FeatureControl.SUPPRESS is available. If it is given, default value is not add as a attribute.

        Parameters:
        ctrl - The special value to control default value handling.
        Returns:
        this
      • type

        <T> Argument type​(java.lang.Class<T> type)

        Sets the type which the command line argument should be converted to.

        By default, type is String, which means no conversion is made. The type must have a constructor which takes one String argument.

        As a convenience, if one of following primitive types (boolean.class, byte.class, short.class, int.class, long.class, float.class and double.class) is specified, it is converted to its wrapped type counterpart. For example, if int.class is given, it is silently converted to Integer.class.

        Type Parameters:
        T - The type of the value this argument accepts
        Parameters:
        type - The type which the command line argument should be converted to.
        Returns:
        this
      • type

        <T> Argument type​(ArgumentType<T> type)

        Sets ArgumentType object which converts command line argument to appropriate type.

        This would be useful if you need to convert the command line argument into a type which does not have a constructor with one String argument.

        Type Parameters:
        T - The type of the value this argument accepts
        Parameters:
        type - The ArgumentType object
        Returns:
        this
      • required

        Argument required​(boolean required)

        If true is given, this named argument must be specified in command line otherwise error will be issued.

        The default value is false. This object is a positional argument, this property is ignored.

        Parameters:
        required - true or false
        Returns:
        this
      • action

        Argument action​(ArgumentAction action)
        Sets the action to be taken when this argument is encountered at the command line.
        Parameters:
        action - ArgumentAction object
        Returns:
        this
      • choices

        <E> Argument choices​(java.util.Collection<E> values)
        Sets a collection of the allowable values for the argument.
        Type Parameters:
        E - The type of the values
        Parameters:
        values - A collection of the allowable values
        Returns:
        this
      • choices

        <E> Argument choices​(E... values)
        Sets a collection of the allowable values for the argument.
        Type Parameters:
        E - The type of the values
        Parameters:
        values - A collection of the allowable values
        Returns:
        this
      • dest

        Argument dest​(java.lang.String dest)

        The name of the attribute to be added.

        The default value is For positional arguments, The default value is normally supplied as the first argument to ArgumentParser.parseArgs(String[]). For named arguments, ArgumentParser generates the default value of dest by taking the first long option string and stripping away the initial -- string. If no long option strings were supplied, dest will be derived from the first short option string by stripping the initial - character. Any internal - characters will be converted to _.

        Parameters:
        dest - The name of the attribute to be added
        Returns:
        this
      • metavar

        Argument metavar​(java.lang.String... metavar)
        Set the name for the argument in usage messages.
        Parameters:
        metavar - The name for the argument in usage messages
        Returns:
        this
      • help

        Argument help​(java.lang.String help)
        Sets the brief description of what the argument does.
        Parameters:
        help - The brief description of what the argument does
        Returns:
        this
      • help

        Argument help​(FeatureControl ctrl)

        Sets special value to control help message handling.

        Currently, only FeatureControl.SUPPRESS is available. If it is given, the help entry for this option is not displayed in the help message.

        Parameters:
        ctrl - The special value to control help message handling.
        Returns:
        this
      • textualName

        java.lang.String textualName()

        Returns textual representation of the argument name.

        For named arguments, this method returns the first argument given in ArgumentContainer.addArgument(String...). For positional arguments, this method returns the flags joined with "/", e.g. -f/--foo.

        Returns:
        The textual representation of the argument name.
      • getDest

        java.lang.String getDest()
        Returns dest value.
        Returns:
        The dest value
      • getConst

        java.lang.Object getConst()
        Returns const value.
        Returns:
        The const value
      • getDefault

        java.lang.Object getDefault()
        Returns default value.
        Returns:
        The default value
      • getDefaultControl

        FeatureControl getDefaultControl()
        Returns default control.
        Returns:
        The default control
      • getHelpControl

        FeatureControl getHelpControl()
        Returns help control.
        Returns:
        The help control