10
UMLClass
330
90
220
310
lt=.
bg=#99FF99
<<api>>
UMLClass
340
200
200
30
bg=white
layer=3
lt=.
/ITypeConverter/
UMLClass
340
160
200
30
bg=white
layer=3
lt=.
/IVersionProvider/
UMLClass
630
90
220
360
<<internal>>
bg=light_gray
UMLClass
660
230
170
30
bg=white
layer=4
IntegerConverter
group=11
UMLClass
660
270
170
30
bg=white
layer=4
DoubleConverter
group=11
UMLClass
660
310
170
30
bg=white
layer=4
FileConverter
group=11
UMLClass
660
350
170
30
bg=white
layer=4
ISO8601DateConverter
group=11
UMLClass
660
390
170
30
lt=.
bg=white
layer=4
... and many more
group=11
Relation
530
200
150
60
lt=<<.
10.0;10.0;80.0;10.0;80.0;40.0;130.0;40.0
Relation
530
200
150
100
lt=<<.
10.0;10.0;80.0;10.0;80.0;80.0;130.0;80.0
Relation
530
200
150
140
lt=<<.
10.0;10.0;80.0;10.0;80.0;120.0;130.0;120.0
Relation
530
200
150
180
lt=<<.
10.0;10.0;80.0;10.0;80.0;160.0;130.0;160.0
UMLClass
650
160
140
30
bg=white
layer=3
NoVersionProvider
Relation
530
120
140
30
lt=<<.
10.0;10.0;120.0;10.0
UMLClass
390
510
140
240
<<internal>>
bg=light_gray
lt=.
group=10
UMLClass
400
540
120
30
bg=white
layer=3
Interpreter
group=10
UMLClass
400
580
120
30
bg=white
layer=3
LookBehind
group=10
UMLClass
400
620
120
40
bg=white
layer=3
PositionalPara-
metersSorter
group=10
UMLClass
400
670
120
30
bg=white
layer=3
Assert
group=10
UMLClass
400
710
120
30
bg=white
layer=3
Tracer
group=10
UMLClass
20
0
850
780
<<facade>>
CommandLine
UMLClass
70
90
230
420
bg=#99FF99
<<api>>
lt=.
group=9
UMLClass
90
120
200
30
bg=white
layer=3
lt=.
/IExecutionStrategy/
group=9
UMLClass
140
170
70
30
bg=white
layer=3
RunFirst
group=9
UMLClass
140
210
70
30
bg=white
layer=3
RunAll
group=9
UMLClass
140
250
70
30
bg=white
layer=3
RunLast
group=9
Relation
100
140
60
140
lt=<<.
group=9
10.0;10.0;10.0;120.0;40.0;120.0
Relation
100
140
60
100
lt=<<.
group=9
10.0;10.0;10.0;80.0;40.0;80.0
Relation
100
140
60
60
lt=<<.
group=9
10.0;10.0;10.0;40.0;40.0;40.0
UMLClass
90
300
200
30
bg=white
layer=3
lt=.
/IParameterExceptionHandler/
group=9
UMLClass
90
340
200
30
bg=white
layer=3
lt=.
/IExecutionExceptionHandler/
group=9
UMLNote
740
10
110
40
picocli 4.0
2019-07-15
bg=#FFFF66
UMLClass
340
120
200
30
bg=white
layer=3
lt=.
/IDefaultValueProvider/
UMLClass
650
120
140
30
bg=white
layer=3
NoDefaultProvider
Relation
530
160
140
30
lt=<<.
10.0;10.0;120.0;10.0
UMLClass
390
460
140
30
bg=#99FF99
layer=3
ParseResult
UMLNote
70
10
230
60
Classes and interfaces used
to parse command line arguments
and execute commands.
bg=#FFFF66
UMLNote
50
570
310
180
Use the CommandLine `execute` method
with @Command methods or @Command
classes implementing Runnable or Callable
to do all of the below with one line of code:
* parse user input
* handle invalid arguments
* handle requests for help or version info
* invoke the business logic
* get an exit code
bg=#FFFF66
Relation
510
540
140
190
lt=.
10.0;10.0;120.0;170.0
Relation
170
500
50
90
lt=.
10.0;10.0;30.0;70.0
UMLNote
630
690
220
60
Internally, the Interpreter
class is responsible for parsing
the input.
bg=#FFFF66
UMLNote
630
460
220
80
When options and positional
parameters are matched, the
input is converted to the ArgSpec
type with a ITypeConverter.
bg=#FFFF66
Relation
710
420
50
60
lt=.
10.0;10.0;30.0;40.0
UMLNote
630
620
220
60
Use the ParseResult class to
interrogate the parse results
via the programmatic API.
bg=#FFFF66
Relation
520
470
130
190
lt=.
10.0;10.0;110.0;170.0
UMLClass
90
380
200
30
bg=white
layer=3
lt=.
/IExitCodeGenerator/
group=9
UMLClass
90
420
200
30
bg=white
layer=3
lt=.
/IExitCodeExceptionMapper/
group=9
UMLClass
90
460
200
40
bg=white
layer=3
<<constants>>
ExitCode
group=9
UMLClass
650
200
190
230
bg=white
layer=3
Built In Type Converters
group=11
UMLClass
340
250
200
30
bg=white
layer=3
lt=.
/INegatableOptionTransformer/
UMLClass
390
300
150
30
bg=white
layer=3
RegexTransformer
Relation
350
270
60
60
lt=<<.
10.0;10.0;10.0;40.0;40.0;40.0
UMLClass
340
350
200
30
bg=white
layer=3
lt=.
/IParameterConsumer/
Relation
350
370
120
200
lt=<.
<<delegates to>>
10.0;10.0;10.0;180.0;50.0;180.0
UMLNote
630
550
220
60
Applications may optionally take
responsibility for consuming
parameters.
bg=#FFFF66
Relation
450
410
200
180
lt=.
10.0;10.0;90.0;10.0;180.0;160.0