Updates
This commit is contained in:
@@ -1,438 +1,462 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1570pt" height="1510pt" viewBox="0.00 0.00 1569.81 1510.00">
|
||||
<g id="graph0" class="graph" transform="translate(4,1506) scale(1)" data-name="InventoryManagementSystem">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2005pt" height="1413pt" viewBox="0.00 0.00 2005.20 1413.20">
|
||||
<g id="graph0" class="graph" transform="translate(-190.69420915524893,1522.1968719923593) scale(1.1486983549970349)" data-name="InventoryMClassDiagram">
|
||||
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-1506 1565.81,-1506 1565.81,4 -4,4" style=""/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-1409.2 2001.2,-1409.2 2001.2,4 -4,4" style=""/>
|
||||
<!-- InventoryPiece -->
|
||||
<g id="node1" class="node" pointer-events="visible" data-name="InventoryPiece">
|
||||
|
||||
<polygon fill="lightblue" stroke="black" points="233.94,-84.3 233.94,-384.3 409.73,-384.3 409.73,-84.3 233.94,-84.3" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-371.3" font-family="Arial" font-size="10.00" style="">InventoryPiece</text>
|
||||
<text text-anchor="middle" x="321.83" y="-359.3" font-family="Arial" font-size="10.00" style="">(abstract)</text>
|
||||
<polyline fill="none" stroke="black" points="233.94,-352.3 409.73,-352.3" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-339.3" font-family="Arial" font-size="10.00" style="">+ id: String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-327.3" font-family="Arial" font-size="10.00" style="">+ price: float</text>
|
||||
<text text-anchor="middle" x="321.83" y="-315.3" font-family="Arial" font-size="10.00" style="">+ created: ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="321.83" y="-303.3" font-family="Arial" font-size="10.00" style="">+ title: String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-291.3" font-family="Arial" font-size="10.00" style="">+ description: String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-279.3" font-family="Arial" font-size="10.00" style="">+ Author: String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-267.3" font-family="Arial" font-size="10.00" style="">- iventoryType: InventoryType</text>
|
||||
<polyline fill="none" stroke="black" points="233.94,-260.3 409.73,-260.3" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-247.3" font-family="Arial" font-size="10.00" style="">+ getId(): String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-235.3" font-family="Arial" font-size="10.00" style="">+ setId(String): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-223.3" font-family="Arial" font-size="10.00" style="">+ getPrice(): float</text>
|
||||
<text text-anchor="middle" x="321.83" y="-211.3" font-family="Arial" font-size="10.00" style="">+ setPrice(float): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-199.3" font-family="Arial" font-size="10.00" style="">+ getCreated(): ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="321.83" y="-187.3" font-family="Arial" font-size="10.00" style="">+ setCreated(ZonedDateTime): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-175.3" font-family="Arial" font-size="10.00" style="">+ getTitle(): String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-163.3" font-family="Arial" font-size="10.00" style="">+ setTitle(String): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-151.3" font-family="Arial" font-size="10.00" style="">+ getDescription(): String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-139.3" font-family="Arial" font-size="10.00" style="">+ setDescription(String): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-127.3" font-family="Arial" font-size="10.00" style="">+ getAuthor(): String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-115.3" font-family="Arial" font-size="10.00" style="">+ setAuthor(String): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-103.3" font-family="Arial" font-size="10.00" style="">+ isArt(InventoryPiece): Boolean</text>
|
||||
<text text-anchor="middle" x="321.83" y="-91.3" font-family="Arial" font-size="10.00" style="">+ getType(): String</text>
|
||||
<polygon fill="lightyellow" stroke="black" points="1173.38,-229.5 1173.38,-421.5 1343.81,-421.5 1343.81,-229.5 1173.38,-229.5" style=""/>
|
||||
<text text-anchor="middle" x="1258.59" y="-404.9" font-family="Times,serif" font-size="14.00" style="">InventoryPiece</text>
|
||||
<text text-anchor="middle" x="1258.59" y="-388.1" font-family="Times,serif" font-size="14.00" style="">«abstract»</text>
|
||||
<polyline fill="none" stroke="black" points="1173.38,-379.9 1343.81,-379.9" style=""/>
|
||||
<text text-anchor="start" x="1181.38" y="-363.3" font-family="Times,serif" font-size="14.00" style="">+ id : String</text>
|
||||
<text text-anchor="start" x="1181.38" y="-346.5" font-family="Times,serif" font-size="14.00" style="">+ price : float</text>
|
||||
<text text-anchor="start" x="1181.38" y="-329.7" font-family="Times,serif" font-size="14.00" style="">+ created : ZonedDateTime</text>
|
||||
<text text-anchor="start" x="1181.38" y="-312.9" font-family="Times,serif" font-size="14.00" style="">+ title : String</text>
|
||||
<text text-anchor="start" x="1181.38" y="-296.1" font-family="Times,serif" font-size="14.00" style="">+ description : String</text>
|
||||
<text text-anchor="start" x="1181.38" y="-279.3" font-family="Times,serif" font-size="14.00" style="">+ Author : String</text>
|
||||
<polyline fill="none" stroke="black" points="1173.38,-271.1 1343.81,-271.1" style=""/>
|
||||
<text text-anchor="start" x="1181.38" y="-254.5" font-family="Times,serif" font-size="14.00" style="">+ getType() : String</text>
|
||||
<text text-anchor="start" x="1181.38" y="-237.7" font-family="Times,serif" font-size="14.00" style="">+ computePrice() : float</text>
|
||||
</g>
|
||||
<!-- InventoryType -->
|
||||
<g id="node6" class="node" pointer-events="visible" data-name="InventoryType">
|
||||
<!-- DataRepository -->
|
||||
<g id="node15" class="node" pointer-events="visible" data-name="DataRepository">
|
||||
|
||||
<polygon fill="lightyellow" stroke="black" points="282.15,-0.5 282.15,-36.5 361.52,-36.5 361.52,-0.5 282.15,-0.5" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-15.5" font-family="Arial" font-size="10.00" style="">InventoryType</text>
|
||||
<polygon fill="lightblue" stroke="black" points="667.47,-0.5 667.47,-175.7 901.71,-175.7 901.71,-0.5 667.47,-0.5" style=""/>
|
||||
<text text-anchor="middle" x="784.59" y="-159.1" font-family="Times,serif" font-size="14.00" style="">DataRepository</text>
|
||||
<polyline fill="none" stroke="black" points="667.47,-150.9 901.71,-150.9" style=""/>
|
||||
<text text-anchor="start" x="675.47" y="-134.3" font-family="Times,serif" font-size="14.00" style="">- INSTANCE : DataRepository</text>
|
||||
<polyline fill="none" stroke="black" points="667.47,-126.1 901.71,-126.1" style=""/>
|
||||
<text text-anchor="start" x="675.47" y="-109.5" font-family="Times,serif" font-size="14.00" style="">+ getInstance() : DataRepository</text>
|
||||
<text text-anchor="start" x="675.47" y="-92.7" font-family="Times,serif" font-size="14.00" style="">+ generateRandomID(int) : String</text>
|
||||
<text text-anchor="start" x="675.47" y="-75.9" font-family="Times,serif" font-size="14.00" style="">+ generateRandom10DigitID() : String</text>
|
||||
<text text-anchor="start" x="675.47" y="-59.1" font-family="Times,serif" font-size="14.00" style="">+ write(InventoryManager) : void</text>
|
||||
<text text-anchor="start" x="675.47" y="-42.3" font-family="Times,serif" font-size="14.00" style="">+ write(CustomerManager) : void</text>
|
||||
<text text-anchor="start" x="675.47" y="-25.5" font-family="Times,serif" font-size="14.00" style="">+ write(TransactionManager) : void</text>
|
||||
<text text-anchor="start" x="675.47" y="-8.7" font-family="Times,serif" font-size="14.00" style="">+ WalkFileSystemTree(...) : void</text>
|
||||
</g>
|
||||
<!-- InventoryPiece->InventoryType -->
|
||||
<g id="edge5" class="edge" data-name="InventoryPiece->InventoryType">
|
||||
<!-- InventoryPiece->DataRepository -->
|
||||
<g id="edge26" class="edge" data-name="InventoryPiece->DataRepository">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M321.83,-84.52C321.83,-70.14 321.83,-56.97 321.83,-46.29" style=""/>
|
||||
<polygon fill="black" stroke="black" points="321.83,-36.5 326.33,-46.5 321.83,-41.5 321.83,-46.5 321.83,-46.5 321.83,-46.5 321.83,-41.5 317.33,-46.5 321.83,-36.5 321.83,-36.5" style=""/>
|
||||
<text text-anchor="middle" x="331.34" y="-57.7" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1173.65,-254.56C1145.21,-233.31 1112.58,-211.12 1080.59,-194.2 1027.16,-165.94 964.51,-142.45 910.64,-124.89" style=""/>
|
||||
<polygon fill="black" stroke="black" points="901.38,-121.91 912.28,-120.7 906.14,-123.44 910.9,-124.98 910.9,-124.98 910.9,-124.98 906.14,-123.44 909.52,-129.26 901.38,-121.91 901.38,-121.91" style=""/>
|
||||
<text text-anchor="middle" x="1119.65" y="-198.4" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- Drawing -->
|
||||
<g id="node2" class="node" pointer-events="visible" data-name="Drawing">
|
||||
|
||||
<polygon fill="lightgreen" stroke="black" points="0,-510.1 0,-594.1 99.67,-594.1 99.67,-510.1 0,-510.1" style=""/>
|
||||
<text text-anchor="middle" x="49.83" y="-581.1" font-family="Arial" font-size="10.00" style="">Drawing</text>
|
||||
<polyline fill="none" stroke="black" points="0,-574.1 99.67,-574.1" style=""/>
|
||||
<text text-anchor="middle" x="49.83" y="-561.1" font-family="Arial" font-size="10.00" style="">+ style: String</text>
|
||||
<text text-anchor="middle" x="49.83" y="-549.1" font-family="Arial" font-size="10.00" style="">+ technique: String</text>
|
||||
<text text-anchor="middle" x="49.83" y="-537.1" font-family="Arial" font-size="10.00" style="">+ category: String</text>
|
||||
<polyline fill="none" stroke="black" points="0,-530.1 99.67,-530.1" style=""/>
|
||||
<text text-anchor="middle" x="49.83" y="-517.1" font-family="Arial" font-size="10.00" style="">+ Drawing()</text>
|
||||
<polygon fill="lightblue" stroke="black" points="1094.47,-525.7 1094.47,-633.7 1244.71,-633.7 1244.71,-525.7 1094.47,-525.7" style=""/>
|
||||
<text text-anchor="middle" x="1169.59" y="-617.1" font-family="Times,serif" font-size="14.00" style="">Drawing</text>
|
||||
<polyline fill="none" stroke="black" points="1094.47,-608.9 1244.71,-608.9" style=""/>
|
||||
<text text-anchor="start" x="1102.47" y="-592.3" font-family="Times,serif" font-size="14.00" style="">+ style : String</text>
|
||||
<text text-anchor="start" x="1102.47" y="-575.5" font-family="Times,serif" font-size="14.00" style="">+ technique : String</text>
|
||||
<text text-anchor="start" x="1102.47" y="-558.7" font-family="Times,serif" font-size="14.00" style="">+ category : String</text>
|
||||
<polyline fill="none" stroke="black" points="1094.47,-550.5 1244.71,-550.5" style=""/>
|
||||
<text text-anchor="start" x="1102.47" y="-533.9" font-family="Times,serif" font-size="14.00" style="">+ computePrice() : float</text>
|
||||
</g>
|
||||
<!-- Drawing->InventoryPiece -->
|
||||
<g id="edge1" class="edge" data-name="Drawing->InventoryPiece">
|
||||
|
||||
<path fill="none" stroke="black" d="M65.55,-510.25C75.88,-486.12 90.81,-455.68 108.83,-431.6 142.09,-387.15 186.28,-344.53 225.78,-310.43" style=""/>
|
||||
<polygon fill="none" stroke="black" points="227.66,-313.43 232.98,-304.27 223.11,-308.11 227.66,-313.43" style=""/>
|
||||
<text text-anchor="middle" x="144.59" y="-405.5" font-family="Arial" font-size="9.00" style="">extends</text>
|
||||
<path fill="none" stroke="black" d="M1188.25,-525.83C1197.89,-498.53 1209.99,-464.21 1221.44,-431.78" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1224.59,-433.36 1224.62,-422.76 1217.99,-431.03 1224.59,-433.36" style=""/>
|
||||
<text text-anchor="middle" x="1238.97" y="-444.2" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- Painting -->
|
||||
<g id="node3" class="node" pointer-events="visible" data-name="Painting">
|
||||
|
||||
<polygon fill="lightgreen" stroke="black" points="118,-498.1 118,-606.1 217.67,-606.1 217.67,-498.1 118,-498.1" style=""/>
|
||||
<text text-anchor="middle" x="167.83" y="-593.1" font-family="Arial" font-size="10.00" style="">Painting</text>
|
||||
<polyline fill="none" stroke="black" points="118,-586.1 217.67,-586.1" style=""/>
|
||||
<text text-anchor="middle" x="167.83" y="-573.1" font-family="Arial" font-size="10.00" style="">+ height: int</text>
|
||||
<text text-anchor="middle" x="167.83" y="-561.1" font-family="Arial" font-size="10.00" style="">+ width: int</text>
|
||||
<text text-anchor="middle" x="167.83" y="-549.1" font-family="Arial" font-size="10.00" style="">+ style: String</text>
|
||||
<text text-anchor="middle" x="167.83" y="-537.1" font-family="Arial" font-size="10.00" style="">+ technique: String</text>
|
||||
<text text-anchor="middle" x="167.83" y="-525.1" font-family="Arial" font-size="10.00" style="">+ category: String</text>
|
||||
<polyline fill="none" stroke="black" points="118,-518.1 217.67,-518.1" style=""/>
|
||||
<text text-anchor="middle" x="167.83" y="-505.1" font-family="Arial" font-size="10.00" style="">+ Painting()</text>
|
||||
<polygon fill="lightblue" stroke="black" points="1262.47,-508.9 1262.47,-650.5 1412.71,-650.5 1412.71,-508.9 1262.47,-508.9" style=""/>
|
||||
<text text-anchor="middle" x="1337.59" y="-633.9" font-family="Times,serif" font-size="14.00" style="">Painting</text>
|
||||
<polyline fill="none" stroke="black" points="1262.47,-625.7 1412.71,-625.7" style=""/>
|
||||
<text text-anchor="start" x="1270.47" y="-609.1" font-family="Times,serif" font-size="14.00" style="">- height : int</text>
|
||||
<text text-anchor="start" x="1270.47" y="-592.3" font-family="Times,serif" font-size="14.00" style="">- width : int</text>
|
||||
<text text-anchor="start" x="1270.47" y="-575.5" font-family="Times,serif" font-size="14.00" style="">- style : String</text>
|
||||
<text text-anchor="start" x="1270.47" y="-558.7" font-family="Times,serif" font-size="14.00" style="">- technique : String</text>
|
||||
<text text-anchor="start" x="1270.47" y="-541.9" font-family="Times,serif" font-size="14.00" style="">- category : String</text>
|
||||
<polyline fill="none" stroke="black" points="1262.47,-533.7 1412.71,-533.7" style=""/>
|
||||
<text text-anchor="start" x="1270.47" y="-517.1" font-family="Times,serif" font-size="14.00" style="">+ computePrice() : float</text>
|
||||
</g>
|
||||
<!-- Painting->InventoryPiece -->
|
||||
<g id="edge2" class="edge" data-name="Painting->InventoryPiece">
|
||||
|
||||
<path fill="none" stroke="black" d="M193.61,-498.24C207.72,-469.31 226.03,-431.77 244.37,-394.15" style=""/>
|
||||
<polygon fill="none" stroke="black" points="247.38,-395.95 248.62,-385.43 241.09,-392.89 247.38,-395.95" style=""/>
|
||||
<text text-anchor="middle" x="251.59" y="-405.5" font-family="Arial" font-size="9.00" style="">extends</text>
|
||||
<path fill="none" stroke="black" d="M1315.8,-509.12C1308.33,-485.28 1299.8,-458.05 1291.65,-432.02" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1295.08,-431.28 1288.75,-422.79 1288.4,-433.38 1295.08,-431.28" style=""/>
|
||||
<text text-anchor="middle" x="1319.97" y="-444.2" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- Print -->
|
||||
<g id="node4" class="node" pointer-events="visible" data-name="Print">
|
||||
|
||||
<polygon fill="lightgreen" stroke="black" points="235.88,-486.1 235.88,-618.1 407.79,-618.1 407.79,-486.1 235.88,-486.1" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-605.1" font-family="Arial" font-size="10.00" style="">Print</text>
|
||||
<polyline fill="none" stroke="black" points="235.88,-598.1 407.79,-598.1" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-585.1" font-family="Arial" font-size="10.00" style="">+ openEditionType: String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-573.1" font-family="Arial" font-size="10.00" style="">+ category: String</text>
|
||||
<polyline fill="none" stroke="black" points="235.88,-566.1 407.79,-566.1" style=""/>
|
||||
<text text-anchor="middle" x="321.83" y="-553.1" font-family="Arial" font-size="10.00" style="">+ Print()</text>
|
||||
<text text-anchor="middle" x="321.83" y="-541.1" font-family="Arial" font-size="10.00" style="">+ Print(String, String)</text>
|
||||
<text text-anchor="middle" x="321.83" y="-529.1" font-family="Arial" font-size="10.00" style="">+ getOpenEditionType(): String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-517.1" font-family="Arial" font-size="10.00" style="">+ setOpenEditionType(String): void</text>
|
||||
<text text-anchor="middle" x="321.83" y="-505.1" font-family="Arial" font-size="10.00" style="">+ getCategory(): String</text>
|
||||
<text text-anchor="middle" x="321.83" y="-493.1" font-family="Arial" font-size="10.00" style="">+ setCategory(String): void</text>
|
||||
<polygon fill="lightblue" stroke="black" points="1430.35,-534.1 1430.35,-625.3 1596.83,-625.3 1596.83,-534.1 1430.35,-534.1" style=""/>
|
||||
<text text-anchor="middle" x="1513.59" y="-608.7" font-family="Times,serif" font-size="14.00" style="">Print</text>
|
||||
<polyline fill="none" stroke="black" points="1430.35,-600.5 1596.83,-600.5" style=""/>
|
||||
<text text-anchor="start" x="1438.35" y="-583.9" font-family="Times,serif" font-size="14.00" style="">- openEditionType : String</text>
|
||||
<text text-anchor="start" x="1438.35" y="-567.1" font-family="Times,serif" font-size="14.00" style="">- category : String</text>
|
||||
<polyline fill="none" stroke="black" points="1430.35,-558.9 1596.83,-558.9" style=""/>
|
||||
<text text-anchor="start" x="1438.35" y="-542.3" font-family="Times,serif" font-size="14.00" style="">+ computePrice() : float</text>
|
||||
</g>
|
||||
<!-- Print->InventoryPiece -->
|
||||
<g id="edge3" class="edge" data-name="Print->InventoryPiece">
|
||||
|
||||
<path fill="none" stroke="black" d="M321.83,-486.43C321.83,-459.88 321.83,-427.84 321.83,-395.67" style=""/>
|
||||
<polygon fill="none" stroke="black" points="325.33,-395.81 321.83,-385.81 318.33,-395.81 325.33,-395.81" style=""/>
|
||||
<text text-anchor="middle" x="337.59" y="-405.5" font-family="Arial" font-size="9.00" style="">extends</text>
|
||||
<path fill="none" stroke="black" d="M1476.12,-534.27C1459.81,-515.5 1440.21,-493.67 1421.59,-474.8 1399.7,-452.61 1375.22,-429.51 1352.03,-408.35" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1354.43,-405.79 1344.67,-401.66 1349.72,-410.97 1354.43,-405.79" style=""/>
|
||||
<text text-anchor="middle" x="1421.97" y="-444.2" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- Sculpture -->
|
||||
<g id="node5" class="node" pointer-events="visible" data-name="Sculpture">
|
||||
|
||||
<polygon fill="lightgreen" stroke="black" points="425.9,-516.1 425.9,-588.1 517.77,-588.1 517.77,-516.1 425.9,-516.1" style=""/>
|
||||
<text text-anchor="middle" x="471.83" y="-575.1" font-family="Arial" font-size="10.00" style="">Sculpture</text>
|
||||
<polyline fill="none" stroke="black" points="425.9,-568.1 517.77,-568.1" style=""/>
|
||||
<text text-anchor="middle" x="471.83" y="-555.1" font-family="Arial" font-size="10.00" style="">+ material: String</text>
|
||||
<text text-anchor="middle" x="471.83" y="-543.1" font-family="Arial" font-size="10.00" style="">+ weight: float</text>
|
||||
<polyline fill="none" stroke="black" points="425.9,-536.1 517.77,-536.1" style=""/>
|
||||
<text text-anchor="middle" x="471.83" y="-523.1" font-family="Arial" font-size="10.00" style="">+ Sculpture()</text>
|
||||
<polygon fill="lightblue" stroke="black" points="1614.47,-534.1 1614.47,-625.3 1764.71,-625.3 1764.71,-534.1 1614.47,-534.1" style=""/>
|
||||
<text text-anchor="middle" x="1689.59" y="-608.7" font-family="Times,serif" font-size="14.00" style="">Sculpture</text>
|
||||
<polyline fill="none" stroke="black" points="1614.47,-600.5 1764.71,-600.5" style=""/>
|
||||
<text text-anchor="start" x="1622.47" y="-583.9" font-family="Times,serif" font-size="14.00" style="">- material : String</text>
|
||||
<text text-anchor="start" x="1622.47" y="-567.1" font-family="Times,serif" font-size="14.00" style="">- weight : float</text>
|
||||
<polyline fill="none" stroke="black" points="1614.47,-558.9 1764.71,-558.9" style=""/>
|
||||
<text text-anchor="start" x="1622.47" y="-542.3" font-family="Times,serif" font-size="14.00" style="">+ computePrice() : float</text>
|
||||
</g>
|
||||
<!-- Sculpture->InventoryPiece -->
|
||||
<g id="edge4" class="edge" data-name="Sculpture->InventoryPiece">
|
||||
|
||||
<path fill="none" stroke="black" d="M456.01,-516.24C445.11,-492.36 430.24,-460 416.83,-431.6 411.09,-419.44 405.12,-406.88 399.09,-394.26" style=""/>
|
||||
<polygon fill="none" stroke="black" points="402.37,-393.01 394.89,-385.5 396.05,-396.03 402.37,-393.01" style=""/>
|
||||
<text text-anchor="middle" x="422.59" y="-405.5" font-family="Arial" font-size="9.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- TransactionOperationEnum -->
|
||||
<g id="node7" class="node" pointer-events="visible" data-name="TransactionOperationEnum">
|
||||
|
||||
<polygon fill="lightyellow" stroke="black" points="701.69,-1069.7 701.69,-1105.7 839.98,-1105.7 839.98,-1069.7 701.69,-1069.7" style=""/>
|
||||
<text text-anchor="middle" x="770.83" y="-1084.7" font-family="Arial" font-size="10.00" style="">TransactionOperationEnum</text>
|
||||
<path fill="none" stroke="black" d="M1661.15,-534.29C1646.48,-514.08 1627.15,-491.1 1605.59,-474.8 1529.51,-417.27 1427.73,-377.21 1354.1,-353.36" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1355.48,-350.13 1344.89,-350.42 1353.35,-356.79 1355.48,-350.13" style=""/>
|
||||
<text text-anchor="middle" x="1593.97" y="-444.2" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- Customer -->
|
||||
<g id="node8" class="node" pointer-events="visible" data-name="Customer">
|
||||
<g id="node6" class="node" pointer-events="visible" data-name="Customer">
|
||||
|
||||
<polygon fill="lightcyan" stroke="black" points="805.94,-719.9 805.94,-1007.9 1001.73,-1007.9 1001.73,-719.9 805.94,-719.9" style=""/>
|
||||
<text text-anchor="middle" x="903.83" y="-994.9" font-family="Arial" font-size="10.00" style="">Customer</text>
|
||||
<polyline fill="none" stroke="black" points="805.94,-987.9 1001.73,-987.9" style=""/>
|
||||
<text text-anchor="middle" x="903.83" y="-974.9" font-family="Arial" font-size="10.00" style=""># id: String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-962.9" font-family="Arial" font-size="10.00" style=""># updated: ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="903.83" y="-950.9" font-family="Arial" font-size="10.00" style="">- phone: String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-938.9" font-family="Arial" font-size="10.00" style="">- mailing: Address</text>
|
||||
<text text-anchor="middle" x="903.83" y="-926.9" font-family="Arial" font-size="10.00" style="">- email: String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-914.9" font-family="Arial" font-size="10.00" style="">- nameFirst: String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-902.9" font-family="Arial" font-size="10.00" style="">- nameLast: String</text>
|
||||
<polyline fill="none" stroke="black" points="805.94,-895.9 1001.73,-895.9" style=""/>
|
||||
<text text-anchor="middle" x="903.83" y="-882.9" font-family="Arial" font-size="10.00" style="">+ Customer()</text>
|
||||
<text text-anchor="middle" x="903.83" y="-870.9" font-family="Arial" font-size="10.00" style="">+ Customer(String, String, String, String)</text>
|
||||
<text text-anchor="middle" x="903.83" y="-858.9" font-family="Arial" font-size="10.00" style="">+ getEmail(): String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-846.9" font-family="Arial" font-size="10.00" style="">+ getId(): String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-834.9" font-family="Arial" font-size="10.00" style="">+ setId(String): void</text>
|
||||
<text text-anchor="middle" x="903.83" y="-822.9" font-family="Arial" font-size="10.00" style="">+ getPhone(): String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-810.9" font-family="Arial" font-size="10.00" style="">+ setPhone(String): void</text>
|
||||
<text text-anchor="middle" x="903.83" y="-798.9" font-family="Arial" font-size="10.00" style="">+ getMailing(): Address</text>
|
||||
<text text-anchor="middle" x="903.83" y="-786.9" font-family="Arial" font-size="10.00" style="">+ setMailing(Address): void</text>
|
||||
<text text-anchor="middle" x="903.83" y="-774.9" font-family="Arial" font-size="10.00" style="">+ setEmail(String): void</text>
|
||||
<text text-anchor="middle" x="903.83" y="-762.9" font-family="Arial" font-size="10.00" style="">+ getNameFirst(): String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-750.9" font-family="Arial" font-size="10.00" style="">+ setNameFirst(String): void</text>
|
||||
<text text-anchor="middle" x="903.83" y="-738.9" font-family="Arial" font-size="10.00" style="">+ getNameLast(): String</text>
|
||||
<text text-anchor="middle" x="903.83" y="-726.9" font-family="Arial" font-size="10.00" style="">+ setNameLast(String): void</text>
|
||||
<polygon fill="lightblue" stroke="black" points="95.65,-475.3 95.65,-684.1 383.53,-684.1 383.53,-475.3 95.65,-475.3" style=""/>
|
||||
<text text-anchor="middle" x="239.59" y="-667.5" font-family="Times,serif" font-size="14.00" style="">Customer</text>
|
||||
<polyline fill="none" stroke="black" points="95.65,-659.3 383.53,-659.3" style=""/>
|
||||
<text text-anchor="start" x="103.65" y="-642.7" font-family="Times,serif" font-size="14.00" style=""># id : String</text>
|
||||
<text text-anchor="start" x="103.65" y="-625.9" font-family="Times,serif" font-size="14.00" style=""># updated : ZonedDateTime</text>
|
||||
<text text-anchor="start" x="103.65" y="-609.1" font-family="Times,serif" font-size="14.00" style="">- phone : String</text>
|
||||
<text text-anchor="start" x="103.65" y="-592.3" font-family="Times,serif" font-size="14.00" style="">- mailing : Address</text>
|
||||
<text text-anchor="start" x="103.65" y="-575.5" font-family="Times,serif" font-size="14.00" style="">- email : String</text>
|
||||
<text text-anchor="start" x="103.65" y="-558.7" font-family="Times,serif" font-size="14.00" style="">- nameFirst : String</text>
|
||||
<text text-anchor="start" x="103.65" y="-541.9" font-family="Times,serif" font-size="14.00" style="">- nameLast : String</text>
|
||||
<polyline fill="none" stroke="black" points="95.65,-533.7 383.53,-533.7" style=""/>
|
||||
<text text-anchor="start" x="103.65" y="-517.1" font-family="Times,serif" font-size="14.00" style="">+ Customer(nameFirst, nameLast, phone, email)</text>
|
||||
<text text-anchor="start" x="103.65" y="-500.3" font-family="Times,serif" font-size="14.00" style="">+ getId() : String</text>
|
||||
<text text-anchor="start" x="103.65" y="-483.5" font-family="Times,serif" font-size="14.00" style="">+ getEmail() : String</text>
|
||||
</g>
|
||||
<!-- Address -->
|
||||
<g id="node9" class="node" pointer-events="visible" data-name="Address">
|
||||
<g id="node7" class="node" pointer-events="visible" data-name="Address">
|
||||
|
||||
<polygon fill="white" stroke="black" points="651.27,-432.1 651.27,-672.1 840.4,-672.1 840.4,-432.1 651.27,-432.1" style=""/>
|
||||
<text text-anchor="middle" x="745.83" y="-659.1" font-family="Arial" font-size="10.00" style="">Address</text>
|
||||
<polyline fill="none" stroke="black" points="651.27,-652.1 840.4,-652.1" style=""/>
|
||||
<text text-anchor="middle" x="745.83" y="-639.1" font-family="Arial" font-size="10.00" style="">- street: String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-627.1" font-family="Arial" font-size="10.00" style="">- city: String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-615.1" font-family="Arial" font-size="10.00" style="">- state: String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-603.1" font-family="Arial" font-size="10.00" style="">- zip: String</text>
|
||||
<polyline fill="none" stroke="black" points="651.27,-596.1 840.4,-596.1" style=""/>
|
||||
<text text-anchor="middle" x="745.83" y="-583.1" font-family="Arial" font-size="10.00" style="">+ Address()</text>
|
||||
<text text-anchor="middle" x="745.83" y="-571.1" font-family="Arial" font-size="10.00" style="">+ Address(String, String, String, String)</text>
|
||||
<text text-anchor="middle" x="745.83" y="-559.1" font-family="Arial" font-size="10.00" style="">+ getStreet(): String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-547.1" font-family="Arial" font-size="10.00" style="">+ setStreet(String): void</text>
|
||||
<text text-anchor="middle" x="745.83" y="-535.1" font-family="Arial" font-size="10.00" style="">+ getCity(): String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-523.1" font-family="Arial" font-size="10.00" style="">+ setCity(String): void</text>
|
||||
<text text-anchor="middle" x="745.83" y="-511.1" font-family="Arial" font-size="10.00" style="">+ getState(): String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-499.1" font-family="Arial" font-size="10.00" style="">+ setState(String): void</text>
|
||||
<text text-anchor="middle" x="745.83" y="-487.1" font-family="Arial" font-size="10.00" style="">+ getZip(): String</text>
|
||||
<text text-anchor="middle" x="745.83" y="-475.1" font-family="Arial" font-size="10.00" style="">+ setZip(String): void</text>
|
||||
<text text-anchor="middle" x="745.83" y="-463.1" font-family="Arial" font-size="10.00" style="">+ hashCode(): int</text>
|
||||
<text text-anchor="middle" x="745.83" y="-451.1" font-family="Arial" font-size="10.00" style="">+ equals(Object): boolean</text>
|
||||
<text text-anchor="middle" x="745.83" y="-439.1" font-family="Arial" font-size="10.00" style="">+ toString(): String</text>
|
||||
<polygon fill="lightblue" stroke="black" points="320.76,-237.9 320.76,-413.1 518.43,-413.1 518.43,-237.9 320.76,-237.9" style=""/>
|
||||
<text text-anchor="middle" x="419.59" y="-396.5" font-family="Times,serif" font-size="14.00" style="">Address</text>
|
||||
<polyline fill="none" stroke="black" points="320.76,-388.3 518.43,-388.3" style=""/>
|
||||
<text text-anchor="start" x="328.76" y="-371.7" font-family="Times,serif" font-size="14.00" style="">- street : String</text>
|
||||
<text text-anchor="start" x="328.76" y="-354.9" font-family="Times,serif" font-size="14.00" style="">- city : String</text>
|
||||
<text text-anchor="start" x="328.76" y="-338.1" font-family="Times,serif" font-size="14.00" style="">- state : String</text>
|
||||
<text text-anchor="start" x="328.76" y="-321.3" font-family="Times,serif" font-size="14.00" style="">- zip : String</text>
|
||||
<polyline fill="none" stroke="black" points="320.76,-313.1 518.43,-313.1" style=""/>
|
||||
<text text-anchor="start" x="328.76" y="-296.5" font-family="Times,serif" font-size="14.00" style="">+ Address(street, city, state, zip)</text>
|
||||
<text text-anchor="start" x="328.76" y="-279.7" font-family="Times,serif" font-size="14.00" style="">+ toString() : String</text>
|
||||
<text text-anchor="start" x="328.76" y="-262.9" font-family="Times,serif" font-size="14.00" style="">+ equals(Object) : boolean</text>
|
||||
<text text-anchor="start" x="328.76" y="-246.1" font-family="Times,serif" font-size="14.00" style="">+ hashCode() : int</text>
|
||||
</g>
|
||||
<!-- Customer->Address -->
|
||||
<g id="edge6" class="edge" data-name="Customer->Address">
|
||||
<g id="edge12" class="edge" data-name="Customer->Address">
|
||||
|
||||
<path fill="none" stroke="black" d="M831.08,-720.24C824.62,-707.59 818.11,-694.82 811.72,-682.29" style=""/>
|
||||
<polygon fill="black" stroke="black" points="811.84,-682.51 805.55,-678.99 806.38,-671.82 812.67,-675.35 811.84,-682.51" style=""/>
|
||||
<text text-anchor="middle" x="827.09" y="-693.3" font-family="Arial" font-size="9.00" style="">has</text>
|
||||
<path fill="none" stroke="black" d="M313.32,-475.39C325.86,-457.83 338.83,-439.66 351.21,-422.3" style=""/>
|
||||
<polygon fill="black" stroke="black" points="351.06,-422.52 351.29,-415.31 358.03,-412.75 357.8,-419.96 351.06,-422.52" style=""/>
|
||||
<text text-anchor="middle" x="356.98" y="-444.2" font-family="Times,serif" font-size="14.00" style="">mailing</text>
|
||||
</g>
|
||||
<!-- Customer->DataRepository -->
|
||||
<g id="edge25" class="edge" data-name="Customer->DataRepository">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M225.85,-475.48C221.58,-398.59 229.34,-295.79 287.48,-229 335.9,-173.38 527.37,-131.47 658.05,-108.62" style=""/>
|
||||
<polygon fill="black" stroke="black" points="667.74,-106.94 658.65,-113.08 662.81,-107.8 657.89,-108.65 657.89,-108.65 657.89,-108.65 662.81,-107.8 657.12,-104.21 667.74,-106.94 667.74,-106.94" style=""/>
|
||||
<text text-anchor="middle" x="299.65" y="-321.3" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- Transaction -->
|
||||
<g id="node10" class="node" pointer-events="visible" data-name="Transaction">
|
||||
<g id="node8" class="node" pointer-events="visible" data-name="Transaction">
|
||||
|
||||
<polygon fill="lightcyan" stroke="black" points="599.54,-761.9 599.54,-965.9 788.12,-965.9 788.12,-761.9 599.54,-761.9" style=""/>
|
||||
<text text-anchor="middle" x="693.83" y="-952.9" font-family="Arial" font-size="10.00" style="">Transaction</text>
|
||||
<polyline fill="none" stroke="black" points="599.54,-945.9 788.12,-945.9" style=""/>
|
||||
<text text-anchor="middle" x="693.83" y="-932.9" font-family="Arial" font-size="10.00" style="">- id: String</text>
|
||||
<text text-anchor="middle" x="693.83" y="-920.9" font-family="Arial" font-size="10.00" style="">- created: ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="693.83" y="-908.9" font-family="Arial" font-size="10.00" style="">- completed: ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="693.83" y="-896.9" font-family="Arial" font-size="10.00" style="">- customerId: String</text>
|
||||
<text text-anchor="middle" x="693.83" y="-884.9" font-family="Arial" font-size="10.00" style="">- shipToAddress: Address</text>
|
||||
<text text-anchor="middle" x="693.83" y="-872.9" font-family="Arial" font-size="10.00" style="">- customerInventoryList: InventoryList</text>
|
||||
<text text-anchor="middle" x="693.83" y="-860.9" font-family="Arial" font-size="10.00" style="">- attributes: JsonArray</text>
|
||||
<polyline fill="none" stroke="black" points="599.54,-853.9 788.12,-853.9" style=""/>
|
||||
<text text-anchor="middle" x="693.83" y="-840.9" font-family="Arial" font-size="10.00" style="">+ Transaction()</text>
|
||||
<text text-anchor="middle" x="693.83" y="-828.9" font-family="Arial" font-size="10.00" style="">+ getId(): String</text>
|
||||
<text text-anchor="middle" x="693.83" y="-816.9" font-family="Arial" font-size="10.00" style="">+ setId(String): void</text>
|
||||
<text text-anchor="middle" x="693.83" y="-804.9" font-family="Arial" font-size="10.00" style="">+ getCreated(): ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="693.83" y="-792.9" font-family="Arial" font-size="10.00" style="">+ setCreated(ZonedDateTime): void</text>
|
||||
<text text-anchor="middle" x="693.83" y="-780.9" font-family="Arial" font-size="10.00" style="">+ getCompleted(): ZonedDateTime</text>
|
||||
<text text-anchor="middle" x="693.83" y="-768.9" font-family="Arial" font-size="10.00" style="">+ setCompleted(ZonedDateTime): void</text>
|
||||
<polygon fill="lightblue" stroke="black" points="378.2,-737.9 378.2,-963.5 616.98,-963.5 616.98,-737.9 378.2,-737.9" style=""/>
|
||||
<text text-anchor="middle" x="497.59" y="-946.9" font-family="Times,serif" font-size="14.00" style="">Transaction</text>
|
||||
<polyline fill="none" stroke="black" points="378.2,-938.7 616.98,-938.7" style=""/>
|
||||
<text text-anchor="start" x="386.2" y="-922.1" font-family="Times,serif" font-size="14.00" style="">- id : String</text>
|
||||
<text text-anchor="start" x="386.2" y="-905.3" font-family="Times,serif" font-size="14.00" style="">- created : ZonedDateTime</text>
|
||||
<text text-anchor="start" x="386.2" y="-888.5" font-family="Times,serif" font-size="14.00" style="">- completed : ZonedDateTime</text>
|
||||
<text text-anchor="start" x="386.2" y="-871.7" font-family="Times,serif" font-size="14.00" style="">- customerId : String</text>
|
||||
<text text-anchor="start" x="386.2" y="-854.9" font-family="Times,serif" font-size="14.00" style="">- shipToAddress : Address</text>
|
||||
<text text-anchor="start" x="386.2" y="-838.1" font-family="Times,serif" font-size="14.00" style="">- customerInventoryList : InventoryList</text>
|
||||
<text text-anchor="start" x="386.2" y="-821.3" font-family="Times,serif" font-size="14.00" style="">- totalPrice : float</text>
|
||||
<text text-anchor="start" x="386.2" y="-804.5" font-family="Times,serif" font-size="14.00" style="">- attributes : JsonArray</text>
|
||||
<polyline fill="none" stroke="black" points="378.2,-796.3 616.98,-796.3" style=""/>
|
||||
<text text-anchor="start" x="386.2" y="-779.7" font-family="Times,serif" font-size="14.00" style=""># Transaction(customer, cart)</text>
|
||||
<text text-anchor="start" x="386.2" y="-762.9" font-family="Times,serif" font-size="14.00" style="">+ check() : void</text>
|
||||
<text text-anchor="start" x="386.2" y="-746.1" font-family="Times,serif" font-size="14.00" style="">+ toString() : String</text>
|
||||
</g>
|
||||
<!-- Transaction->Customer -->
|
||||
<g id="edge15" class="edge" data-name="Transaction->Customer">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M390.42,-737.96C373.25,-720.06 355.55,-701.6 338.59,-683.92" style=""/>
|
||||
<text text-anchor="middle" x="400.08" y="-706.8" font-family="Times,serif" font-size="14.00" style="">customerId</text>
|
||||
</g>
|
||||
<!-- Transaction->Address -->
|
||||
<g id="edge7" class="edge" data-name="Transaction->Address">
|
||||
<g id="edge13" class="edge" data-name="Transaction->Address">
|
||||
|
||||
<path fill="none" stroke="black" d="M710.72,-762.32C715.02,-736.67 719.71,-708.74 724.21,-681.9" style=""/>
|
||||
<polygon fill="black" stroke="black" points="725.87,-672.06 728.65,-682.67 725.04,-676.99 724.21,-681.92 724.21,-681.92 724.21,-681.92 725.04,-676.99 719.77,-681.18 725.87,-672.06 725.87,-672.06" style=""/>
|
||||
<text text-anchor="middle" x="750.85" y="-693.3" font-family="Arial" font-size="9.00" style="">shipToAddress</text>
|
||||
<path fill="none" stroke="black" d="M494.91,-738.07C491.51,-663.04 483.84,-562.26 466.59,-474.8 463.34,-458.33 458.9,-441.11 454.04,-424.49" style=""/>
|
||||
<polygon fill="black" stroke="black" points="454.07,-424.58 448.51,-419.98 450.61,-413.09 456.17,-417.68 454.07,-424.58" style=""/>
|
||||
<text text-anchor="middle" x="534.98" y="-575.5" font-family="Times,serif" font-size="14.00" style="">shipToAddress</text>
|
||||
</g>
|
||||
<!-- InventoryList -->
|
||||
<g id="node11" class="node" pointer-events="visible" data-name="InventoryList">
|
||||
<g id="node9" class="node" pointer-events="visible" data-name="InventoryList">
|
||||
|
||||
<polygon fill="wheat" stroke="black" points="535.49,-534.1 535.49,-570.1 608.18,-570.1 608.18,-534.1 535.49,-534.1" style=""/>
|
||||
<text text-anchor="middle" x="571.83" y="-549.1" font-family="Arial" font-size="10.00" style="">InventoryList</text>
|
||||
<polygon fill="lightblue" stroke="black" points="755.15,-546.5 755.15,-612.9 952.03,-612.9 952.03,-546.5 755.15,-546.5" style=""/>
|
||||
<text text-anchor="middle" x="853.59" y="-596.3" font-family="Times,serif" font-size="14.00" style="">InventoryList</text>
|
||||
<polyline fill="none" stroke="black" points="755.15,-588.1 952.03,-588.1" style=""/>
|
||||
<text text-anchor="start" x="763.15" y="-571.5" font-family="Times,serif" font-size="14.00" style="">+ InventoryList()</text>
|
||||
<text text-anchor="start" x="763.15" y="-554.7" font-family="Times,serif" font-size="14.00" style="">+ add(InventoryPiece) : boolean</text>
|
||||
</g>
|
||||
<!-- Transaction->InventoryList -->
|
||||
<g id="edge8" class="edge" data-name="Transaction->InventoryList">
|
||||
<g id="edge14" class="edge" data-name="Transaction->InventoryList">
|
||||
|
||||
<path fill="none" stroke="black" d="M652.99,-762.2C644.92,-742.09 636.54,-721.09 628.8,-701.4 612.02,-658.74 593.01,-608.96 581.75,-579.29" style=""/>
|
||||
<polygon fill="black" stroke="black" points="578.24,-570.04 585.99,-577.79 580.01,-574.71 581.78,-579.39 581.78,-579.39 581.78,-579.39 580.01,-574.71 577.58,-580.98 578.24,-570.04 578.24,-570.04" style=""/>
|
||||
<text text-anchor="middle" x="672.85" y="-693.3" font-family="Arial" font-size="9.00" style="">customerInventoryList</text>
|
||||
<path fill="none" stroke="black" d="M616.84,-771.06C640.91,-754.44 665.8,-736.68 688.59,-719.4 730.56,-687.57 776.27,-648.81 808.91,-620.36" style=""/>
|
||||
<polygon fill="black" stroke="black" points="808.72,-620.52 810.6,-613.56 817.75,-612.63 815.87,-619.59 808.72,-620.52" style=""/>
|
||||
<text text-anchor="middle" x="771.35" y="-706.8" font-family="Times,serif" font-size="14.00" style="">customerInventoryList</text>
|
||||
</g>
|
||||
<!-- Transaction->DataRepository -->
|
||||
<g id="edge27" class="edge" data-name="Transaction->DataRepository">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M562.19,-738.07C569.97,-720.64 576.83,-702.47 581.59,-684.6 633.82,-488.7 510.92,-408.81 604.59,-229 617.82,-203.61 637.94,-181.4 660,-162.6" style=""/>
|
||||
<polygon fill="black" stroke="black" points="667.55,-156.36 662.71,-166.2 663.7,-159.55 659.84,-162.73 659.84,-162.73 659.84,-162.73 663.7,-159.55 656.97,-159.27 667.55,-156.36 667.55,-156.36" style=""/>
|
||||
<text text-anchor="middle" x="590.65" y="-444.2" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- InventoryList->InventoryPiece -->
|
||||
<g id="edge12" class="edge" data-name="InventoryList->InventoryPiece">
|
||||
<g id="edge19" class="edge" data-name="InventoryList->InventoryPiece">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M568,-534.16C561.99,-509.94 548.7,-464.71 526.83,-431.6 497.49,-387.16 456.38,-345.25 418.67,-311.66" style=""/>
|
||||
<polygon fill="black" stroke="black" points="418.68,-311.67 411.54,-310.71 409.67,-303.74 416.82,-304.7 418.68,-311.67" style=""/>
|
||||
<text text-anchor="middle" x="530.59" y="-405.5" font-family="Arial" font-size="9.00" style="">contains</text>
|
||||
<path fill="none" stroke="black" d="M905.3,-546.5C970.23,-506.07 1082.87,-435.92 1163.52,-385.7" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1163.5,-385.71 1166.48,-379.15 1173.69,-379.37 1170.71,-385.94 1163.5,-385.71" style=""/>
|
||||
<text text-anchor="middle" x="1091.92" y="-444.2" font-family="Times,serif" font-size="14.00" style="">contains</text>
|
||||
</g>
|
||||
<!-- ArrayList -->
|
||||
<g id="node20" class="node" pointer-events="visible" data-name="ArrayList">
|
||||
|
||||
<polygon fill="lightgray" stroke="black" stroke-dasharray="5,2" points="613.51,-304.7 613.51,-346.3 693.67,-346.3 693.67,-304.7 613.51,-304.7" style=""/>
|
||||
<text text-anchor="middle" x="653.59" y="-329.7" font-family="Times,serif" font-size="14.00" style="">ArrayList</text>
|
||||
<text text-anchor="middle" x="653.59" y="-312.9" font-family="Times,serif" font-size="14.00" style="">«Java Util»</text>
|
||||
</g>
|
||||
<!-- InventoryList->ArrayList -->
|
||||
<g id="edge5" class="edge" data-name="InventoryList->ArrayList">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M828.06,-546.5C788.67,-496.83 713.71,-402.31 676.18,-354.98" style=""/>
|
||||
<polygon fill="none" stroke="black" points="679.09,-353.02 670.14,-347.36 673.61,-357.37 679.09,-353.02" style=""/>
|
||||
<text text-anchor="middle" x="774.97" y="-444.2" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- CustomerList -->
|
||||
<g id="node12" class="node" pointer-events="visible" data-name="CustomerList">
|
||||
<g id="node10" class="node" pointer-events="visible" data-name="CustomerList">
|
||||
|
||||
<polygon fill="wheat" stroke="black" points="1166.38,-1069.7 1166.38,-1105.7 1241.29,-1105.7 1241.29,-1069.7 1166.38,-1069.7" style=""/>
|
||||
<text text-anchor="middle" x="1203.83" y="-1084.7" font-family="Arial" font-size="10.00" style="">CustomerList</text>
|
||||
<polygon fill="lightblue" stroke="black" points="183.12,-825.9 183.12,-875.5 296.06,-875.5 296.06,-825.9 183.12,-825.9" style=""/>
|
||||
<text text-anchor="middle" x="239.59" y="-858.9" font-family="Times,serif" font-size="14.00" style="">CustomerList</text>
|
||||
<polyline fill="none" stroke="black" points="183.12,-850.7 296.06,-850.7" style=""/>
|
||||
<text text-anchor="start" x="191.12" y="-834.1" font-family="Times,serif" font-size="14.00" style="">+ CustomerList()</text>
|
||||
</g>
|
||||
<!-- CustomerList->Customer -->
|
||||
<g id="edge13" class="edge" data-name="CustomerList->Customer">
|
||||
<g id="edge20" class="edge" data-name="CustomerList->Customer">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1181.28,-1070.03C1145.38,-1043.48 1072.96,-989.94 1011.11,-944.21" style=""/>
|
||||
<polygon fill="black" stroke="black" points="1011.32,-944.37 1004.12,-944.02 1001.67,-937.24 1008.87,-937.59 1011.32,-944.37" style=""/>
|
||||
<text text-anchor="middle" x="1147.59" y="-1029.1" font-family="Arial" font-size="9.00" style="">contains</text>
|
||||
<path fill="none" stroke="black" d="M239.59,-826.3C239.59,-797.01 239.59,-744.76 239.59,-695.96" style=""/>
|
||||
<polygon fill="none" stroke="black" points="239.59,-695.97 235.59,-689.97 239.59,-683.97 243.59,-689.97 239.59,-695.97" style=""/>
|
||||
<text text-anchor="middle" x="262.92" y="-706.8" font-family="Times,serif" font-size="14.00" style="">contains</text>
|
||||
</g>
|
||||
<!-- CustomerList->ArrayList -->
|
||||
<g id="edge6" class="edge" data-name="CustomerList->ArrayList">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M271.2,-825.92C307.21,-796.89 364.65,-744.23 392.59,-684.6 412.54,-642.03 386.01,-507.46 419.83,-474.8 450.46,-445.22 577.3,-483.34 610.59,-456.8 640.52,-432.94 649.82,-387.7 652.59,-357.32" style=""/>
|
||||
<polygon fill="none" stroke="black" points="656.07,-357.82 653.28,-347.6 649.09,-357.33 656.07,-357.82" style=""/>
|
||||
<text text-anchor="middle" x="441.97" y="-575.5" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- TransactionList -->
|
||||
<g id="node13" class="node" pointer-events="visible" data-name="TransactionList">
|
||||
<g id="node11" class="node" pointer-events="visible" data-name="TransactionList">
|
||||
|
||||
<polygon fill="wheat" stroke="black" points="599.93,-1069.7 599.93,-1105.7 683.74,-1105.7 683.74,-1069.7 599.93,-1069.7" style=""/>
|
||||
<text text-anchor="middle" x="641.83" y="-1084.7" font-family="Arial" font-size="10.00" style="">TransactionList</text>
|
||||
<polygon fill="lightblue" stroke="black" points="535.48,-1063.3 535.48,-1129.7 713.7,-1129.7 713.7,-1063.3 535.48,-1063.3" style=""/>
|
||||
<text text-anchor="middle" x="624.59" y="-1113.1" font-family="Times,serif" font-size="14.00" style="">TransactionList</text>
|
||||
<polyline fill="none" stroke="black" points="535.48,-1104.9 713.7,-1104.9" style=""/>
|
||||
<text text-anchor="start" x="543.48" y="-1088.3" font-family="Times,serif" font-size="14.00" style="">+ TransactionList()</text>
|
||||
<text text-anchor="start" x="543.48" y="-1071.5" font-family="Times,serif" font-size="14.00" style="">+ add(Transaction) : boolean</text>
|
||||
</g>
|
||||
<!-- TransactionList->Transaction -->
|
||||
<g id="edge14" class="edge" data-name="TransactionList->Transaction">
|
||||
<g id="edge21" class="edge" data-name="TransactionList->Transaction">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M645.74,-1070.03C650.52,-1049.67 659.01,-1013.42 667.55,-977" style=""/>
|
||||
<polygon fill="black" stroke="black" points="667.46,-977.4 664.93,-970.64 670.2,-965.71 672.72,-972.47 667.46,-977.4" style=""/>
|
||||
<text text-anchor="middle" x="672.59" y="-1029.1" font-family="Arial" font-size="9.00" style="">contains</text>
|
||||
<path fill="none" stroke="black" d="M607.86,-1063.38C595.71,-1040.06 578.44,-1006.9 561.16,-973.74" style=""/>
|
||||
<polygon fill="none" stroke="black" points="561.35,-974.1 555.03,-970.62 555.81,-963.45 562.13,-966.93 561.35,-974.1" style=""/>
|
||||
<text text-anchor="middle" x="595.92" y="-986.2" font-family="Times,serif" font-size="14.00" style="">contains</text>
|
||||
</g>
|
||||
<!-- TransactionList->ArrayList -->
|
||||
<g id="edge7" class="edge" data-name="TransactionList->ArrayList">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M625.8,-1063.44C630.54,-937.85 647.79,-480.31 652.43,-357.19" style=""/>
|
||||
<polygon fill="none" stroke="black" points="655.92,-357.66 652.8,-347.54 648.92,-357.4 655.92,-357.66" style=""/>
|
||||
<text text-anchor="middle" x="660.97" y="-706.8" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- InventoryManager -->
|
||||
<g id="node14" class="node" pointer-events="visible" data-name="InventoryManager">
|
||||
<g id="node12" class="node" pointer-events="visible" data-name="InventoryManager">
|
||||
|
||||
<polygon fill="lightpink" stroke="black" points="398.42,-1138.7 398.42,-1190.7 557.25,-1190.7 557.25,-1138.7 398.42,-1138.7" style=""/>
|
||||
<text text-anchor="middle" x="477.83" y="-1177.7" font-family="Arial" font-size="10.00" style="">InventoryManager</text>
|
||||
<polyline fill="none" stroke="black" points="398.42,-1170.7 557.25,-1170.7" style=""/>
|
||||
<text text-anchor="middle" x="477.83" y="-1157.7" font-family="Arial" font-size="10.00" style="">+ INVENTORY: InventoryList</text>
|
||||
<text text-anchor="middle" x="477.83" y="-1145.7" font-family="Arial" font-size="10.00" style="">- INSTANCE: InventoryManager</text>
|
||||
<polyline fill="none" stroke="black" points="398.42,-1138.7 557.25,-1138.7" style=""/>
|
||||
<polygon fill="lightblue" stroke="black" points="774.71,-763.1 774.71,-938.3 1038.47,-938.3 1038.47,-763.1 774.71,-763.1" style=""/>
|
||||
<text text-anchor="middle" x="906.59" y="-921.7" font-family="Times,serif" font-size="14.00" style="">InventoryManager</text>
|
||||
<polyline fill="none" stroke="black" points="774.71,-913.5 1038.47,-913.5" style=""/>
|
||||
<text text-anchor="start" x="782.71" y="-896.9" font-family="Times,serif" font-size="14.00" style="">+ INVENTORY : InventoryList</text>
|
||||
<text text-anchor="start" x="782.71" y="-880.1" font-family="Times,serif" font-size="14.00" style="">- INSTANCE : InventoryManager</text>
|
||||
<polyline fill="none" stroke="black" points="774.71,-871.9 1038.47,-871.9" style=""/>
|
||||
<text text-anchor="start" x="782.71" y="-855.3" font-family="Times,serif" font-size="14.00" style="">+ getInstance() : InventoryManager</text>
|
||||
<text text-anchor="start" x="782.71" y="-838.5" font-family="Times,serif" font-size="14.00" style="">+ add(InventoryPiece) : void</text>
|
||||
<text text-anchor="start" x="782.71" y="-821.7" font-family="Times,serif" font-size="14.00" style="">+ find(String) : InventoryPiece</text>
|
||||
<text text-anchor="start" x="782.71" y="-804.9" font-family="Times,serif" font-size="14.00" style="">+ Remove(InventoryPiece) : InventoryPiece</text>
|
||||
<text text-anchor="start" x="782.71" y="-788.1" font-family="Times,serif" font-size="14.00" style="">+ save() : void</text>
|
||||
<text text-anchor="start" x="782.71" y="-771.3" font-family="Times,serif" font-size="14.00" style="">+ load() : void</text>
|
||||
</g>
|
||||
<!-- InventoryManager->InventoryList -->
|
||||
<g id="edge9" class="edge" data-name="InventoryManager->InventoryList">
|
||||
<g id="edge16" class="edge" data-name="InventoryManager->InventoryList">
|
||||
|
||||
<path fill="none" stroke="black" d="M481.24,-1138.88C485.05,-1111.37 491.45,-1065.69 497.33,-1026.4 522.59,-857.61 555.22,-655.35 567.18,-581.69" style=""/>
|
||||
<polygon fill="black" stroke="black" points="567.18,-581.7 564.19,-575.13 569.1,-569.85 572.09,-576.42 567.18,-581.7" style=""/>
|
||||
<text text-anchor="middle" x="524.09" y="-1029.1" font-family="Arial" font-size="9.00" style="">INVENTORY</text>
|
||||
<path fill="none" stroke="black" d="M889.53,-763.11C880.38,-716.68 869.51,-661.49 862.14,-624.07" style=""/>
|
||||
<polygon fill="black" stroke="black" points="862.19,-624.35 857.11,-619.24 859.87,-612.58 864.96,-617.69 862.19,-624.35" style=""/>
|
||||
<text text-anchor="middle" x="921.42" y="-706.8" font-family="Times,serif" font-size="14.00" style="">INVENTORY</text>
|
||||
</g>
|
||||
<!-- InventoryManager->DataRepository -->
|
||||
<g id="edge22" class="edge" data-name="InventoryManager->DataRepository">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M952.62,-763.19C958.4,-748.91 963.39,-734 966.59,-719.4 978.22,-666.34 1110.13,-1121.57 960.59,-474.8 936.45,-370.36 882.81,-259.92 841.06,-184.11" style=""/>
|
||||
<polygon fill="black" stroke="black" points="836.28,-175.5 845.07,-182.07 838.71,-179.88 841.13,-184.25 841.13,-184.25 841.13,-184.25 838.71,-179.88 837.2,-186.43 836.28,-175.5 836.28,-175.5" style=""/>
|
||||
<text text-anchor="middle" x="967.65" y="-444.2" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- CustomerManager -->
|
||||
<g id="node15" class="node" pointer-events="visible" data-name="CustomerManager">
|
||||
<g id="node13" class="node" pointer-events="visible" data-name="CustomerManager">
|
||||
|
||||
<polygon fill="lightpink" stroke="black" points="945.16,-1239.7 945.16,-1359.7 1116.51,-1359.7 1116.51,-1239.7 945.16,-1239.7" style=""/>
|
||||
<text text-anchor="middle" x="1030.83" y="-1346.7" font-family="Arial" font-size="10.00" style="">CustomerManager</text>
|
||||
<polyline fill="none" stroke="black" points="945.16,-1339.7 1116.51,-1339.7" style=""/>
|
||||
<text text-anchor="middle" x="1030.83" y="-1326.7" font-family="Arial" font-size="10.00" style="">+ CUSTOMERS: CustomerList</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1314.7" font-family="Arial" font-size="10.00" style="">- INSTANCE: CustomerManager</text>
|
||||
<polyline fill="none" stroke="black" points="945.16,-1307.7 1116.51,-1307.7" style=""/>
|
||||
<text text-anchor="middle" x="1030.83" y="-1294.7" font-family="Arial" font-size="10.00" style="">+ getInstance(): CustomerManager</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1282.7" font-family="Arial" font-size="10.00" style="">+ add(Customer): boolean</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1270.7" font-family="Arial" font-size="10.00" style="">- check(Customer): void</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1258.7" font-family="Arial" font-size="10.00" style="">+ findById(String): Customer</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1246.7" font-family="Arial" font-size="10.00" style="">+ findByEmail(String): Customer</text>
|
||||
<polygon fill="lightblue" stroke="black" points="65.82,-1017.3 65.82,-1175.7 281.37,-1175.7 281.37,-1017.3 65.82,-1017.3" style=""/>
|
||||
<text text-anchor="middle" x="173.59" y="-1159.1" font-family="Times,serif" font-size="14.00" style="">CustomerManager</text>
|
||||
<polyline fill="none" stroke="black" points="65.82,-1150.9 281.37,-1150.9" style=""/>
|
||||
<text text-anchor="start" x="73.82" y="-1134.3" font-family="Times,serif" font-size="14.00" style="">+ CUSTOMERS : CustomerList</text>
|
||||
<text text-anchor="start" x="73.82" y="-1117.5" font-family="Times,serif" font-size="14.00" style="">- INSTANCE : CustomerManager</text>
|
||||
<polyline fill="none" stroke="black" points="65.82,-1109.3 281.37,-1109.3" style=""/>
|
||||
<text text-anchor="start" x="73.82" y="-1092.7" font-family="Times,serif" font-size="14.00" style="">+ getInstance() : CustomerManager</text>
|
||||
<text text-anchor="start" x="73.82" y="-1075.9" font-family="Times,serif" font-size="14.00" style="">+ add(Customer) : boolean</text>
|
||||
<text text-anchor="start" x="73.82" y="-1059.1" font-family="Times,serif" font-size="14.00" style="">+ findByEmail(String) : Customer</text>
|
||||
<text text-anchor="start" x="73.82" y="-1042.3" font-family="Times,serif" font-size="14.00" style="">+ save() : void</text>
|
||||
<text text-anchor="start" x="73.82" y="-1025.5" font-family="Times,serif" font-size="14.00" style="">+ load() : void</text>
|
||||
</g>
|
||||
<!-- CustomerManager->CustomerList -->
|
||||
<g id="edge10" class="edge" data-name="CustomerManager->CustomerList">
|
||||
<g id="edge17" class="edge" data-name="CustomerManager->CustomerList">
|
||||
|
||||
<path fill="none" stroke="black" d="M1079.25,-1239.92C1113.32,-1198.58 1157.22,-1145.28 1182.78,-1114.26" style=""/>
|
||||
<polygon fill="black" stroke="black" points="1182.46,-1114.65 1183.19,-1107.47 1190.09,-1105.38 1189.36,-1112.56 1182.46,-1114.65" style=""/>
|
||||
<text text-anchor="middle" x="1190.58" y="-1162" font-family="Arial" font-size="9.00" style="">CUSTOMERS</text>
|
||||
<path fill="none" stroke="black" d="M194.75,-1017.35C206.65,-973.37 220.93,-920.63 230.13,-886.67" style=""/>
|
||||
<polygon fill="black" stroke="black" points="230.02,-887.06 227.73,-880.23 233.15,-875.48 235.45,-882.32 230.02,-887.06" style=""/>
|
||||
<text text-anchor="middle" x="245.6" y="-986.2" font-family="Times,serif" font-size="14.00" style="">CUSTOMERS</text>
|
||||
</g>
|
||||
<!-- InvalidRecordDataException -->
|
||||
<g id="node19" class="node" pointer-events="visible" data-name="InvalidRecordDataException">
|
||||
<!-- CustomerManager->DataRepository -->
|
||||
<g id="edge23" class="edge" data-name="CustomerManager->DataRepository">
|
||||
|
||||
<polygon fill="tomato" stroke="black" points="912.92,-1055.7 912.92,-1119.7 1148.75,-1119.7 1148.75,-1055.7 912.92,-1055.7" style=""/>
|
||||
<text text-anchor="middle" x="1030.83" y="-1106.7" font-family="Arial" font-size="10.00" style="">InvalidRecordDataException</text>
|
||||
<polyline fill="none" stroke="black" points="912.92,-1099.7 1148.75,-1099.7" style=""/>
|
||||
<polyline fill="none" stroke="black" points="912.92,-1099.7 1148.75,-1099.7" style=""/>
|
||||
<text text-anchor="middle" x="1030.83" y="-1086.7" font-family="Arial" font-size="10.00" style="">+ InvalidRecordDataException(String)</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1074.7" font-family="Arial" font-size="10.00" style="">+ InvalidRecordDataException(String, Throwable)</text>
|
||||
<text text-anchor="middle" x="1030.83" y="-1062.7" font-family="Arial" font-size="10.00" style="">+ InvalidRecordDataException(Throwable)</text>
|
||||
</g>
|
||||
<!-- CustomerManager->InvalidRecordDataException -->
|
||||
<g id="edge19" class="edge" data-name="CustomerManager->InvalidRecordDataException">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1030.83,-1239.92C1030.83,-1204.67 1030.83,-1160.73 1030.83,-1129.31" style=""/>
|
||||
<polygon fill="black" stroke="black" points="1030.83,-1119.58 1035.33,-1129.58 1030.83,-1124.58 1030.83,-1129.58 1030.83,-1129.58 1030.83,-1129.58 1030.83,-1124.58 1026.33,-1129.58 1030.83,-1119.58 1030.83,-1119.58" style=""/>
|
||||
<text text-anchor="middle" x="1044.09" y="-1162" font-family="Arial" font-size="9.00" style="">throws</text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M112.71,-1017.54C83.01,-971.84 53.59,-911.5 53.59,-851.7 53.59,-851.7 53.59,-851.7 53.59,-324.5 53.59,-199.08 448.41,-130.87 657.72,-103.51" style=""/>
|
||||
<polygon fill="black" stroke="black" points="667.55,-102.24 658.21,-107.99 662.59,-102.89 657.63,-103.53 657.63,-103.53 657.63,-103.53 662.59,-102.89 657.05,-99.06 667.55,-102.24 667.55,-102.24" style=""/>
|
||||
<text text-anchor="middle" x="65.65" y="-575.5" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- TransactionManager -->
|
||||
<g id="node16" class="node" pointer-events="visible" data-name="TransactionManager">
|
||||
<g id="node14" class="node" pointer-events="visible" data-name="TransactionManager">
|
||||
|
||||
<polygon fill="lightpink" stroke="black" points="575.52,-1209.7 575.52,-1389.7 904.15,-1389.7 904.15,-1209.7 575.52,-1209.7" style=""/>
|
||||
<text text-anchor="middle" x="739.83" y="-1376.7" font-family="Arial" font-size="10.00" style="">TransactionManager</text>
|
||||
<polyline fill="none" stroke="black" points="575.52,-1369.7 904.15,-1369.7" style=""/>
|
||||
<text text-anchor="middle" x="739.83" y="-1356.7" font-family="Arial" font-size="10.00" style="">+ TRANSACTIONS: TransactionList</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1344.7" font-family="Arial" font-size="10.00" style="">- INSTANCE: TransactionManager</text>
|
||||
<polyline fill="none" stroke="black" points="575.52,-1337.7 904.15,-1337.7" style=""/>
|
||||
<text text-anchor="middle" x="739.83" y="-1324.7" font-family="Arial" font-size="10.00" style="">+ getInstance(): TransactionManager</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1312.7" font-family="Arial" font-size="10.00" style="">+ TransactRequest(Customer, InventoryList, Transaction): Transaction</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1300.7" font-family="Arial" font-size="10.00" style="">+ compute(Transaction, TransactionOperationEnum): void</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1288.7" font-family="Arial" font-size="10.00" style="">+ compute(Transaction): void</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1276.7" font-family="Arial" font-size="10.00" style="">+ complete(Transaction): void</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1264.7" font-family="Arial" font-size="10.00" style="">+ findByCustomerEmail(String): TransactionList</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1252.7" font-family="Arial" font-size="10.00" style="">+ findByTransactionId(String): TransactionList</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1240.7" font-family="Arial" font-size="10.00" style="">+ findByTransactionDate(ZonedDateTime): TransactionList</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1228.7" font-family="Arial" font-size="10.00" style="">+ remove(Transaction): void</text>
|
||||
<text text-anchor="middle" x="739.83" y="-1216.7" font-family="Arial" font-size="10.00" style="">+ save(): void</text>
|
||||
</g>
|
||||
<!-- TransactionManager->TransactionOperationEnum -->
|
||||
<g id="edge18" class="edge" data-name="TransactionManager->TransactionOperationEnum">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M752.94,-1209.95C757.97,-1175.82 763.36,-1139.34 766.89,-1115.42" style=""/>
|
||||
<polygon fill="black" stroke="black" points="768.33,-1105.67 771.32,-1116.22 767.6,-1110.61 766.87,-1115.56 766.87,-1115.56 766.87,-1115.56 767.6,-1110.61 762.42,-1114.9 768.33,-1105.67 768.33,-1105.67" style=""/>
|
||||
<text text-anchor="middle" x="772.34" y="-1162" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
<polygon fill="lightblue" stroke="black" points="513.27,-1229.5 513.27,-1404.7 857.91,-1404.7 857.91,-1229.5 513.27,-1229.5" style=""/>
|
||||
<text text-anchor="middle" x="685.59" y="-1388.1" font-family="Times,serif" font-size="14.00" style="">TransactionManager</text>
|
||||
<polyline fill="none" stroke="black" points="513.27,-1379.9 857.91,-1379.9" style=""/>
|
||||
<text text-anchor="start" x="521.27" y="-1363.3" font-family="Times,serif" font-size="14.00" style="">+ TRANSACTIONS : TransactionList</text>
|
||||
<text text-anchor="start" x="521.27" y="-1346.5" font-family="Times,serif" font-size="14.00" style="">- INSTANCE : TransactionManager</text>
|
||||
<polyline fill="none" stroke="black" points="513.27,-1338.3 857.91,-1338.3" style=""/>
|
||||
<text text-anchor="start" x="521.27" y="-1321.7" font-family="Times,serif" font-size="14.00" style="">+ getInstance() : TransactionManager</text>
|
||||
<text text-anchor="start" x="521.27" y="-1304.9" font-family="Times,serif" font-size="14.00" style="">+ TransactRequest(Customer, InventoryList) : Transaction</text>
|
||||
<text text-anchor="start" x="521.27" y="-1288.1" font-family="Times,serif" font-size="14.00" style="">+ complete(Transaction) : void</text>
|
||||
<text text-anchor="start" x="521.27" y="-1271.3" font-family="Times,serif" font-size="14.00" style="">+ compute(Transaction) : void</text>
|
||||
<text text-anchor="start" x="521.27" y="-1254.5" font-family="Times,serif" font-size="14.00" style="">+ save() : void</text>
|
||||
<text text-anchor="start" x="521.27" y="-1237.7" font-family="Times,serif" font-size="14.00" style="">+ load() : void</text>
|
||||
</g>
|
||||
<!-- TransactionManager->Customer -->
|
||||
<g id="edge20" class="edge" data-name="TransactionManager->Customer">
|
||||
<g id="edge28" class="edge" data-name="TransactionManager->Customer">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M802.02,-1210.07C819.25,-1182.31 836.57,-1150.88 848.83,-1120.2 861.75,-1087.87 871.87,-1051.97 879.7,-1017.55" style=""/>
|
||||
<polygon fill="black" stroke="black" points="881.85,-1007.88 884.07,-1018.62 880.77,-1012.76 879.68,-1017.64 879.68,-1017.64 879.68,-1017.64 880.77,-1012.76 875.29,-1016.67 881.85,-1007.88 881.85,-1007.88" style=""/>
|
||||
<text text-anchor="middle" x="879.34" y="-1085" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M513.39,-1298.41C349.97,-1278.1 120.16,-1239.2 56.59,-1176.2 -74.46,-1046.31 50.43,-825.07 148.34,-691.93" style=""/>
|
||||
<polygon fill="black" stroke="black" points="154.15,-684.08 151.81,-694.79 151.18,-688.09 148.2,-692.11 148.2,-692.11 148.2,-692.11 151.18,-688.09 144.58,-689.43 154.15,-684.08 154.15,-684.08" style=""/>
|
||||
<text text-anchor="middle" x="16.65" y="-986.2" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- TransactionManager->InventoryList -->
|
||||
<g id="edge21" class="edge" data-name="TransactionManager->InventoryList">
|
||||
<g id="edge29" class="edge" data-name="TransactionManager->InventoryList">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M646.35,-1210.01C624.09,-1183.42 603.21,-1152.63 590.83,-1120.2 552.5,-1019.74 565.73,-678.25 570.45,-579.84" style=""/>
|
||||
<polygon fill="black" stroke="black" points="570.93,-570.08 574.94,-580.29 570.69,-575.07 570.44,-580.07 570.44,-580.07 570.44,-580.07 570.69,-575.07 565.95,-579.84 570.93,-570.08 570.93,-570.08" style=""/>
|
||||
<text text-anchor="middle" x="583.34" y="-1029.1" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M727.01,-1229.77C729.14,-1223.5 731.04,-1217.21 732.59,-1211 783.78,-1006.3 629.52,-898.66 765.59,-737.4 787.42,-711.53 817.37,-744.93 839.59,-719.4 862.3,-693.33 864.02,-653.16 861.11,-622.75" style=""/>
|
||||
<polygon fill="black" stroke="black" points="859.97,-612.85 865.58,-622.27 860.54,-617.82 861.11,-622.78 861.11,-622.78 861.11,-622.78 860.54,-617.82 856.64,-623.3 859.97,-612.85 859.97,-612.85" style=""/>
|
||||
<text text-anchor="middle" x="737.65" y="-986.2" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- TransactionManager->TransactionList -->
|
||||
<g id="edge11" class="edge" data-name="TransactionManager->TransactionList">
|
||||
<g id="edge18" class="edge" data-name="TransactionManager->TransactionList">
|
||||
|
||||
<path fill="none" stroke="black" d="M690.4,-1209.99C687.24,-1203.68 684.18,-1197.37 681.33,-1191.2 669.95,-1166.6 659.04,-1137.73 651.58,-1116.9" style=""/>
|
||||
<polygon fill="black" stroke="black" points="651.6,-1116.98 645.83,-1112.66 647.6,-1105.67 653.37,-1109.99 651.6,-1116.98" style=""/>
|
||||
<text text-anchor="middle" x="716.09" y="-1162" font-family="Arial" font-size="9.00" style="">TRANSACTIONS</text>
|
||||
<path fill="none" stroke="black" d="M632.37,-1229.79C629.88,-1223.57 627.72,-1217.28 626.03,-1211 619.93,-1188.47 619.17,-1162.5 620.11,-1141.09" style=""/>
|
||||
<polygon fill="black" stroke="black" points="620.09,-1141.37 616.46,-1135.15 620.81,-1129.4 624.44,-1135.62 620.09,-1141.37" style=""/>
|
||||
<text text-anchor="middle" x="679.87" y="-1198.4" font-family="Times,serif" font-size="14.00" style="">TRANSACTIONS</text>
|
||||
</g>
|
||||
<!-- DataRepository -->
|
||||
<g id="node17" class="node" pointer-events="visible" data-name="DataRepository">
|
||||
<!-- TransactionManager->DataRepository -->
|
||||
<g id="edge24" class="edge" data-name="TransactionManager->DataRepository">
|
||||
|
||||
<polygon fill="orange" stroke="black" points="697.37,-1451.5 697.37,-1487.5 782.29,-1487.5 782.29,-1451.5 697.37,-1451.5" style=""/>
|
||||
<text text-anchor="middle" x="739.83" y="-1466.5" font-family="Arial" font-size="10.00" style="">DataRepository</text>
|
||||
</g>
|
||||
<!-- DataRepository->InventoryManager -->
|
||||
<g id="edge15" class="edge" data-name="DataRepository->InventoryManager">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M697.51,-1459.03C658.8,-1448.35 602.32,-1427.42 566.83,-1390.2 515.24,-1336.09 492.34,-1248.44 483.19,-1200.22" style=""/>
|
||||
<polygon fill="black" stroke="black" points="481.44,-1190.56 487.65,-1199.6 482.34,-1195.48 483.23,-1200.4 483.23,-1200.4 483.23,-1200.4 482.34,-1195.48 478.8,-1201.2 481.44,-1190.56 481.44,-1190.56" style=""/>
|
||||
<text text-anchor="middle" x="611.34" y="-1410.9" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- DataRepository->CustomerManager -->
|
||||
<g id="edge16" class="edge" data-name="DataRepository->CustomerManager">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M765.24,-1451.51C773.25,-1446.51 782.25,-1441.25 790.83,-1437 842.88,-1411.23 862.08,-1418.43 912.83,-1390.2 925.95,-1382.9 939.22,-1374.28 951.9,-1365.31" style=""/>
|
||||
<polygon fill="black" stroke="black" points="959.71,-1359.7 954.22,-1369.19 955.65,-1362.62 951.59,-1365.54 951.59,-1365.54 951.59,-1365.54 955.65,-1362.62 948.96,-1361.88 959.71,-1359.7 959.71,-1359.7" style=""/>
|
||||
<text text-anchor="middle" x="880.34" y="-1410.9" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- DataRepository->TransactionManager -->
|
||||
<g id="edge17" class="edge" data-name="DataRepository->TransactionManager">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M739.83,-1451.8C739.83,-1438.9 739.83,-1419.9 739.83,-1399.68" style=""/>
|
||||
<polygon fill="black" stroke="black" points="739.83,-1389.69 744.33,-1399.69 739.83,-1394.69 739.83,-1399.69 739.83,-1399.69 739.83,-1399.69 739.83,-1394.69 735.33,-1399.69 739.83,-1389.69 739.83,-1389.69" style=""/>
|
||||
<text text-anchor="middle" x="749.34" y="-1410.9" font-family="Arial" font-size="9.00" style="">uses</text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M857.7,-1251.46C958.67,-1208.03 1066.59,-1149.45 1066.59,-1097.5 1066.59,-1097.5 1066.59,-1097.5 1066.59,-324.5 1066.59,-236.84 985.29,-175.45 910,-137.39" style=""/>
|
||||
<polygon fill="black" stroke="black" points="901.33,-133.1 912.29,-133.5 905.81,-135.32 910.29,-137.54 910.29,-137.54 910.29,-137.54 905.81,-135.32 908.29,-141.57 901.33,-133.1 901.33,-133.1" style=""/>
|
||||
<text text-anchor="middle" x="1078.65" y="-706.8" font-family="Times,serif" font-size="14.00" style="">uses</text>
|
||||
</g>
|
||||
<!-- InvalidArtOperationException -->
|
||||
<g id="node18" class="node" pointer-events="visible" data-name="InvalidArtOperationException">
|
||||
<g id="node16" class="node" pointer-events="visible" data-name="InvalidArtOperationException">
|
||||
|
||||
<polygon fill="tomato" stroke="black" points="800.25,-1437.5 800.25,-1501.5 1039.42,-1501.5 1039.42,-1437.5 800.25,-1437.5" style=""/>
|
||||
<text text-anchor="middle" x="919.83" y="-1488.5" font-family="Arial" font-size="10.00" style="">InvalidArtOperationException</text>
|
||||
<polyline fill="none" stroke="black" points="800.25,-1481.5 1039.42,-1481.5" style=""/>
|
||||
<polyline fill="none" stroke="black" points="800.25,-1481.5 1039.42,-1481.5" style=""/>
|
||||
<text text-anchor="middle" x="919.83" y="-1468.5" font-family="Arial" font-size="10.00" style="">+ InvalidArtOperationException(String)</text>
|
||||
<text text-anchor="middle" x="919.83" y="-1456.5" font-family="Arial" font-size="10.00" style="">+ InvalidArtOperationException(String, Throwable)</text>
|
||||
<text text-anchor="middle" x="919.83" y="-1444.5" font-family="Arial" font-size="10.00" style="">+ InvalidArtOperationException(Throwable)</text>
|
||||
<polygon fill="lightcoral" stroke="black" points="978.59,-1292.3 978.59,-1341.9 1220.59,-1341.9 1220.59,-1292.3 978.59,-1292.3" style=""/>
|
||||
<text text-anchor="middle" x="1099.59" y="-1325.3" font-family="Times,serif" font-size="14.00" style="">InvalidArtOperationException</text>
|
||||
<polyline fill="none" stroke="black" points="978.59,-1317.1 1220.59,-1317.1" style=""/>
|
||||
<text text-anchor="start" x="986.59" y="-1300.5" font-family="Times,serif" font-size="14.00" style="">+ InvalidArtOperationException(String)</text>
|
||||
</g>
|
||||
<!-- RuntimeException -->
|
||||
<g id="node21" class="node" pointer-events="visible" data-name="RuntimeException">
|
||||
|
||||
<polygon fill="lightgray" stroke="black" stroke-dasharray="5,2" points="1421.1,-1075.7 1421.1,-1117.3 1542.08,-1117.3 1542.08,-1075.7 1421.1,-1075.7" style=""/>
|
||||
<text text-anchor="middle" x="1481.59" y="-1100.7" font-family="Times,serif" font-size="14.00" style="">RuntimeException</text>
|
||||
<text text-anchor="middle" x="1481.59" y="-1083.9" font-family="Times,serif" font-size="14.00" style="">«Java Lang»</text>
|
||||
</g>
|
||||
<!-- InvalidArtOperationException->RuntimeException -->
|
||||
<g id="edge8" class="edge" data-name="InvalidArtOperationException->RuntimeException">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1132.88,-1292.33C1158.77,-1274.2 1195.83,-1249.04 1229.59,-1229 1297.48,-1188.71 1378.93,-1147.42 1430.48,-1122.12" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1431.89,-1125.32 1439.34,-1117.79 1428.82,-1119.04 1431.89,-1125.32" style=""/>
|
||||
<text text-anchor="middle" x="1312.97" y="-1198.4" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- InvalidRecordDataException -->
|
||||
<g id="node17" class="node" pointer-events="visible" data-name="InvalidRecordDataException">
|
||||
|
||||
<polygon fill="lightcoral" stroke="black" points="1238.48,-1292.3 1238.48,-1341.9 1472.7,-1341.9 1472.7,-1292.3 1238.48,-1292.3" style=""/>
|
||||
<text text-anchor="middle" x="1355.59" y="-1325.3" font-family="Times,serif" font-size="14.00" style="">InvalidRecordDataException</text>
|
||||
<polyline fill="none" stroke="black" points="1238.48,-1317.1 1472.7,-1317.1" style=""/>
|
||||
<text text-anchor="start" x="1246.48" y="-1300.5" font-family="Times,serif" font-size="14.00" style="">+ InvalidRecordDataException(String)</text>
|
||||
</g>
|
||||
<!-- InvalidRecordDataException->RuntimeException -->
|
||||
<g id="edge9" class="edge" data-name="InvalidRecordDataException->RuntimeException">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1369.08,-1292.71C1392.17,-1252.63 1439.26,-1170.94 1464.58,-1127.01" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1467.51,-1128.94 1469.47,-1118.53 1461.44,-1125.45 1467.51,-1128.94" style=""/>
|
||||
<text text-anchor="middle" x="1443.97" y="-1198.4" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- InvalidTransactionException -->
|
||||
<g id="node20" class="node" pointer-events="visible" data-name="InvalidTransactionException">
|
||||
<g id="node18" class="node" pointer-events="visible" data-name="InvalidTransactionException">
|
||||
|
||||
<polygon fill="tomato" stroke="black" points="1057.48,-1437.5 1057.48,-1501.5 1292.19,-1501.5 1292.19,-1437.5 1057.48,-1437.5" style=""/>
|
||||
<text text-anchor="middle" x="1174.83" y="-1488.5" font-family="Arial" font-size="10.00" style="">InvalidTransactionException</text>
|
||||
<polyline fill="none" stroke="black" points="1057.48,-1481.5 1292.19,-1481.5" style=""/>
|
||||
<polyline fill="none" stroke="black" points="1057.48,-1481.5 1292.19,-1481.5" style=""/>
|
||||
<text text-anchor="middle" x="1174.83" y="-1468.5" font-family="Arial" font-size="10.00" style="">+ InvalidTransactionException(String)</text>
|
||||
<text text-anchor="middle" x="1174.83" y="-1456.5" font-family="Arial" font-size="10.00" style="">+ InvalidTransactionException(String, Throwable)</text>
|
||||
<text text-anchor="middle" x="1174.83" y="-1444.5" font-family="Arial" font-size="10.00" style="">+ InvalidTransactionException(Throwable)</text>
|
||||
<polygon fill="lightcoral" stroke="black" points="1490.87,-1292.3 1490.87,-1341.9 1724.31,-1341.9 1724.31,-1292.3 1490.87,-1292.3" style=""/>
|
||||
<text text-anchor="middle" x="1607.59" y="-1325.3" font-family="Times,serif" font-size="14.00" style="">InvalidTransactionException</text>
|
||||
<polyline fill="none" stroke="black" points="1490.87,-1317.1 1724.31,-1317.1" style=""/>
|
||||
<text text-anchor="start" x="1498.87" y="-1300.5" font-family="Times,serif" font-size="14.00" style="">+ InvalidTransactionException(String)</text>
|
||||
</g>
|
||||
<!-- InvalidTransactionException->RuntimeException -->
|
||||
<g id="edge10" class="edge" data-name="InvalidTransactionException->RuntimeException">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1594.11,-1292.71C1571.01,-1252.63 1523.92,-1170.94 1498.6,-1127.01" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1501.74,-1125.45 1493.71,-1118.53 1495.67,-1128.94 1501.74,-1125.45" style=""/>
|
||||
<text text-anchor="middle" x="1565.97" y="-1198.4" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
<!-- InvalidTransOperationException -->
|
||||
<g id="node21" class="node" pointer-events="visible" data-name="InvalidTransOperationException">
|
||||
<g id="node19" class="node" pointer-events="visible" data-name="InvalidTransOperationException">
|
||||
|
||||
<polygon fill="tomato" stroke="black" points="1309.86,-1437.5 1309.86,-1501.5 1561.81,-1501.5 1561.81,-1437.5 1309.86,-1437.5" style=""/>
|
||||
<text text-anchor="middle" x="1435.83" y="-1488.5" font-family="Arial" font-size="10.00" style="">InvalidTransOperationException</text>
|
||||
<polyline fill="none" stroke="black" points="1309.86,-1481.5 1561.81,-1481.5" style=""/>
|
||||
<polyline fill="none" stroke="black" points="1309.86,-1481.5 1561.81,-1481.5" style=""/>
|
||||
<text text-anchor="middle" x="1435.83" y="-1468.5" font-family="Arial" font-size="10.00" style="">+ InvalidTransOperationException(String)</text>
|
||||
<text text-anchor="middle" x="1435.83" y="-1456.5" font-family="Arial" font-size="10.00" style="">+ InvalidTransOperationException(String, Throwable)</text>
|
||||
<text text-anchor="middle" x="1435.83" y="-1444.5" font-family="Arial" font-size="10.00" style="">+ InvalidTransOperationException(Throwable)</text>
|
||||
<polygon fill="lightcoral" stroke="black" points="1741.98,-1292.3 1741.98,-1341.9 1997.2,-1341.9 1997.2,-1292.3 1741.98,-1292.3" style=""/>
|
||||
<text text-anchor="middle" x="1869.59" y="-1325.3" font-family="Times,serif" font-size="14.00" style="">InvalidTransOperationException</text>
|
||||
<polyline fill="none" stroke="black" points="1741.98,-1317.1 1997.2,-1317.1" style=""/>
|
||||
<text text-anchor="start" x="1749.98" y="-1300.5" font-family="Times,serif" font-size="14.00" style="">+ InvalidTransOperationException(String)</text>
|
||||
</g>
|
||||
<!-- InvalidTransOperationException->RuntimeException -->
|
||||
<g id="edge11" class="edge" data-name="InvalidTransOperationException->RuntimeException">
|
||||
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1834.62,-1292.49C1807.46,-1274.45 1768.65,-1249.32 1733.59,-1229 1665.09,-1189.3 1583.47,-1147.71 1532.08,-1122.19" style=""/>
|
||||
<polygon fill="none" stroke="black" points="1533.77,-1119.12 1523.26,-1117.82 1530.67,-1125.4 1533.77,-1119.12" style=""/>
|
||||
<text text-anchor="middle" x="1721.97" y="-1198.4" font-family="Times,serif" font-size="14.00" style="">extends</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 39 KiB |
@@ -1,87 +1,84 @@
|
||||
digraph InventoryMClassDiagram {
|
||||
rankdir=TB;
|
||||
node [shape=record, fontname="Arial", fontsize=10];
|
||||
edge [fontname="Arial", fontsize=9];
|
||||
|
||||
// Core Model Classes
|
||||
Address [label="{Address|+ street : String\l+ city : String\l+ state : String\l+ zip : String\l|+ getStreet() : String\l+ setStreet(String)\l+ getCity() : String\l+ setCity(String)\l+ getState() : String\l+ setState(String)\l+ getZip() : String\l+ setZip(String)\l+ hashCode() : int\l+ equals(Object) : boolean\l+ toString() : String\l}"];
|
||||
|
||||
Customer [label="{Customer|# id : String\l# updated : ZonedDateTime\l- phone : String\l- mailing : Address\l- email : String\l- nameFirst : String\l- nameLast : String\l|+ Customer(String, String, String, String)\l+ getId() : String\l+ setId(String)\l+ getPhone() : String\l+ setPhone(String)\l+ getMailing() : Address\l+ setMailing(Address)\l+ getEmail() : String\l+ setEmail(String)\l+ getNameFirst() : String\l+ setNameFirst(String)\l+ getNameLast() : String\l+ setNameLast(String)\l}"];
|
||||
|
||||
// Inventory Hierarchy
|
||||
InventoryPiece [label="{«abstract»\lInventoryPiece|+ id : String\l+ price : float\l+ created : ZonedDateTime\l+ title : String\l+ description : String\l+ Author : String\l|+ InventoryPiece()\l+ getType() : String\l+ getId() : String\l+ setId(String)\l+ getPrice() : float\l+ setPrice(float)\l+ getCreated() : ZonedDateTime\l+ setCreated(ZonedDateTime)\l+ getTitle() : String\l+ setTitle(String)\l+ getDescription() : String\l+ setDescription(String)\l+ getAuthor() : String\l+ setAuthor(String)\l+ computePrice() : float\l}" style=filled, fillcolor=lightblue];
|
||||
|
||||
Drawing [label="{Drawing|+ style : String\l+ technique : String\l+ category : String\l|+ Drawing()\l+ computePrice() : float\l}"];
|
||||
|
||||
Painting [label="{Painting|- height : int\l- width : int\l- style : String\l- technique : String\l- category : String\l|+ Painting()\l+ Painting(int, int)\l+ getHeight() : int\l+ setHeight(int)\l+ getWidth() : int\l+ setWidth(int)\l+ getStyle() : String\l+ setStyle(String)\l+ getTechnique() : String\l+ setTechnique(String)\l+ getCategory() : String\l+ setCategory(String)\l+ computePrice() : float\l}"];
|
||||
|
||||
Print [label="{Print|- openEditionType : String\l- category : String\l|+ Print()\l+ Print(String, String)\l+ getOpenEditionType() : String\l+ setOpenEditionType(String)\l+ getCategory() : String\l+ setCategory(String)\l+ computePrice() : float\l}"];
|
||||
|
||||
Sculpture [label="{Sculpture|- material : String\l- weight : float\l|+ Sculpture()\l+ Sculpture(float)\l+ getMaterial() : String\l+ setMaterial(String)\l+ getWeight() : float\l+ setWeight(float)\l+ computePrice() : float\l}"];
|
||||
|
||||
Transaction [label="{Transaction|- id : String\l- created : ZonedDateTime\l- completed : ZonedDateTime\l- customerId : String\l- shipToAddress : Address\l- customerInventoryList : InventoryList\l- totalPrice : float\l- attributes : JsonArray\l|# Transaction(Customer, InventoryList)\l+ getId() : String\l+ setId(String)\l+ getCreated() : ZonedDateTime\l+ setCreated(ZonedDateTime)\l+ getCompleted() : ZonedDateTime\l+ setCompleted(ZonedDateTime)\l+ getCustomerId() : String\l+ setCustomerId(String)\l+ getShipToAddress() : Address\l+ setShipToAddress(Address)\l+ getCustomerInventoryList() : InventoryList\l+ setCustomerInventoryList(InventoryList)\l+ getTotalPrice() : float\l+ setTotalPrice(float)\l+ getAttributes() : JsonArray\l+ setAttributes(JsonArray)\l+ toString() : String\l}"];
|
||||
|
||||
// List Classes (extend ArrayList)
|
||||
CustomerList [label="{CustomerList|+ CustomerList()\l}" style=filled, fillcolor=lightyellow];
|
||||
InventoryList [label="{InventoryList|+ InventoryList()\l+ add(InventoryPiece) : boolean\l}" style=filled, fillcolor=lightyellow];
|
||||
TransactionList [label="{TransactionList|+ TransactionList()\l+ add(Transaction) : boolean\l}" style=filled, fillcolor=lightyellow];
|
||||
|
||||
node [shape=record, style=filled, fillcolor=lightblue];
|
||||
|
||||
// Abstract Classes
|
||||
InventoryPiece [label="{InventoryPiece\n«abstract»|+ id : String\l+ price : float\l+ created : ZonedDateTime\l+ title : String\l+ description : String\l+ Author : String\l|+ getType() : String\l+ computePrice() : float\l}", fillcolor=lightyellow];
|
||||
|
||||
// Concrete Classes - Inventory Items
|
||||
Drawing [label="{Drawing|+ style : String\l+ technique : String\l+ category : String\l|+ computePrice() : float\l}"];
|
||||
Painting [label="{Painting|- height : int\l- width : int\l- style : String\l- technique : String\l- category : String\l|+ computePrice() : float\l}"];
|
||||
Print [label="{Print|- openEditionType : String\l- category : String\l|+ computePrice() : float\l}"];
|
||||
Sculpture [label="{Sculpture|- material : String\l- weight : float\l|+ computePrice() : float\l}"];
|
||||
|
||||
// Customer and Address
|
||||
Customer [label="{Customer|# id : String\l# updated : ZonedDateTime\l- phone : String\l- mailing : Address\l- email : String\l- nameFirst : String\l- nameLast : String\l|+ Customer(nameFirst, nameLast, phone, email)\l+ getId() : String\l+ getEmail() : String\l}"];
|
||||
Address [label="{Address|- street : String\l- city : String\l- state : String\l- zip : String\l|+ Address(street, city, state, zip)\l+ toString() : String\l+ equals(Object) : boolean\l+ hashCode() : int\l}"];
|
||||
|
||||
// Transaction
|
||||
Transaction [label="{Transaction|- id : String\l- created : ZonedDateTime\l- completed : ZonedDateTime\l- customerId : String\l- shipToAddress : Address\l- customerInventoryList : InventoryList\l- totalPrice : float\l- attributes : JsonArray\l|# Transaction(customer, cart)\l+ check() : void\l+ toString() : String\l}"];
|
||||
|
||||
// List Classes
|
||||
InventoryList [label="{InventoryList|+ InventoryList()\l+ add(InventoryPiece) : boolean\l}"];
|
||||
CustomerList [label="{CustomerList|+ CustomerList()\l}"];
|
||||
TransactionList [label="{TransactionList|+ TransactionList()\l+ add(Transaction) : boolean\l}"];
|
||||
|
||||
// Manager Classes (Singletons)
|
||||
CustomerManager [label="{CustomerManager|- INSTANCE : CustomerManager\l+ CUSTOMERS : CustomerList\l|+ getInstance() : CustomerManager\l+ add(Customer) : boolean\l- check(Customer)\l+ findById(String) : Customer\l+ findByEmail(String) : Customer\l+ save()\l+ load()\l}" style=filled, fillcolor=lightgreen];
|
||||
|
||||
InventoryManager [label="{InventoryManager|- INSTANCE : InventoryManager\l+ INVENTORY : InventoryList\l|+ getInstance() : InventoryManager\l+ add(InventoryPiece)\l+ find(String) : InventoryPiece\l+ update(InventoryPiece) : InventoryPiece\l+ Remove(InventoryPiece) : InventoryPiece\l+ save()\l+ load()\l}" style=filled, fillcolor=lightgreen];
|
||||
|
||||
TransactionManager [label="{TransactionManager|- INSTANCE : TransactionManager\l+ TRANSACTIONS : TransactionList\l|+ getInstance() : TransactionManager\l+ TransactRequest(Customer, InventoryList) : Transaction\l+ complete(Transaction)\l+ compute(Transaction)\l+ findByCustomerEmail(String) : TransactionList\l+ findByTransactionId(String) : TransactionList\l+ findByTransactionDate(ZonedDateTime) : TransactionList\l+ remove(Transaction)\l+ save()\l}" style=filled, fillcolor=lightgreen];
|
||||
|
||||
DataRepository [label="{DataRepository|- INSTANCE : DataRepository\l|+ getInstance() : DataRepository\l+ generateRandomID(int) : String\l+ generateRandom10DigitID() : String\l+ WalkFileSystemTree(InventoryManager)\l+ WalkFileSystemTree(CustomerManager)\l+ WalkFileSystemTree(TransactionManager)\l+ mapJsonToObjectList(String, Class) : List\l- write(CustomerManager)\l- write(InventoryManager)\l- read(CustomerManager, Path)\l- read(InventoryManager, Path)\l}" style=filled, fillcolor=lightcoral];
|
||||
|
||||
InventoryManager [label="{InventoryManager|+ INVENTORY : InventoryList\l- INSTANCE : InventoryManager\l|+ getInstance() : InventoryManager\l+ add(InventoryPiece) : void\l+ find(String) : InventoryPiece\l+ Remove(InventoryPiece) : InventoryPiece\l+ save() : void\l+ load() : void\l}"];
|
||||
CustomerManager [label="{CustomerManager|+ CUSTOMERS : CustomerList\l- INSTANCE : CustomerManager\l|+ getInstance() : CustomerManager\l+ add(Customer) : boolean\l+ findByEmail(String) : Customer\l+ save() : void\l+ load() : void\l}"];
|
||||
TransactionManager [label="{TransactionManager|+ TRANSACTIONS : TransactionList\l- INSTANCE : TransactionManager\l|+ getInstance() : TransactionManager\l+ TransactRequest(Customer, InventoryList) : Transaction\l+ complete(Transaction) : void\l+ compute(Transaction) : void\l+ save() : void\l+ load() : void\l}"];
|
||||
|
||||
// Repository
|
||||
DataRepository [label="{DataRepository|- INSTANCE : DataRepository\l|+ getInstance() : DataRepository\l+ generateRandomID(int) : String\l+ generateRandom10DigitID() : String\l+ write(InventoryManager) : void\l+ write(CustomerManager) : void\l+ write(TransactionManager) : void\l+ WalkFileSystemTree(...) : void\l}"];
|
||||
|
||||
// Exception Classes
|
||||
InvalidArtOperationException [label="{InvalidArtOperationException|+ InvalidArtOperationException(String)\l+ InvalidArtOperationException(String, Throwable)\l+ InvalidArtOperationException(Throwable)\l}" style=filled, fillcolor=pink];
|
||||
|
||||
InvalidRecordDataException [label="{InvalidRecordDataException|+ InvalidRecordDataException(String)\l+ InvalidRecordDataException(String, Throwable)\l+ InvalidRecordDataException(Throwable)\l}" style=filled, fillcolor=pink];
|
||||
|
||||
InvalidTransactionException [label="{InvalidTransactionException|+ InvalidTransactionException(String)\l+ InvalidTransactionException(String, Throwable)\l+ InvalidTransactionException(Throwable)\l}" style=filled, fillcolor=pink];
|
||||
|
||||
InvalidTransOperationException [label="{InvalidTransOperationException|+ InvalidTransOperationException(String)\l+ InvalidTransOperationException(String, Throwable)\l+ InvalidTransOperationException(Throwable)\l}" style=filled, fillcolor=pink];
|
||||
|
||||
// Inheritance relationships
|
||||
InvalidArtOperationException [label="{InvalidArtOperationException|+ InvalidArtOperationException(String)\l}", fillcolor=lightcoral];
|
||||
InvalidRecordDataException [label="{InvalidRecordDataException|+ InvalidRecordDataException(String)\l}", fillcolor=lightcoral];
|
||||
InvalidTransactionException [label="{InvalidTransactionException|+ InvalidTransactionException(String)\l}", fillcolor=lightcoral];
|
||||
InvalidTransOperationException [label="{InvalidTransOperationException|+ InvalidTransOperationException(String)\l}", fillcolor=lightcoral];
|
||||
|
||||
// Inheritance Relationships
|
||||
Drawing -> InventoryPiece [arrowhead=empty, label="extends"];
|
||||
Painting -> InventoryPiece [arrowhead=empty, label="extends"];
|
||||
Print -> InventoryPiece [arrowhead=empty, label="extends"];
|
||||
Sculpture -> InventoryPiece [arrowhead=empty, label="extends"];
|
||||
|
||||
CustomerList -> Customer [arrowhead=diamond, label="contains"];
|
||||
InventoryList -> InventoryPiece [arrowhead=diamond, label="contains"];
|
||||
TransactionList -> Transaction [arrowhead=diamond, label="contains"];
|
||||
|
||||
// Associations
|
||||
Customer -> Address [arrowhead=open, label="has"];
|
||||
Transaction -> Address [arrowhead=open, label="shipTo"];
|
||||
Transaction -> InventoryList [arrowhead=open, label="has"];
|
||||
Transaction -> Customer [arrowhead=open, style=dashed, label="references"];
|
||||
|
||||
// Manager relationships
|
||||
CustomerManager -> CustomerList [arrowhead=diamond];
|
||||
InventoryManager -> InventoryList [arrowhead=diamond];
|
||||
TransactionManager -> TransactionList [arrowhead=diamond];
|
||||
|
||||
// DataRepository relationships
|
||||
DataRepository -> CustomerManager [arrowhead=open, style=dashed, label="persists"];
|
||||
DataRepository -> InventoryManager [arrowhead=open, style=dashed, label="persists"];
|
||||
DataRepository -> TransactionManager [arrowhead=open, style=dashed, label="persists"];
|
||||
|
||||
// Exception usage
|
||||
CustomerManager -> InvalidRecordDataException [arrowhead=open, style=dashed, label="throws"];
|
||||
|
||||
// Legend
|
||||
subgraph cluster_legend {
|
||||
label="Legend";
|
||||
style=dashed;
|
||||
|
||||
legend1 [label="Abstract Class" style=filled, fillcolor=lightblue, shape=box];
|
||||
legend2 [label="Manager (Singleton)" style=filled, fillcolor=lightgreen, shape=box];
|
||||
legend3 [label="Collection" style=filled, fillcolor=lightyellow, shape=box];
|
||||
legend4 [label="Repository" style=filled, fillcolor=lightcoral, shape=box];
|
||||
legend5 [label="Exception" style=filled, fillcolor=pink, shape=box];
|
||||
}
|
||||
|
||||
InventoryList -> ArrayList [arrowhead=empty, label="extends", style=dashed];
|
||||
CustomerList -> ArrayList [arrowhead=empty, label="extends", style=dashed];
|
||||
TransactionList -> ArrayList [arrowhead=empty, label="extends", style=dashed];
|
||||
|
||||
InvalidArtOperationException -> RuntimeException [arrowhead=empty, label="extends", style=dashed];
|
||||
InvalidRecordDataException -> RuntimeException [arrowhead=empty, label="extends", style=dashed];
|
||||
InvalidTransactionException -> RuntimeException [arrowhead=empty, label="extends", style=dashed];
|
||||
InvalidTransOperationException -> RuntimeException [arrowhead=empty, label="extends", style=dashed];
|
||||
|
||||
// Composition/Aggregation Relationships
|
||||
Customer -> Address [arrowhead=diamond, label="mailing"];
|
||||
Transaction -> Address [arrowhead=diamond, label="shipToAddress"];
|
||||
Transaction -> InventoryList [arrowhead=diamond, label="customerInventoryList"];
|
||||
Transaction -> Customer [arrowhead=none, style=dashed, label="customerId"];
|
||||
|
||||
InventoryManager -> InventoryList [arrowhead=diamond, label="INVENTORY"];
|
||||
CustomerManager -> CustomerList [arrowhead=diamond, label="CUSTOMERS"];
|
||||
TransactionManager -> TransactionList [arrowhead=diamond, label="TRANSACTIONS"];
|
||||
|
||||
InventoryList -> InventoryPiece [arrowhead=odiamond, label="contains"];
|
||||
CustomerList -> Customer [arrowhead=odiamond, label="contains"];
|
||||
TransactionList -> Transaction [arrowhead=odiamond, label="contains"];
|
||||
|
||||
// Dependencies
|
||||
InventoryManager -> DataRepository [arrowhead=vee, style=dashed, label="uses"];
|
||||
CustomerManager -> DataRepository [arrowhead=vee, style=dashed, label="uses"];
|
||||
TransactionManager -> DataRepository [arrowhead=vee, style=dashed, label="uses"];
|
||||
|
||||
Customer -> DataRepository [arrowhead=vee, style=dashed, label="uses"];
|
||||
InventoryPiece -> DataRepository [arrowhead=vee, style=dashed, label="uses"];
|
||||
Transaction -> DataRepository [arrowhead=vee, style=dashed, label="uses"];
|
||||
|
||||
TransactionManager -> Customer [arrowhead=vee, style=dashed, label="uses"];
|
||||
TransactionManager -> InventoryList [arrowhead=vee, style=dashed, label="uses"];
|
||||
|
||||
// External Classes (referenced but not defined)
|
||||
ArrayList [label="{ArrayList\n«Java Util»}", fillcolor=lightgray, style="filled,dashed"];
|
||||
RuntimeException [label="{RuntimeException\n«Java Lang»}", fillcolor=lightgray, style="filled,dashed"];
|
||||
}
|
||||
Reference in New Issue
Block a user