-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDiagram.drawio
104 lines (104 loc) · 11.7 KB
/
Diagram.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<mxfile host="drawio-plugin" modified="2024-12-12T19:20:08.544Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" version="22.1.22" etag="YDW7gJCJkKz67JIXhCDk" type="embed">
<diagram id="05_vmDJTvn9QBfJcnxBh" name="Page-1">
<mxGraphModel dx="1073" dy="1024" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="node2" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>AbstractTicketHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ AbstractTicketHandler(TicketPool): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handleTickets(): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-32" y="387" width="203" height="85" as="geometry" />
</mxCell>
<mxCell id="node6" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Configuration</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ Configuration(int, int, int, int): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- totalTickets: int<br/>- ticketReleaseRate: int<br/>- maxTicketCapacity: int<br/>- customerRetrievalRate: int</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ loadFromFile(String): Configuration<br/>+ saveToFile(String): void</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> maxTicketCapacity: int<br/> totalTickets: int<br/> customerRetrievalRate: int<br/> ticketReleaseRate: int</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="208" y="671" width="282" height="349" as="geometry" />
</mxCell>
<mxCell id="node3" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Customer</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ Customer(TicketPool): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handleTickets(): void<br/>+ run(): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-84" y="756" width="146" height="108" as="geometry" />
</mxCell>
<mxCell id="node5" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Logger</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ Logger(): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ log(String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="93" y="1047" width="112" height="85" as="geometry" />
</mxCell>
<mxCell id="node7" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Main</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ Main(): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ main(String[]): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-75" y="1047" width="128" height="85" as="geometry" />
</mxCell>
<mxCell id="node4" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>TicketOperation</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ addTickets(String): void<br/>+ removeTicket(): String</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="34" y="-13" width="150" height="98" as="geometry" />
</mxCell>
<mxCell id="node0" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>TicketPool</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ TicketPool(): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ removeTicket(): String<br/>+ addTickets(String): void</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> ticketCount: int</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="34" y="165" width="150" height="132" as="geometry" />
</mxCell>
<mxCell id="node1" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Vendor</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ Vendor(TicketPool, int): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handleTickets(): void<br/>+ run(): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="14" y="536" width="150" height="108" as="geometry" />
</mxCell>
<mxCell id="edge3" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.001;exitDx=0;exitDy=0;entryX=0.250;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node2" target="node0" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="69" y="366" />
<mxPoint x="72" y="366" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label18" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge3" vertex="1" connectable="0">
<mxGeometry x="58" y="366" as="geometry" />
</mxCell>
<mxCell id="label22" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge3" vertex="1" connectable="0">
<mxGeometry x="61" y="292" as="geometry" />
</mxCell>
<mxCell id="label23" value="ticketPool" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge3" vertex="1" connectable="0">
<mxGeometry x="72" y="292" as="geometry" />
</mxCell>
<mxCell id="edge1" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000082;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="node3" target="node2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-11" y="506" />
<mxPoint x="69" y="506" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="edge5" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.001;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node7" target="node3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="label32" value="«create»" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge5" vertex="1" connectable="0">
<mxGeometry x="-62" y="941" as="geometry" />
</mxCell>
<mxCell id="edge6" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.001;exitDx=0;exitDy=0;entryX=0.750;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node7" target="node0" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-11" y="1026" />
<mxPoint x="189" y="1026" />
<mxPoint x="189" y="366" />
<mxPoint x="147" y="366" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label38" value="«create»" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge6" vertex="1" connectable="0">
<mxGeometry x="138" y="686" as="geometry" />
</mxCell>
<mxCell id="edge4" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.001;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node7" target="node1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-11" y="1026" />
<mxPoint x="89" y="1026" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label26" value="«create»" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge4" vertex="1" connectable="0">
<mxGeometry x="38" y="977" as="geometry" />
</mxCell>
<mxCell id="edge0" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#008200;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="node0" target="node4" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="edge2" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000082;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="node1" target="node2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="89" y="506" />
<mxPoint x="69" y="506" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>