-
- All Known Implementing Classes:
AppendArgumentAction
,AppendConstArgumentAction
,CountArgumentAction
,HelpArgumentAction
,StoreArgumentAction
,StoreConstArgumentAction
,StoreFalseArgumentAction
,StoreTrueArgumentAction
,VersionArgumentAction
public interface ArgumentAction
This interface defines behavior of action when an argument is encountered at the command line.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description boolean
consumeArgument()
Returnstrue
if this action consumes argument.void
onAttach(Argument arg)
Called when ArgumentAction is added toArgument
usingArgument.action(ArgumentAction)
.void
run(ArgumentParser parser, Argument arg, java.util.Map<java.lang.String,java.lang.Object> attrs, java.lang.String flag, java.lang.Object value)
Deprecated.Does not provide the flexibility to let the parser and/or argument decide how the value is stored.default void
run(ArgumentParser parser, Argument arg, java.util.Map<java.lang.String,java.lang.Object> attrs, java.lang.String flag, java.lang.Object value, java.util.function.Consumer<java.lang.Object> valueSetter)
Executes this action.
-
-
-
Method Detail
-
run
@Deprecated void run(ArgumentParser parser, Argument arg, java.util.Map<java.lang.String,java.lang.Object> attrs, java.lang.String flag, java.lang.Object value) throws ArgumentParserException
Deprecated.Does not provide the flexibility to let the parser and/or argument decide how the value is stored.run(ArgumentParser, Argument, Map, String, Object, Consumer)
will be called instead. Existing actions should implement that method.Executes this action.
If the objects derived from
RuntimeException
are thrown in this method because of invalid input from command line, subclass must catch these exceptions and wrap them inArgumentParserException
and give simple error message to explain what happened briefly.- Parameters:
parser
- The parser.arg
- The argument this action attached to.attrs
- Map to store attributes.flag
- The actual option flag in command line ifarg
is a named arguments.null
ifarg
is a positional argument.value
- The attribute value. This may be null if this action does not consume any arguments.- Throws:
ArgumentParserException
- If error occurred.
-
run
default void run(ArgumentParser parser, Argument arg, java.util.Map<java.lang.String,java.lang.Object> attrs, java.lang.String flag, java.lang.Object value, java.util.function.Consumer<java.lang.Object> valueSetter) throws ArgumentParserException
Executes this action.
If the objects derived from
RuntimeException
are thrown in this method because of invalid input from command line, subclass must catch these exceptions and wrap them inArgumentParserException
and give simple error message to explain what happened briefly.- Parameters:
parser
- The parser.arg
- The argument this action attached to.attrs
- The current map of attributes. Implementations may read from this map, but may not change it. Implementations must call thevalueSetter
with the actual value to be set.flag
- The actual option flag in command line ifarg
is a named arguments.null
ifarg
is a positional argument.value
- The attribute value. This may be null if this action does not consume any arguments.valueSetter
- The consumer that will set the actual value determined by this action in the result.- Throws:
ArgumentParserException
- If error occurred.
-
onAttach
void onAttach(Argument arg)
Called when ArgumentAction is added toArgument
usingArgument.action(ArgumentAction)
.- Parameters:
arg
-Argument
object to which this object is added.
-
consumeArgument
boolean consumeArgument()
Returnstrue
if this action consumes argument. Otherwise returnsfalse
.- Returns:
true
orfalse
.
-
-