Package picocli
Class CommandLine.Interpreter
- java.lang.Object
-
- picocli.CommandLine.Interpreter
-
- Enclosing class:
- CommandLine
private class CommandLine.Interpreter extends java.lang.Object
Helper class responsible for processing command line arguments.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.Class<?>,CommandLine.ITypeConverter<?>>
converterRegistry
private boolean
endOfOptions
private int
interactiveCount
private boolean
isHelpRequested
private CommandLine.ParseResult.Builder
parseResultBuilder
private int
position
-
Constructor Summary
Constructors Constructor Description Interpreter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addOrExpand(java.lang.String arg, java.util.List<java.lang.String> arguments, java.util.Set<java.lang.String> visited)
private void
addPostponedRequiredArgs(java.util.Collection<CommandLine.Model.ArgSpec> inheritedRequired, java.util.List<CommandLine.Model.ArgSpec> required)
private void
addToInitialized(CommandLine.Model.ArgSpec argSpec, java.util.Set<CommandLine.Model.ArgSpec> initialized)
private int
addUserInputToList(CommandLine.Model.ArgSpec argSpec, java.util.List<java.lang.Object> result, int consumed, java.lang.String argDescription)
private boolean
applyDefault(CommandLine.IDefaultValueProvider defaultValueProvider, CommandLine.Model.ArgSpec arg)
private void
applyDefaultValues(java.util.List<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized)
private void
applyGroupDefaults(CommandLine.IDefaultValueProvider defaultValueProvider, CommandLine.Model.ArgGroupSpec group, java.util.List<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized)
private int
applyOption(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription)
private int
applyValuesToArrayField(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription)
private int
applyValuesToCollectionField(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription)
private int
applyValuesToMapField(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription)
private int
applyValueToSingleValuedField(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range derivedArity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription)
private boolean
assertNoMissingMandatoryParameter(CommandLine.Model.ArgSpec argSpec, java.util.Stack<java.lang.String> args, int i, CommandLine.Range arity)
private boolean
assertNoMissingParameters(CommandLine.Model.ArgSpec argSpec, CommandLine.Range arity, java.util.Stack<java.lang.String> args)
private boolean
booleanValue(CommandLine.Model.ArgSpec argSpec, java.lang.Object value)
private boolean
canConsumeOneArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.lang.String argDescription)
private boolean
canConsumeOneMapArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.lang.Class<?>[] classes, CommandLine.ITypeConverter<?> keyConverter, CommandLine.ITypeConverter<?> valueConverter, java.lang.String argDescription)
private void
clear()
private void
clear(CommandLine.Model.ArgGroupSpec group)
private void
clear(CommandLine.Model.ArgSpec argSpec)
private CommandLine.Model.ParserSpec
config()
private java.util.List<java.lang.Object>
consumeArguments(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, boolean unquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.lang.String argDescription)
private int
consumedCount(int i, int initialSize, CommandLine.Model.ArgSpec arg)
private int
consumedCountMap(int i, int initialSize, CommandLine.Model.ArgSpec arg)
private void
consumeMapArguments(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Map<java.lang.Object,java.lang.Object> result, java.lang.String argDescription)
private int
consumeOneArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.util.List<java.lang.Object> result, int index, java.lang.String argDescription)
private void
consumeOneMapArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.lang.Class<?>[] classes, CommandLine.ITypeConverter<?> keyConverter, CommandLine.ITypeConverter<?> valueConverter, java.util.Map<java.lang.Object,java.lang.Object> result, int index, java.lang.String argDescription)
private java.util.Collection<java.lang.Object>
createCollection(java.lang.Class<?> collectionClass, java.lang.Class<?>[] elementType)
private java.util.Map<java.lang.Object,java.lang.Object>
createMap(java.lang.Class<?> mapClass)
private java.lang.String
createMissingParameterMessageFoundOtherOption(CommandLine.Model.ArgSpec argSpec, java.util.Stack<java.lang.String> args, int i, CommandLine.Range arity)
private java.lang.String
createUserInputDebugString(CommandLine.Model.ArgSpec argSpec, char[] result, java.lang.String name)
private boolean
excl(java.lang.String fqcn)
private void
expandArgumentFile(java.lang.String fileName, java.util.List<java.lang.String> arguments, java.util.Set<java.lang.String> visited)
private void
expandValidArgumentFile(java.lang.String fileName, java.io.File file, java.util.List<java.lang.String> arguments, java.util.Set<java.lang.String> visited)
private CommandLine.ITypeConverter<?>
getActualTypeConverter(java.lang.Class<?> type, CommandLine.Model.ArgSpec argSpec)
private CommandLine.ITypeConverter<java.lang.Object>
getEnumTypeConverter(java.lang.Class<?> type)
private java.lang.String
getMaskedValue(CommandLine.Model.ArgSpec argSpec, java.lang.String input)
(package private) int
getPosition(CommandLine.Model.ArgSpec arg)
private CommandLine.ITypeConverter<?>
getTypeConverter(java.lang.Class<?>[] types, CommandLine.Model.ArgSpec argSpec, int index)
private void
handleUnmatchedArgument(java.util.Stack<java.lang.String> args)
private boolean
is(CommandLine.Model.ArgSpec p, java.lang.String attribute, boolean value)
private boolean
isAnyHelpRequested()
private boolean
isArgResemblesOptionThereforeDiscontinue(CommandLine.Model.ArgSpec argSpec, java.util.Stack<java.lang.String> args, int i, CommandLine.Range arity)
private boolean
isOption(java.lang.String arg)
Returns true if the specified arg is "--", a registered option, or potentially a clustered POSIX option.private boolean
isStandaloneOption(java.lang.String arg)
(package private) void
maybeThrow(CommandLine.PicocliException ex)
(package private) java.util.List<CommandLine>
parse(java.lang.String... args)
Entry point into parsing command line arguments.private void
parse(java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> argumentStack, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing, java.util.Collection<CommandLine.Model.ArgSpec> inheritedRequired)
private void
parse(java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> argumentStack, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing, java.util.Collection<CommandLine.Model.ArgSpec> inheritedRequired, java.util.Set<CommandLine.Model.ArgSpec> initialized)
(package private) java.lang.String
positionDesc(CommandLine.Model.ArgSpec arg)
private void
processArguments(java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> args, java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing)
private void
processClusteredShortOptions(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String arg, boolean alreadyUnquoted, java.util.Stack<java.lang.String> args)
private void
processPositionalParameter(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, boolean alreadyUnquoted, java.util.Stack<java.lang.String> args)
private void
processRemainderAsPositionalParameters(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.util.Stack<java.lang.String> args)
private void
processStandaloneOption(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String arg, boolean alreadyUnquoted, java.util.Stack<java.lang.String> args, CommandLine.LookBehind lookBehind)
private void
processSubcommand(CommandLine subcommand, CommandLine.ParseResult.Builder builder, java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> args, java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing, java.lang.String separator, java.lang.String arg)
(package private) char[]
readPassword(java.lang.String prompt)
(package private) char[]
readUserInput(CommandLine.Model.ArgSpec argSpec)
(package private) char[]
readUserInputWithEchoing(java.lang.String prompt)
private void
reg(java.lang.Class<?> cls, java.lang.reflect.Method method, java.lang.Class<?>... paramTypes)
private void
reg(java.lang.Class<?> timeClass, CommandLine.BuiltIn.ISO8601TimeConverter converter)
private void
registerBuiltInConverters()
private java.lang.String[]
splitKeyValue(CommandLine.Model.ArgSpec argSpec, java.lang.String value)
private java.util.Stack<java.lang.String>
stack(java.lang.String value)
private java.lang.Object
tryConvert(CommandLine.Model.ArgSpec argSpec, int index, CommandLine.ITypeConverter<?> converter, java.lang.String value, int typeIndex)
private java.lang.String[]
unquoteAndSplit(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg)
private void
updateHelpRequested(CommandLine.Model.ArgSpec argSpec)
private void
updateHelpRequested(CommandLine.Model.CommandSpec command)
private void
validateConstraints(java.util.Stack<java.lang.String> argumentStack, java.util.List<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> matched)
private boolean
varargCanConsumeNextValue(CommandLine.Model.ArgSpec argSpec, java.lang.String nextValue)
Returns whether the next argument can be assigned to a vararg option/positional parameter.
-
-
-
Field Detail
-
converterRegistry
private final java.util.Map<java.lang.Class<?>,CommandLine.ITypeConverter<?>> converterRegistry
-
isHelpRequested
private boolean isHelpRequested
-
position
private int position
-
interactiveCount
private int interactiveCount
-
endOfOptions
private boolean endOfOptions
-
parseResultBuilder
private CommandLine.ParseResult.Builder parseResultBuilder
-
-
Method Detail
-
registerBuiltInConverters
private void registerBuiltInConverters()
-
excl
private boolean excl(java.lang.String fqcn)
-
reg
private void reg(java.lang.Class<?> cls, java.lang.reflect.Method method, java.lang.Class<?>... paramTypes)
-
reg
private void reg(java.lang.Class<?> timeClass, CommandLine.BuiltIn.ISO8601TimeConverter converter)
-
config
private CommandLine.Model.ParserSpec config()
-
parse
java.util.List<CommandLine> parse(java.lang.String... args)
Entry point into parsing command line arguments.- Parameters:
args
- the command line arguments- Returns:
- a list with all commands and subcommands initialized by this method
- Throws:
CommandLine.ParameterException
- if the specified command line arguments are invalid
-
addOrExpand
private void addOrExpand(java.lang.String arg, java.util.List<java.lang.String> arguments, java.util.Set<java.lang.String> visited)
-
expandArgumentFile
private void expandArgumentFile(java.lang.String fileName, java.util.List<java.lang.String> arguments, java.util.Set<java.lang.String> visited)
-
expandValidArgumentFile
private void expandValidArgumentFile(java.lang.String fileName, java.io.File file, java.util.List<java.lang.String> arguments, java.util.Set<java.lang.String> visited)
-
clear
private void clear()
-
clear
private void clear(CommandLine.Model.ArgSpec argSpec)
-
clear
private void clear(CommandLine.Model.ArgGroupSpec group)
-
maybeThrow
void maybeThrow(CommandLine.PicocliException ex) throws CommandLine.PicocliException
- Throws:
CommandLine.PicocliException
-
parse
private void parse(java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> argumentStack, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing, java.util.Collection<CommandLine.Model.ArgSpec> inheritedRequired)
-
parse
private void parse(java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> argumentStack, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing, java.util.Collection<CommandLine.Model.ArgSpec> inheritedRequired, java.util.Set<CommandLine.Model.ArgSpec> initialized)
-
addPostponedRequiredArgs
private void addPostponedRequiredArgs(java.util.Collection<CommandLine.Model.ArgSpec> inheritedRequired, java.util.List<CommandLine.Model.ArgSpec> required)
-
validateConstraints
private void validateConstraints(java.util.Stack<java.lang.String> argumentStack, java.util.List<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> matched)
-
applyDefaultValues
private void applyDefaultValues(java.util.List<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized) throws java.lang.Exception
- Throws:
java.lang.Exception
-
applyGroupDefaults
private void applyGroupDefaults(CommandLine.IDefaultValueProvider defaultValueProvider, CommandLine.Model.ArgGroupSpec group, java.util.List<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized) throws java.lang.Exception
- Throws:
java.lang.Exception
-
applyDefault
private boolean applyDefault(CommandLine.IDefaultValueProvider defaultValueProvider, CommandLine.Model.ArgSpec arg) throws java.lang.Exception
- Throws:
java.lang.Exception
-
stack
private java.util.Stack<java.lang.String> stack(java.lang.String value)
-
processArguments
private void processArguments(java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> args, java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing) throws java.lang.Exception
- Throws:
java.lang.Exception
-
processSubcommand
private void processSubcommand(CommandLine subcommand, CommandLine.ParseResult.Builder builder, java.util.List<CommandLine> parsedCommands, java.util.Stack<java.lang.String> args, java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String[] originalArgs, java.util.List<java.lang.Object> nowProcessing, java.lang.String separator, java.lang.String arg)
-
isStandaloneOption
private boolean isStandaloneOption(java.lang.String arg)
-
handleUnmatchedArgument
private void handleUnmatchedArgument(java.util.Stack<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
processRemainderAsPositionalParameters
private void processRemainderAsPositionalParameters(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.util.Stack<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
processPositionalParameter
private void processPositionalParameter(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, boolean alreadyUnquoted, java.util.Stack<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
processStandaloneOption
private void processStandaloneOption(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String arg, boolean alreadyUnquoted, java.util.Stack<java.lang.String> args, CommandLine.LookBehind lookBehind) throws java.lang.Exception
- Throws:
java.lang.Exception
-
processClusteredShortOptions
private void processClusteredShortOptions(java.util.Collection<CommandLine.Model.ArgSpec> required, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String arg, boolean alreadyUnquoted, java.util.Stack<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
applyOption
private int applyOption(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
addToInitialized
private void addToInitialized(CommandLine.Model.ArgSpec argSpec, java.util.Set<CommandLine.Model.ArgSpec> initialized)
-
applyValueToSingleValuedField
private int applyValueToSingleValuedField(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range derivedArity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
applyValuesToMapField
private int applyValuesToMapField(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
consumeMapArguments
private void consumeMapArguments(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Map<java.lang.Object,java.lang.Object> result, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
consumeOneMapArgument
private void consumeOneMapArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.lang.Class<?>[] classes, CommandLine.ITypeConverter<?> keyConverter, CommandLine.ITypeConverter<?> valueConverter, java.util.Map<java.lang.Object,java.lang.Object> result, int index, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
unquoteAndSplit
private java.lang.String[] unquoteAndSplit(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg)
-
canConsumeOneMapArgument
private boolean canConsumeOneMapArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.lang.Class<?>[] classes, CommandLine.ITypeConverter<?> keyConverter, CommandLine.ITypeConverter<?> valueConverter, java.lang.String argDescription)
-
splitKeyValue
private java.lang.String[] splitKeyValue(CommandLine.Model.ArgSpec argSpec, java.lang.String value)
-
assertNoMissingMandatoryParameter
private boolean assertNoMissingMandatoryParameter(CommandLine.Model.ArgSpec argSpec, java.util.Stack<java.lang.String> args, int i, CommandLine.Range arity)
-
createMissingParameterMessageFoundOtherOption
private java.lang.String createMissingParameterMessageFoundOtherOption(CommandLine.Model.ArgSpec argSpec, java.util.Stack<java.lang.String> args, int i, CommandLine.Range arity)
-
isArgResemblesOptionThereforeDiscontinue
private boolean isArgResemblesOptionThereforeDiscontinue(CommandLine.Model.ArgSpec argSpec, java.util.Stack<java.lang.String> args, int i, CommandLine.Range arity) throws java.lang.Exception
- Throws:
java.lang.Exception
-
applyValuesToArrayField
private int applyValuesToArrayField(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
applyValuesToCollectionField
private int applyValuesToCollectionField(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.util.Set<CommandLine.Model.ArgSpec> initialized, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
consumeArguments
private java.util.List<java.lang.Object> consumeArguments(CommandLine.Model.ArgSpec argSpec, boolean negated, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, boolean unquoted, CommandLine.Range arity, java.util.Stack<java.lang.String> args, java.lang.String argDescription) throws java.lang.Exception
- Throws:
java.lang.Exception
-
consumedCount
private int consumedCount(int i, int initialSize, CommandLine.Model.ArgSpec arg)
-
consumedCountMap
private int consumedCountMap(int i, int initialSize, CommandLine.Model.ArgSpec arg)
-
addUserInputToList
private int addUserInputToList(CommandLine.Model.ArgSpec argSpec, java.util.List<java.lang.Object> result, int consumed, java.lang.String argDescription)
-
getMaskedValue
private java.lang.String getMaskedValue(CommandLine.Model.ArgSpec argSpec, java.lang.String input)
-
consumeOneArgument
private int consumeOneArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.util.List<java.lang.Object> result, int index, java.lang.String argDescription)
-
canConsumeOneArgument
private boolean canConsumeOneArgument(CommandLine.Model.ArgSpec argSpec, CommandLine.LookBehind lookBehind, boolean alreadyUnquoted, CommandLine.Range arity, int consumed, java.lang.String arg, java.lang.String argDescription)
-
varargCanConsumeNextValue
private boolean varargCanConsumeNextValue(CommandLine.Model.ArgSpec argSpec, java.lang.String nextValue)
Returns whether the next argument can be assigned to a vararg option/positional parameter.Usually, we stop if we encounter '--', a command, or another option. However, if end-of-options has been reached, positional parameters may consume all remaining arguments.
-
isOption
private boolean isOption(java.lang.String arg)
Returns true if the specified arg is "--", a registered option, or potentially a clustered POSIX option. Called when parsing varargs parameters for a multi-value option. When an option is encountered, the remainder should not be interpreted as vararg elements.- Parameters:
arg
- the string to determine whether it is an option or not- Returns:
- true if it is an option, false otherwise
-
tryConvert
private java.lang.Object tryConvert(CommandLine.Model.ArgSpec argSpec, int index, CommandLine.ITypeConverter<?> converter, java.lang.String value, int typeIndex) throws CommandLine.ParameterException
- Throws:
CommandLine.ParameterException
-
isAnyHelpRequested
private boolean isAnyHelpRequested()
-
updateHelpRequested
private void updateHelpRequested(CommandLine.Model.CommandSpec command)
-
updateHelpRequested
private void updateHelpRequested(CommandLine.Model.ArgSpec argSpec)
-
is
private boolean is(CommandLine.Model.ArgSpec p, java.lang.String attribute, boolean value)
-
createCollection
private java.util.Collection<java.lang.Object> createCollection(java.lang.Class<?> collectionClass, java.lang.Class<?>[] elementType) throws java.lang.Exception
- Throws:
java.lang.Exception
-
createMap
private java.util.Map<java.lang.Object,java.lang.Object> createMap(java.lang.Class<?> mapClass) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTypeConverter
private CommandLine.ITypeConverter<?> getTypeConverter(java.lang.Class<?>[] types, CommandLine.Model.ArgSpec argSpec, int index)
-
getActualTypeConverter
private CommandLine.ITypeConverter<?> getActualTypeConverter(java.lang.Class<?> type, CommandLine.Model.ArgSpec argSpec)
-
getEnumTypeConverter
private CommandLine.ITypeConverter<java.lang.Object> getEnumTypeConverter(java.lang.Class<?> type)
-
booleanValue
private boolean booleanValue(CommandLine.Model.ArgSpec argSpec, java.lang.Object value)
-
assertNoMissingParameters
private boolean assertNoMissingParameters(CommandLine.Model.ArgSpec argSpec, CommandLine.Range arity, java.util.Stack<java.lang.String> args)
-
readUserInput
char[] readUserInput(CommandLine.Model.ArgSpec argSpec)
-
createUserInputDebugString
private java.lang.String createUserInputDebugString(CommandLine.Model.ArgSpec argSpec, char[] result, java.lang.String name)
-
readPassword
char[] readPassword(java.lang.String prompt)
-
readUserInputWithEchoing
char[] readUserInputWithEchoing(java.lang.String prompt)
-
getPosition
int getPosition(CommandLine.Model.ArgSpec arg)
-
positionDesc
java.lang.String positionDesc(CommandLine.Model.ArgSpec arg)
-
-