CommandLine interpreter that uses reflection to initialize an annotated user object with values obtained from the
command line arguments.
A Command
may define one or more ArgGroups
: a group of options, positional parameters or a mixture of the two.
Converts text in any of the following formats to a java.sql.Time
: HH:mm
, HH:mm:ss
,
HH:mm:ss.SSS
, HH:mm:ss,SSS
.
Annotate your class with @Command
when you want more control over the format of the generated help
message.
Exception indicating that multiple named elements have incorrectly used the same name.
Exception indicating that multiple fields have been annotated with the same Option name.
Exception indicating a problem while invoking a command or subcommand.
A collection of methods and inner classes that provide fine-grained control over the contents and layout of
the usage help message to display to end users when help is requested or invalid input values were specified.
Provides methods and inner classes to support using ANSI escape codes in usage help messages.
Defines the interface for an ANSI escape sequence.
A set of pre-defined ANSI escape code styles and colors, and a set of convenience methods for parsing
text with embedded markup style names, as well as convenience methods for converting
styles to strings with embedded escape codes.
Encapsulates rich text with styles and colors.
All usage help message are generated with a color scheme that assigns certain styles and colors to common
parts of a usage message: the command name, options, positional parameters and option parameters.
Builder class to create ColorScheme
instances.
Columns define the width, indent (leading number of spaces in a column before the value) and
Overflow policy of a column in a
TextTable.
Policy for handling text that is longer than the column width:
span multiple columns, wrap to the next row, or simply truncate the portion that doesn't fit.
When customizing online help for
Option
details, a custom
IOptionRenderer
can be
used to create textual representation of an Option in a tabular format: one or more rows, each containing
one or more columns.
When customizing online help for
positional parameters details, a custom
IParameterRenderer
can be used to create textual representation of a Parameters field in a tabular format: one or more rows,
each containing one or more columns.
When customizing online usage help for an option parameter or a positional parameter, a custom
IParamLabelRenderer
can be used to render the parameter name or label to a String.
Use a Layout to format usage help text for options and parameters in tabular format.
Sorts OptionSpec
instances by their name in case-insensitive alphabetic order.
Helper class to index positions in a Help.TextTable
.
Controls the visibility of certain aspects of the usage help message.
Provides default value for a command.
Classes implementing this interface know how to handle Exceptions that occurred while executing the Runnable
, Callable
or Method
user object of the command.
Implementations are responsible for "executing" the user input and returning an exit code.
Interface that provides the appropriate exit code that will be returned from the
execute
method for an exception that occurred during parsing or while invoking the command's Runnable, Callable, or Method.
@Command
-annotated classes can implement this interface to specify an exit code that will be returned
from the
execute
method when the command is successfully invoked.
Help commands that provide usage help for other commands can implement this interface to be initialized with the information they need.
Renders a section of the usage help message.
Provides a way to modify how the command model is built.
Determines the option name transformation of
negatable boolean options.
Exception indicating a problem during CommandLine
initialization.
Helper class responsible for processing command line arguments.
Options or positional parameters can be assigned a IParameterConsumer
that implements
custom logic to process the parameters for this option or this position.
Classes implementing this interface know how to handle ParameterExceptions
(usually from invalid user input).
Options, positional parameters and commands can be assigned a IParameterPreprocessor
that
implements custom logic to preprocess the parameters for this option, position or command.
When parsing command line arguments and initializing
fields annotated with
@Option
or
@Parameters
,
String values can be converted to any type for which a
ITypeConverter
is registered.
Provides version information for a command.
Exception indicating that a required parameter was not specified.
The
ArgGroupSpec
class models a
group
of arguments (options, positional parameters or a mixture of the two).
Builder responsible for creating valid ArgGroupSpec
objects.
This class provides a case-aware Linked HashMap.
The CommandSpec
class models a command specification, including the options, positional parameters and subcommands
supported by the command, as well as attributes for the version help message and the usage help message of the command.
Internal interface to allow annotation processors to construct a command model at compile time.
Interface to allow extending the capabilities of other interface without Java 8 default methods.
Customizable getter for obtaining the current value of an option or positional parameter.
The scope of a getter/setter binding is the context where the current value should be gotten from or set to.
Customizable setter for modifying the value of an option or positional parameter.
Encapculates type information for an option or parameter to make this information available both at runtime
and at compile time (when Class
values are not available).
Utility class for getting resource bundle strings.
Command method parameter, similar to java.lang.reflect.Parameter (not available before Java 8).
The
OptionSpec
class models aspects of a
named option of a
command, including whether
it is required or optional, the option parameters supported (or required) by the option,
and attributes for the usage help message describing the option.
Builder responsible for creating valid OptionSpec
objects.
Models parser configuration specification.
The
PositionalParamSpec
class models aspects of a
positional parameter of a
command, including whether
it is required or optional, and attributes for the usage help message describing the positional parameter.
Builder responsible for creating valid PositionalParamSpec
objects.
This class allows applications to specify a custom binding that will be invoked for unmatched arguments.
Models the usage help message specification and can be used to customize the usage help message.
Annotate fields in your class with @Option
and picocli will initialize these fields when matching
arguments are specified on the command line.
Exception indicating something went wrong while parsing command line options.
Fields annotated with @Parameters
will be initialized with positional parameters.
Encapsulates the result of parsing an array of command line arguments.
Builds immutable ParseResult
instances.
A group's
multiplicity specifies how many matches of a group may
appear on the command line.
Base class of all exceptions thrown by picocli.CommandLine
.
Describes the number of parameters required and accepted by an option or a positional parameter.
A regular expression-based option name transformation for
negatable options.
Builder for creating RegexTransformer
objects.
Command line
execution strategy that prints help if requested, and otherwise executes the top-level command and
all subcommands as
Runnable
,
Callable
or
Method
.
Command line
execution strategy that prints help if requested, and otherwise executes the top-level
Runnable
or
Callable
command.
Command line
execution strategy that prints help if requested, and otherwise executes the most specific
Runnable
or
Callable
subcommand.
Specifies the scope of the element.
Fields annotated with @Spec
will be initialized with the CommandSpec
for the command the field is part of.
Identifies what kind of CommandSpec
should be injected.
Enumerates over the trace level values for filtering which internal debug statements should be printed.
Utility class for printing internal debug statements.
CommandLine.execute(String...)