10
UMLClass
370
70
190
160
lt=. bg=#99FF99 <<api>>
UMLClass
390
100
150
30
bg=white layer=3 lt=. /ITypeConverter/
UMLClass
390
180
150
30
bg=white layer=3 lt=. /IVersionProvider/
UMLClass
630
70
190
320
<<internal>> bg=light_gray BuiltIn group=3
UMLClass
640
110
170
30
bg=white layer=3 IntegerConverter group=3
UMLClass
640
150
170
30
bg=white layer=3 DoubleConverter group=3
UMLClass
640
190
170
30
bg=white layer=3 FileConverter group=3
UMLClass
640
230
170
30
bg=white layer=3 ISO8601DateConverter group=3
UMLClass
640
270
170
30
bg=white layer=3 BigDecimalConverter group=3
UMLClass
640
310
170
30
bg=white layer=3 PatternConverter group=3
UMLClass
640
350
170
30
lt=. bg=white layer=3 ... and many more group=3
Relation
530
110
130
30
lt=<<.
10.0;10.0;110.0;10.0
Relation
530
110
130
70
lt=<<.
10.0;10.0;60.0;10.0;60.0;50.0;110.0;50.0
Relation
530
110
130
110
lt=<<.
10.0;10.0;60.0;10.0;60.0;90.0;110.0;90.0
Relation
530
110
130
150
lt=<<.
10.0;10.0;60.0;10.0;60.0;130.0;110.0;130.0
Relation
530
110
130
190
lt=<<.
10.0;10.0;60.0;10.0;60.0;170.0;110.0;170.0
Relation
530
110
130
230
lt=<<.
10.0;10.0;60.0;10.0;60.0;210.0;110.0;210.0
UMLClass
400
250
130
40
bg=#EEEEEE <<internal>> NoVersionProvider
Relation
530
150
130
300
lt=<<.
10.0;10.0;40.0;10.0;40.0;280.0;110.0;280.0
UMLClass
390
310
140
290
<<internal>> bg=light_gray lt=. group=8
UMLClass
400
340
120
30
bg=white layer=3 Interpreter group=8
UMLClass
400
380
120
30
bg=white layer=3 LookBehind group=8
UMLClass
400
420
120
40
bg=white layer=3 PositionalPara- metersSorter group=8
UMLClass
400
470
120
30
bg=white layer=3 CosineSimilarity group=8
UMLClass
400
510
120
30
bg=white layer=3 Assert group=8
UMLClass
400
550
120
30
bg=white layer=3 Tracer group=8
UMLClass
20
0
850
750
<<facade>> CommandLine
UMLClass
70
70
230
470
bg=#99FF99 <<api>> group=9 lt=.
UMLClass
90
100
190
30
bg=white layer=3 lt=. /IParseResultHandler/

group=9
UMLClass
90
140
190
30
bg=white layer=3 lt=. /IParseResultHandler2/

group=9
UMLClass
90
180
190
30
bg=white layer=3 /AbstractHandler/

group=9
UMLClass
90
230
190
30
bg=white layer=3 /AbstractParseResultHandler/

group=9
Relation
170
200
30
50
lt=<<- group=9
10.0;10.0;10.0;30.0
Relation
270
140
70
120
lt=<<. group=9
10.0;10.0;50.0;10.0;50.0;100.0;10.0;100.0
UMLClass
140
270
70
30
bg=white layer=3 RunFirst

group=9
Relation
200
250
50
130
lt=<<- group=9
30.0;10.0;30.0;110.0;10.0;110.0
UMLClass
140
310
70
30
bg=white layer=3 RunAll

group=9
UMLClass
140
350
70
30
bg=white layer=3 RunLast

group=9
Relation
200
250
50
90
lt=<<- group=9
30.0;10.0;30.0;70.0;10.0;70.0
Relation
200
250
50
50
lt=<<- group=9
30.0;10.0;30.0;30.0;10.0;30.0
Relation
40
100
120
280
lt=<<. group=9
50.0;10.0;10.0;10.0;10.0;260.0;100.0;260.0
Relation
40
100
120
240
lt=<<. group=9
50.0;10.0;10.0;10.0;10.0;220.0;100.0;220.0
Relation
40
100
120
200
lt=<<. group=9
50.0;10.0;10.0;10.0;10.0;180.0;100.0;180.0
UMLClass
90
400
150
30
bg=white layer=3 lt=. /IExceptionHandler/ group=9
UMLClass
90
440
150
30
bg=white layer=3 lt=. /IExceptionHandler2/ group=9
UMLClass
90
490
190
30
bg=white layer=3 DefaultExceptionHandler group=9
Relation
230
400
60
110
lt=<<. group=9
10.0;10.0;40.0;10.0;40.0;90.0
Relation
230
440
60
70
lt=<<. group=9
10.0;10.0;40.0;10.0;40.0;50.0
Relation
270
180
60
340
lt=<<- group=9
10.0;10.0;40.0;10.0;40.0;320.0;10.0;320.0
UMLNote
740
10
110
40
picocli 3.6.0 2018-09-12 bg=#FFFF66
UMLClass
390
140
150
30
bg=white layer=3 lt=. /IDefaultValueProvider/
UMLClass
640
410
130
40
bg=#EEEEEE <<internal>> NoDefaultProvider
Relation
440
200
30
70
lt=<<.
10.0;10.0;10.0;50.0
UMLClass
630
580
190
30
bg=#99FF99 layer=3 ParseResult
UMLNote
70
10
230
40
Classes and interfaces used to parse command line arguments. bg=#FFFF66
UMLNote
50
570
300
160
"Convenience" API: use the CommandLine invoke, run or call methods 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 bg=#FFFF66
Relation
510
350
70
300
lt=.
10.0;10.0;50.0;280.0
Relation
170
530
50
60
lt=.
10.0;10.0;30.0;40.0
UMLNote
390
630
210
70
Internally, the Interpreter class is responsible for parsing the input. bg=#FFFF66
UMLNote
630
470
220
80
When options and positional parameters are matched, the input is converted to the ArgSpec type with a ITypeConverter.

bg=#FFFF66
Relation
790
380
50
110
lt=.
10.0;10.0;30.0;90.0
UMLNote
630
630
220
70
Use the ParseResult class to interrogate the parse results via the programmatic API.

bg=#FFFF66
Relation
730
600
40
50
lt=.
10.0;10.0;20.0;30.0