mirror of
https://github.com/jlengrand/picocli.git
synced 2026-03-10 08:41:17 +00:00
671 lines
14 KiB
XML
671 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<diagram program="umlet" version="14.3.0">
|
|
<zoom_level>10</zoom_level>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>30</x>
|
|
<y>70</y>
|
|
<w>170</w>
|
|
<h>320</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=.
|
|
bg=#99FF99
|
|
layer=2
|
|
<<annotations>>
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>100</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@Command/
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>140</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@Option/
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>180</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@Parameters/
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>220</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@ParentCommand/
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>260</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@Unmatched/
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>300</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@Mixin/
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>50</x>
|
|
<y>340</y>
|
|
<w>130</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
/@Spec/
|
|
|
|
|
|
group=1</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>570</x>
|
|
<y>510</y>
|
|
<w>190</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
lt=.
|
|
/IFactory/</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>360</x>
|
|
<y>500</y>
|
|
<w>130</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=#EEEEEE
|
|
<<internal>>
|
|
DefaultFactory</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>480</x>
|
|
<y>510</y>
|
|
<w>110</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>550</x>
|
|
<y>70</y>
|
|
<w>230</w>
|
|
<h>520</h>
|
|
</coordinates>
|
|
<panel_attributes><<api>>
|
|
bg=#99FF99
|
|
lt=.</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>570</x>
|
|
<y>550</y>
|
|
<w>190</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
Range</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<w>810</w>
|
|
<h>620</h>
|
|
</coordinates>
|
|
<panel_attributes><<facade>>
|
|
CommandLine</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>570</x>
|
|
<y>100</y>
|
|
<w>190</w>
|
|
<h>400</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
Model
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>130</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
CommandSpec
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>170</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
ArgSpec
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>230</y>
|
|
<w>60</w>
|
|
<h>60</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
Option
|
|
Spec
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>600</x>
|
|
<y>190</y>
|
|
<w>30</w>
|
|
<h>60</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;40.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>660</x>
|
|
<y>230</y>
|
|
<w>80</w>
|
|
<h>60</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
Positional
|
|
Param
|
|
Spec
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>690</x>
|
|
<y>190</y>
|
|
<w>30</w>
|
|
<h>60</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;40.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>300</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
UsageMessageSpec
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>340</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
ParserSpec
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>380</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
UnmatchedArgsBinding
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>420</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
lt=.
|
|
/IGetter/
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>580</x>
|
|
<y>460</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=4
|
|
lt=.
|
|
/ISetter/
|
|
group=3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>280</x>
|
|
<y>70</y>
|
|
<w>180</w>
|
|
<h>260</h>
|
|
</coordinates>
|
|
<panel_attributes><<internal>>
|
|
Model
|
|
bg=light_gray
|
|
group=2</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>290</x>
|
|
<y>200</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
FieldBinding
|
|
group=2</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>290</x>
|
|
<y>240</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
MethodBinding
|
|
group=2</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>290</x>
|
|
<y>280</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
ObjectBinding
|
|
group=2</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>290</x>
|
|
<y>120</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
CommandReflection
|
|
group=2</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>290</x>
|
|
<y>160</y>
|
|
<w>160</w>
|
|
<h>30</h>
|
|
</coordinates>
|
|
<panel_attributes>bg=white
|
|
layer=3
|
|
ArgsReflection
|
|
group=2</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>670</x>
|
|
<y>10</y>
|
|
<w>110</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>picocli 3.6.0
|
|
2018-09-12
|
|
bg=#FFFF66</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>440</x>
|
|
<y>200</y>
|
|
<w>160</w>
|
|
<h>250</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>140.0;230.0;50.0;230.0;50.0;10.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>440</x>
|
|
<y>240</y>
|
|
<w>160</w>
|
|
<h>210</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>140.0;190.0;50.0;190.0;50.0;10.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>440</x>
|
|
<y>280</y>
|
|
<w>160</w>
|
|
<h>170</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>140.0;150.0;50.0;150.0;50.0;10.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>240</x>
|
|
<y>200</y>
|
|
<w>360</w>
|
|
<h>290</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>340.0;270.0;10.0;270.0;10.0;10.0;50.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>240</x>
|
|
<y>240</y>
|
|
<w>360</w>
|
|
<h>250</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>340.0;230.0;10.0;230.0;10.0;10.0;50.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>240</x>
|
|
<y>280</y>
|
|
<w>360</w>
|
|
<h>210</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<.</panel_attributes>
|
|
<additional_attributes>340.0;190.0;10.0;190.0;10.0;10.0;50.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>190</x>
|
|
<y>110</y>
|
|
<w>120</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
<<read>></panel_attributes>
|
|
<additional_attributes>10.0;20.0;100.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>190</x>
|
|
<y>150</y>
|
|
<w>120</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
<<read>></panel_attributes>
|
|
<additional_attributes>10.0;20.0;100.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>440</x>
|
|
<y>120</y>
|
|
<w>160</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
<<build>></panel_attributes>
|
|
<additional_attributes>140.0;20.0;10.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>440</x>
|
|
<y>160</y>
|
|
<w>160</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
<<build>></panel_attributes>
|
|
<additional_attributes>140.0;20.0;10.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>20</x>
|
|
<y>430</y>
|
|
<w>220</w>
|
|
<h>80</h>
|
|
</coordinates>
|
|
<panel_attributes>The model may be constructed
|
|
automatically from annotations,
|
|
or programmatically, or via a
|
|
mixture of both.
|
|
bg=#FFFF66</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>30</x>
|
|
<y>10</y>
|
|
<w>230</w>
|
|
<h>40</h>
|
|
</coordinates>
|
|
<panel_attributes>Classes and interfaces used
|
|
to define a CommandSpec model.
|
|
bg=#FFFF66</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>260</x>
|
|
<y>350</y>
|
|
<w>220</w>
|
|
<h>100</h>
|
|
</coordinates>
|
|
<panel_attributes>ArgSpec model objects have
|
|
customizable IGetter and ISetter
|
|
to control what happens when an
|
|
option or positional parameter is
|
|
matched on the command line.
|
|
bg=#FFFF66</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>470</x>
|
|
<y>180</y>
|
|
<w>130</w>
|
|
<h>210</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=.</panel_attributes>
|
|
<additional_attributes>10.0;190.0;110.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>120</x>
|
|
<y>380</y>
|
|
<w>60</w>
|
|
<h>70</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=.</panel_attributes>
|
|
<additional_attributes>10.0;50.0;40.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>270</x>
|
|
<y>550</y>
|
|
<w>220</w>
|
|
<h>50</h>
|
|
</coordinates>
|
|
<panel_attributes>IFactory allows integration with
|
|
Dependency Injection containers.
|
|
bg=#FFFF66</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>480</x>
|
|
<y>520</y>
|
|
<w>110</w>
|
|
<h>70</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=.</panel_attributes>
|
|
<additional_attributes>10.0;50.0;90.0;10.0</additional_attributes>
|
|
</element>
|
|
</diagram>
|