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