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