10
UMLClass
20
70
170
350
lt=. bg=#99FF99 layer=2 <<annotations>>

group=1
UMLClass
40
100
130
30
bg=white layer=3 /@Command/

group=1
UMLClass
40
140
130
30
bg=white layer=3 /@Option/

group=1
UMLClass
40
180
130
30
bg=white layer=3 /@Parameters/

group=1
UMLClass
40
260
130
30
bg=white layer=3 /@ParentCommand/

group=1
UMLClass
40
300
130
30
bg=white layer=3 /@Unmatched/

group=1
UMLClass
40
340
130
30
bg=white layer=3 /@Mixin/

group=1
UMLClass
40
380
130
30
bg=white layer=3 /@Spec/

group=1
UMLClass
560
790
190
30
bg=white layer=3 lt=. /IFactory/
UMLClass
350
740
130
40
bg=#EEEEEE <<internal>> DefaultFactory
Relation
470
760
110
60
lt=<<.
90.0;40.0;10.0;10.0
UMLClass
540
70
230
800
<<api>> bg=#99FF99 lt=.
UMLClass
560
830
190
30
bg=white layer=3 Range
UMLClass
0
0
810
880
<<facade>> CommandLine
UMLClass
550
100
200
680
bg=white layer=3 Model
UMLClass
570
130
160
30
bg=white layer=4 CommandSpec
UMLClass
570
170
160
30
bg=white layer=4 ArgSpec
UMLClass
570
230
60
60
bg=white layer=4 Option Spec
Relation
590
190
30
60
lt=<<-
10.0;10.0;10.0;40.0
UMLClass
650
230
80
60
bg=white layer=4 Positional Param Spec
Relation
670
190
30
60
lt=<<-
10.0;10.0;10.0;40.0
UMLClass
570
340
160
30
bg=white layer=4 UsageMessageSpec
UMLClass
570
380
160
30
bg=white layer=4 ParserSpec
UMLClass
570
420
160
30
bg=white layer=4 lt=. /IGetter/
UMLClass
570
460
160
30
bg=white layer=4 lt=. /ISetter/
UMLClass
270
70
180
520
<<internal>> Model bg=light_gray
UMLClass
280
340
160
30
bg=white layer=3 FieldBinding
UMLClass
280
380
160
30
bg=white layer=3 MethodBinding
UMLClass
280
420
160
30
bg=white layer=3 ObjectBinding
UMLClass
280
120
160
30
bg=white layer=3 CommandReflection
UMLNote
660
10
110
40
picocli 4.0 2019-07-17 bg=#FFFF66
Relation
430
340
160
110
lt=<<.
140.0;90.0;50.0;90.0;50.0;10.0;10.0;10.0
Relation
430
380
160
70
lt=<<.
140.0;50.0;50.0;50.0;50.0;10.0;10.0;10.0
Relation
430
420
160
30
lt=<<.
140.0;10.0;10.0;10.0
Relation
230
340
360
150
lt=<<.
340.0;130.0;10.0;130.0;10.0;10.0;50.0;10.0
Relation
230
380
360
110
lt=<<.
340.0;90.0;10.0;90.0;10.0;10.0;50.0;10.0
Relation
230
420
360
70
lt=<<.
340.0;50.0;10.0;50.0;10.0;10.0;50.0;10.0
Relation
180
120
120
40
lt=<- <<read>>
10.0;20.0;100.0;20.0
Relation
430
120
160
40
lt=<- <<build>>
140.0;20.0;10.0;20.0
UMLNote
20
490
220
80
The model may be constructed automatically from annotations, or programmatically, or via a mixture of both. bg=#FFFF66
UMLNote
20
10
230
40
Classes and interfaces used to define a CommandSpec model. bg=#FFFF66
UMLNote
280
200
220
110
ArgSpec model objects have customizable IGetter, ISetter and IScope to control what happens when an option or positional parameter is matched on the command line. bg=#FFFF9F layer=20 transparency=0
Relation
490
180
70
60
lt=.
10.0;40.0;50.0;10.0
Relation
120
410
50
100
lt=.
10.0;80.0;30.0;10.0
UMLNote
260
680
220
50
IFactory allows integration with Dependency Injection containers. bg=#FFFF66
Relation
470
690
110
120
lt=.
10.0;10.0;90.0;100.0
UMLClass
570
300
160
30
bg=white layer=4 ArgGroupSpec
UMLClass
40
220
130
30
bg=white layer=3 /@ArgGroup/

group=1
UMLClass
570
620
160
30
bg=white layer=4 lt=. /IAnnotatedElement/
UMLClass
570
540
160
30
bg=white layer=4 lt=. /ITypeInfo/
UMLClass
570
580
160
30
bg=white layer=4 Messages
UMLClass
570
500
160
30
bg=white layer=4 lt=. /IScope/
UMLClass
330
790
150
50
bg=#99FF99 <<spring-boot-starter>> PicocliSpringFactory
Relation
470
800
110
30
lt=<<.
90.0;10.0;10.0;10.0
UMLClass
570
660
160
30
bg=white lt=. /IOrdered/ layer=4
UMLClass
570
700
160
30
bg=white MethodParam layer=4
UMLClass
570
740
160
30
bg=white UnmatchedArgsBinding layer=4
UMLClass
280
500
160
30
bg=white layer=3 ObjectScope
UMLClass
280
540
160
30
bg=white layer=3 RuntimeTypeInfo
Relation
430
500
160
30
lt=<<.
140.0;10.0;10.0;10.0
Relation
430
540
160
30
lt=<<.
140.0;10.0;10.0;10.0