-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPropChase.drawio
183 lines (183 loc) · 25.3 KB
/
PropChase.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.8 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.8">
<diagram name="Page-1" id="P3ujrBfUUob4ddo8eDaO">
<mxGraphModel dx="1809" dy="2703" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1600" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="0bahGi0PylKg2WLOz5wm-1" value="DataBank" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="1250" y="-966" width="240" height="268" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-5" value="- listings: LinkedList&lt;List&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-2" value="- instance: DataBank" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="52" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-3" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="78" width="240" height="8" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-6" value="- DataBank()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="86" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-8" value="+ getData(s: ConcreteSIte01)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="112" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-9" value="+ getData(s: ConcreteSIte02)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="138" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-51" value="+ getData(s: ConcreteSIte03)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="164" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-10" value="+ Instance(): DataBank" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="190" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-11" value="- PostToDataBase()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="216" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-7" value="- DataBank()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-1" vertex="1">
<mxGeometry y="242" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-44" value="&lt;&lt;ISiteScraper&gt;&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="690" y="-1020" width="260" height="52" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-45" value="+ Scrape()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-44" vertex="1">
<mxGeometry y="26" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-46" value="ConcreteSiteScraper" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="680" y="-876" width="260" height="52" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-74" value="+ Scrape()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-46" vertex="1">
<mxGeometry y="26" width="260" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-50" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.501;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;labelBackgroundColor=none;fontColor=default;sketch=1;curveFitting=1;jiggle=2;" parent="1" source="0bahGi0PylKg2WLOz5wm-46" target="0bahGi0PylKg2WLOz5wm-45" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1030" y="-837" as="sourcePoint" />
<mxPoint x="1030" y="-926" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-57" value="DataBankInstance.getData(this)" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="710" y="-766" width="220" height="70" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-58" value="" style="shape=link;html=1;rounded=0;exitX=0.468;exitY=0.005;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.516;entryY=0.846;entryDx=0;entryDy=0;entryPerimeter=0;labelBackgroundColor=none;fontColor=default;sketch=1;curveFitting=1;jiggle=2;" parent="1" source="0bahGi0PylKg2WLOz5wm-57" target="0bahGi0PylKg2WLOz5wm-74" edge="1">
<mxGeometry width="100" relative="1" as="geometry">
<mxPoint x="810" y="-736" as="sourcePoint" />
<mxPoint x="1138.08" y="-771.4299999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-59" value="Client" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="310" y="-637" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-62" value="+ main()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="0bahGi0PylKg2WLOz5wm-59" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-67" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=default;sketch=1;curveFitting=1;jiggle=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="NU-owD9JDnaCxtlqyRa8-18" target="0bahGi0PylKg2WLOz5wm-44" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="870" y="-870" as="sourcePoint" />
<mxPoint x="940" y="-1280" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="0bahGi0PylKg2WLOz5wm-71" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.004;entryY=0.051;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="0bahGi0PylKg2WLOz5wm-74" target="0bahGi0PylKg2WLOz5wm-1" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1910" y="-1026" as="sourcePoint" />
<mxPoint x="1910" y="-786" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NU-owD9JDnaCxtlqyRa8-14" value="ConcreteScrapingHandler" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="315" y="-1050" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="NU-owD9JDnaCxtlqyRa8-18" value="+ handle()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="NU-owD9JDnaCxtlqyRa8-14" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="NU-owD9JDnaCxtlqyRa8-20" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;rounded=0;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;exitX=0.463;exitY=1.038;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" parent="1" source="NU-owD9JDnaCxtlqyRa8-18" target="VJToghzIUKS7yTH11C6y-48" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="390" y="-797" as="sourcePoint" />
<mxPoint x="390" y="-797" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EVfMUVc_R_IaAUA9_Wqi-9" value="z" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;labelBackgroundColor=none;fontColor=default;sketch=1;curveFitting=1;jiggle=2;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="0bahGi0PylKg2WLOz5wm-62" target="VJToghzIUKS7yTH11C6y-48" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="325" y="-580" as="sourcePoint" />
<mxPoint x="470" y="-783.9999999999998" as="targetPoint" />
<Array as="points">
<mxPoint x="520" y="-590" />
<mxPoint x="520" y="-779" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EVfMUVc_R_IaAUA9_Wqi-10" value="Use" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="EVfMUVc_R_IaAUA9_Wqi-9" vertex="1" connectable="0">
<mxGeometry x="0.0985" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-1" value="MongoDB" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="1000" y="-662" width="220" height="162" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-5" value="- instance: MongoDB" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="jms6X4uIkYkjHnqjbYMZ-1" vertex="1">
<mxGeometry y="26" width="220" height="24" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-2" value="- connectingString: String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="jms6X4uIkYkjHnqjbYMZ-1" vertex="1">
<mxGeometry y="50" width="220" height="26" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-3" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="jms6X4uIkYkjHnqjbYMZ-1" vertex="1">
<mxGeometry y="76" width="220" height="8" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-4" value="- MongoDB()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="jms6X4uIkYkjHnqjbYMZ-1" vertex="1">
<mxGeometry y="84" width="220" height="26" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-9" value="+ postingListings(ArrayList&lt;Listing&gt;)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="jms6X4uIkYkjHnqjbYMZ-1" vertex="1">
<mxGeometry y="110" width="220" height="26" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-6" value="+ getInstance(): MongoDB" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="jms6X4uIkYkjHnqjbYMZ-1" vertex="1">
<mxGeometry y="136" width="220" height="26" as="geometry" />
</mxCell>
<mxCell id="jms6X4uIkYkjHnqjbYMZ-8" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="VJToghzIUKS7yTH11C6y-11" target="jms6X4uIkYkjHnqjbYMZ-1" edge="1">
<mxGeometry x="0.5918" width="160" relative="1" as="geometry">
<mxPoint x="1650" y="-416" as="sourcePoint" />
<mxPoint x="1810" y="-416" as="targetPoint" />
<Array as="points">
<mxPoint x="1110" y="-737" />
</Array>
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-46" value="<font style="font-size: 24px;">Chain of command pattern</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="310" y="-1202" width="175" height="120" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-47" value="<font style="font-size: 24px;">Strategy Pattern</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="990" y="-1006" width="175" height="120" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-48" value="Handler<div><br></div>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="310" y="-800" width="160" height="86" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-49" value="+ NextHandler: Handler" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="VJToghzIUKS7yTH11C6y-48" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-50" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="VJToghzIUKS7yTH11C6y-48" vertex="1">
<mxGeometry y="52" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="NU-owD9JDnaCxtlqyRa8-5" value="+ handle()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="VJToghzIUKS7yTH11C6y-48" vertex="1">
<mxGeometry y="60" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-53" value="<div style="background-color:#262626;color:#d0d0d0"><pre style="font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><div><pre style="font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#6c95eb;">//trigger try </span></pre><pre style="font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#6c95eb;">//catch for scraper</span></pre><pre style="font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#6c95eb;">base</span><span style="color:#bdbdbd;">.</span><span style="color:#39cc9b;">Handle</span><span style="color:#bdbdbd;">();</span></pre></div></pre></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="30" y="-1061" width="220" height="100" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-54" value="" style="shape=link;html=1;rounded=0;exitX=0.995;exitY=0.52;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=default;sketch=1;curveFitting=1;jiggle=2;width=6.923076923076923;" parent="1" source="VJToghzIUKS7yTH11C6y-53" target="NU-owD9JDnaCxtlqyRa8-18" edge="1">
<mxGeometry width="100" relative="1" as="geometry">
<mxPoint x="200" y="-928" as="sourcePoint" />
<mxPoint x="201" y="-990" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-55" value="<div style="background-color:#262626;color:#d0d0d0"><pre style="font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#6c95eb;">if </span><span style="color:#bdbdbd;">(</span><span style="color:#66c3cc;">NextHandler </span><span style="color:#bdbdbd;">!= </span><span style="color:#6c95eb;">null</span><span style="color:#bdbdbd;">)<br></span><span style="color:#bdbdbd;">{<br></span><span style="color:#bdbdbd;"> </span><span style="color:#66c3cc;">NextHandler</span><span style="color:#bdbdbd;">.</span><span style="color:#39cc9b;">Handle</span><span style="color:#bdbdbd;">();<br></span><span style="color:#bdbdbd;">}</span></pre></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;labelBackgroundColor=none;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="20" y="-790" width="220" height="100" as="geometry" />
</mxCell>
<mxCell id="VJToghzIUKS7yTH11C6y-56" value="" style="shape=link;html=1;rounded=0;exitX=0;exitY=0;exitDx=220;exitDy=65;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;fontColor=default;sketch=1;curveFitting=1;jiggle=2;width=6.923076923076923;" parent="1" source="VJToghzIUKS7yTH11C6y-55" target="NU-owD9JDnaCxtlqyRa8-5" edge="1">
<mxGeometry width="100" relative="1" as="geometry">
<mxPoint x="249" y="-968" as="sourcePoint" />
<mxPoint x="325" y="-967" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>