From 2c47cc4f366d088e6e1a70596575f39626776649 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 08:40:58 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=8D=95=E4=BE=8B?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/vcs.xml | 6 + Singleton/src/imp1/Singleton.java | 15 + Singleton/src/{ => imp2}/Singleton.java | 5 +- Singleton/src/imp3/Singleton.java | 12 + Singleton/src/imp4/Singleton.java | 19 + Singleton/src/imp5/Singleton.java | 5 + ...5\350\261\241\345\267\245\345\216\202.mdj" | 4208 +++-------------- 7 files changed, 738 insertions(+), 3532 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 Singleton/src/imp1/Singleton.java rename Singleton/src/{ => imp2}/Singleton.java (77%) create mode 100644 Singleton/src/imp3/Singleton.java create mode 100644 Singleton/src/imp4/Singleton.java create mode 100644 Singleton/src/imp5/Singleton.java diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Singleton/src/imp1/Singleton.java b/Singleton/src/imp1/Singleton.java new file mode 100644 index 0000000..3060c8e --- /dev/null +++ b/Singleton/src/imp1/Singleton.java @@ -0,0 +1,15 @@ +package imp1; + +public class Singleton { + private static Singleton uniqueInstance; + + private Singleton() { + } + + public static Singleton getUniqueInstance() { + if (uniqueInstance == null) { + uniqueInstance = new Singleton(); + } + return uniqueInstance; + } +} \ No newline at end of file diff --git a/Singleton/src/Singleton.java b/Singleton/src/imp2/Singleton.java similarity index 77% rename from Singleton/src/Singleton.java rename to Singleton/src/imp2/Singleton.java index c5ffe96..767e18f 100644 --- a/Singleton/src/Singleton.java +++ b/Singleton/src/imp2/Singleton.java @@ -1,7 +1,6 @@ -import java.io.Serializable; - -public class Singleton implements Serializable{ +package imp2; +public class Singleton { private static Singleton uniqueInstance; private Singleton() { diff --git a/Singleton/src/imp3/Singleton.java b/Singleton/src/imp3/Singleton.java new file mode 100644 index 0000000..7bf4b11 --- /dev/null +++ b/Singleton/src/imp3/Singleton.java @@ -0,0 +1,12 @@ +package imp3; + +public class Singleton { + private static Singleton uniqueInstance = new Singleton(); + + private Singleton() { + } + + public static Singleton getUniqueInstance() { + return uniqueInstance; + } +} \ No newline at end of file diff --git a/Singleton/src/imp4/Singleton.java b/Singleton/src/imp4/Singleton.java new file mode 100644 index 0000000..986652e --- /dev/null +++ b/Singleton/src/imp4/Singleton.java @@ -0,0 +1,19 @@ +package imp4; + +public class Singleton { + private volatile static Singleton uniqueInstance; + + private Singleton() { + } + + public static Singleton getUniqueInstance() { + if (uniqueInstance == null) { + synchronized (Singleton.class) { + if (uniqueInstance == null) { + uniqueInstance = new Singleton(); + } + } + } + return uniqueInstance; + } +} \ No newline at end of file diff --git a/Singleton/src/imp5/Singleton.java b/Singleton/src/imp5/Singleton.java new file mode 100644 index 0000000..3365647 --- /dev/null +++ b/Singleton/src/imp5/Singleton.java @@ -0,0 +1,5 @@ +package imp5; + +public enum Singleton { + uniqueInstance; +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\346\212\275\350\261\241\345\267\245\345\216\202.mdj" "b/UML \347\273\230\345\233\276/\346\212\275\350\261\241\345\267\245\345\216\202.mdj" index ad1f43b..386fe67 100644 --- "a/UML \347\273\230\345\233\276/\346\212\275\350\261\241\345\267\245\345\216\202.mdj" +++ "b/UML \347\273\230\345\233\276/\346\212\275\350\261\241\345\267\245\345\216\202.mdj" @@ -18,7 +18,6 @@ "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "Main", - "visible": true, "defaultDiagram": true, "ownedViews": [ { @@ -48,23 +47,10 @@ "$ref": "AAAAAAFid1rIAZt6e7o=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": -32, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 16, + "top": 16, + "height": 13 }, { "_type": "LabelView", @@ -72,25 +58,12 @@ "_parent": { "$ref": "AAAAAAFid1rIAZt6e7o=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 149, - "top": 143, + "left": 157, + "top": 167, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, - "text": "AbstractFactory", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "AbstractFactory" }, { "_type": "LabelView", @@ -99,24 +72,12 @@ "$ref": "AAAAAAFid1rIAZt6e7o=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": -32, + "left": 16, + "top": 16, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -125,39 +86,18 @@ "$ref": "AAAAAAFid1rIAZt6e7o=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": -32, - "width": 0, + "left": 16, + "top": 16, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 144, - "top": 136, + "font": "Arial;13;0", + "left": 152, + "top": 160, "width": 224.2333984375, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid1rIAZt7nx4=" }, @@ -180,20 +120,11 @@ "model": { "$ref": "AAAAAAFid1rIAJt3J4M=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 144, - "top": 161, + "font": "Arial;13;0", + "left": 152, + "top": 185, "width": 224.2333984375, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -214,25 +145,13 @@ "model": { "$ref": "AAAAAAFid1r44ZuhPwU=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 149, - "top": 176, + "left": 157, + "top": 200, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, "text": "+createProductA(): AbstractProductA", - "horizontalAlignment": 0, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 0 }, { "_type": "UMLOperationView", @@ -243,41 +162,20 @@ "model": { "$ref": "AAAAAAFid1tWdpuq9vA=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 149, - "top": 191, + "left": 157, + "top": 215, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, "text": "+createProductB(): AbstractProductB", - "horizontalAlignment": 0, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 0 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 144, - "top": 171, + "font": "Arial;13;0", + "left": 152, + "top": 195, "width": 224.2333984375, - "height": 38, - "autoResize": false + "height": 38 }, { "_type": "UMLReceptionCompartmentView", @@ -289,19 +187,11 @@ "$ref": "AAAAAAFid1rIAJt3J4M=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": -16, + "font": "Arial;13;0", + "left": 8, + "top": 8, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -313,49 +203,22 @@ "$ref": "AAAAAAFid1rIAJt3J4M=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": -16, + "font": "Arial;13;0", + "left": 8, + "top": 8, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 144, - "top": 136, + "left": 152, + "top": 160, "width": 224.2333984375, "height": 73, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, "nameCompartment": { "$ref": "AAAAAAFid1rIAZt6e7o=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid1rIApt/04M=" }, @@ -396,23 +259,10 @@ "$ref": "AAAAAAFid1xT0Jwes0k=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -400, + "left": -384, "top": -16, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "height": 13 }, { "_type": "LabelView", @@ -420,25 +270,12 @@ "_parent": { "$ref": "AAAAAAFid1xT0Jwes0k=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 45, + "left": 53, "top": 311, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, - "text": "ConcreteFactory1", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "ConcreteFactory1" }, { "_type": "LabelView", @@ -447,24 +284,12 @@ "$ref": "AAAAAAFid1xT0Jwes0k=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -400, + "left": -384, "top": -16, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -473,39 +298,18 @@ "$ref": "AAAAAAFid1xT0Jwes0k=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -400, + "left": -384, "top": -16, - "width": 0, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 40, + "font": "Arial;13;0", + "left": 48, "top": 304, "width": 224.2333984375, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid1xT0JwfbEA=" }, @@ -528,20 +332,11 @@ "model": { "$ref": "AAAAAAFid1xT0Jwbaxo=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 40, + "left": 48, "top": 329, "width": 224.2333984375, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -562,25 +357,13 @@ "model": { "$ref": "AAAAAAFid1ycJZxFXdk=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 45, + "left": 53, "top": 344, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, "text": "+createProductA(): AbstractProductA", - "horizontalAlignment": 0, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 0 }, { "_type": "UMLOperationView", @@ -591,41 +374,20 @@ "model": { "$ref": "AAAAAAFid1zf8JxOZiY=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 45, + "left": 53, "top": 359, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, "text": "+createProductB(): AbstractProductB", - "horizontalAlignment": 0, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 0 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 40, + "font": "Arial;13;0", + "left": 48, "top": 339, "width": 224.2333984375, - "height": 38, - "autoResize": false + "height": 38 }, { "_type": "UMLReceptionCompartmentView", @@ -637,19 +399,11 @@ "$ref": "AAAAAAFid1xT0Jwbaxo=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -200, + "font": "Arial;13;0", + "left": -192, "top": -8, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -661,49 +415,22 @@ "$ref": "AAAAAAFid1xT0Jwbaxo=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -200, + "font": "Arial;13;0", + "left": -192, "top": -8, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 40, + "left": 48, "top": 304, "width": 224.2333984375, "height": 73, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, "nameCompartment": { "$ref": "AAAAAAFid1xT0Jwes0k=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid1xT0ZwjqEI=" }, @@ -744,23 +471,10 @@ "$ref": "AAAAAAFid10yWJxdH54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -224, + "left": -288, "top": -48, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "height": 13 }, { "_type": "LabelView", @@ -768,25 +482,12 @@ "_parent": { "$ref": "AAAAAAFid10yWJxdH54=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 333, + "left": 301, "top": 311, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, - "text": "ConcreateFactory2", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "ConcreateFactory2" }, { "_type": "LabelView", @@ -795,24 +496,12 @@ "$ref": "AAAAAAFid10yWJxdH54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -224, + "left": -288, "top": -48, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -821,39 +510,18 @@ "$ref": "AAAAAAFid10yWJxdH54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -224, + "left": -288, "top": -48, - "width": 0, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 328, + "font": "Arial;13;0", + "left": 296, "top": 304, "width": 224.2333984375, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid10yWJxe+SE=" }, @@ -876,20 +544,11 @@ "model": { "$ref": "AAAAAAFid10yV5xaLFA=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 328, + "left": 296, "top": 329, "width": 224.2333984375, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -910,25 +569,13 @@ "model": { "$ref": "AAAAAAFid11vu5yEY1M=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 333, + "left": 301, "top": 344, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, "text": "+createProductA(): AbstractProductA", - "horizontalAlignment": 0, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 0 }, { "_type": "UMLOperationView", @@ -939,41 +586,20 @@ "model": { "$ref": "AAAAAAFid12Sl5yNHyA=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 333, + "left": 301, "top": 359, "width": 214.2333984375, "height": 13, - "autoResize": false, - "underline": false, "text": "+createProductB(): AbstractProductB", - "horizontalAlignment": 0, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 0 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 328, + "font": "Arial;13;0", + "left": 296, "top": 339, "width": 224.2333984375, - "height": 38, - "autoResize": false + "height": 38 }, { "_type": "UMLReceptionCompartmentView", @@ -985,19 +611,11 @@ "$ref": "AAAAAAFid10yV5xaLFA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -120, + "font": "Arial;13;0", + "left": -152, "top": -24, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -1009,49 +627,22 @@ "$ref": "AAAAAAFid10yV5xaLFA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -120, + "font": "Arial;13;0", + "left": -152, "top": -24, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 328, + "left": 296, "top": 304, "width": 224.2333984375, "height": 73, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, "nameCompartment": { "$ref": "AAAAAAFid10yWJxdH54=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid10yWZxiFiI=" }, @@ -1092,23 +683,10 @@ "$ref": "AAAAAAFid14Nopyc6Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -96, - "top": -144, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -272, + "top": -80, + "height": 13 }, { "_type": "LabelView", @@ -1116,25 +694,12 @@ "_parent": { "$ref": "AAAAAAFid14Nopyc6Go=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 765, - "top": 151, - "width": 70.11181640625, + "left": 677, + "top": 183, + "width": 103, "height": 13, - "autoResize": false, - "underline": false, - "text": "Client", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "Client" }, { "_type": "LabelView", @@ -1143,24 +708,12 @@ "$ref": "AAAAAAFid14Nopyc6Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -96, - "top": -144, + "left": -272, + "top": -80, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -1169,39 +722,18 @@ "$ref": "AAAAAAFid14Nopyc6Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -96, - "top": -144, - "width": 0, + "left": -272, + "top": -80, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 760, - "top": 144, - "width": 80.11181640625, + "font": "Arial;13;0", + "left": 672, + "top": 176, + "width": 113, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid14No5ydgWs=" }, @@ -1224,20 +756,11 @@ "model": { "$ref": "AAAAAAFid14NopyZ3Go=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 760, - "top": 169, - "width": 80.11181640625, - "height": 10, - "autoResize": false + "left": 672, + "top": 201, + "width": 113, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -1248,20 +771,11 @@ "model": { "$ref": "AAAAAAFid14NopyZ3Go=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 760, - "top": 179, - "width": 80.11181640625, - "height": 10, - "autoResize": false + "left": 672, + "top": 211, + "width": 113, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -1273,19 +787,11 @@ "$ref": "AAAAAAFid14NopyZ3Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -48, - "top": -72, + "font": "Arial;13;0", + "left": -136, + "top": -40, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -1297,49 +803,23 @@ "$ref": "AAAAAAFid14NopyZ3Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -48, - "top": -72, + "font": "Arial;13;0", + "left": -136, + "top": -40, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 760, - "top": 144, - "width": 80.11181640625, + "left": 672, + "top": 176, + "width": 113, "height": 54, - "autoResize": false, "stereotypeDisplay": "none", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, "nameCompartment": { "$ref": "AAAAAAFid14Nopyc6Go=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid14No5yhVdg=" }, @@ -1380,23 +860,9 @@ "$ref": "AAAAAAFid14ukJzZrEI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -48, - "top": -16, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -144, + "height": 13 }, { "_type": "LabelView", @@ -1404,25 +870,12 @@ "_parent": { "$ref": "AAAAAAFid14ukJzZrEI=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 613, - "top": 303, - "width": 111.236328125, + "left": 565, + "top": 311, + "width": 119, "height": 13, - "autoResize": false, - "underline": false, - "text": "AbstractProductA", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "AbstractProductA" }, { "_type": "LabelView", @@ -1431,24 +884,11 @@ "$ref": "AAAAAAFid14ukJzZrEI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -48, - "top": -16, + "left": -144, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -1457,39 +897,17 @@ "$ref": "AAAAAAFid14ukJzZrEI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -48, - "top": -16, - "width": 0, + "left": -144, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 608, - "top": 296, - "width": 121.236328125, + "font": "Arial;13;0", + "left": 560, + "top": 304, + "width": 129, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid14ukJzatrI=" }, @@ -1512,20 +930,11 @@ "model": { "$ref": "AAAAAAFid14uj5zWxGw=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 608, - "top": 321, - "width": 121.236328125, - "height": 10, - "autoResize": false + "left": 560, + "top": 329, + "width": 129, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -1536,20 +945,11 @@ "model": { "$ref": "AAAAAAFid14uj5zWxGw=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 608, - "top": 331, - "width": 121.236328125, - "height": 10, - "autoResize": false + "left": 560, + "top": 339, + "width": 129, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -1561,19 +961,10 @@ "$ref": "AAAAAAFid14uj5zWxGw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -24, - "top": -8, + "font": "Arial;13;0", + "left": -72, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -1585,49 +976,21 @@ "$ref": "AAAAAAFid14uj5zWxGw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -24, - "top": -8, + "font": "Arial;13;0", + "left": -72, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 608, - "top": 296, - "width": 121.236328125, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, + "left": 560, + "top": 304, + "width": 129, + "height": 57, "nameCompartment": { "$ref": "AAAAAAFid14ukJzZrEI=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid14ukZzebJk=" }, @@ -1668,23 +1031,9 @@ "$ref": "AAAAAAFid15TNJ0DAF0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 112, - "top": -16, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -64, + "height": 13 }, { "_type": "LabelView", @@ -1692,25 +1041,12 @@ "_parent": { "$ref": "AAAAAAFid15TNJ0DAF0=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 861, - "top": 303, - "width": 111.236328125, + "left": 773, + "top": 311, + "width": 119, "height": 13, - "autoResize": false, - "underline": false, - "text": "AbstractProductB", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "AbstractProductB" }, { "_type": "LabelView", @@ -1719,24 +1055,11 @@ "$ref": "AAAAAAFid15TNJ0DAF0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 112, - "top": -16, + "left": -64, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -1745,39 +1068,17 @@ "$ref": "AAAAAAFid15TNJ0DAF0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 112, - "top": -16, - "width": 0, + "left": -64, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 856, - "top": 296, - "width": 121.236328125, + "font": "Arial;13;0", + "left": 768, + "top": 304, + "width": 129, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid15TNJ0ELzo=" }, @@ -1800,20 +1101,11 @@ "model": { "$ref": "AAAAAAFid15TM50AIm0=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 856, - "top": 321, - "width": 121.236328125, - "height": 10, - "autoResize": false + "left": 768, + "top": 329, + "width": 129, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -1824,20 +1116,11 @@ "model": { "$ref": "AAAAAAFid15TM50AIm0=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 856, - "top": 331, - "width": 121.236328125, - "height": 10, - "autoResize": false + "left": 768, + "top": 339, + "width": 129, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -1849,19 +1132,10 @@ "$ref": "AAAAAAFid15TM50AIm0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 56, - "top": -8, + "font": "Arial;13;0", + "left": -32, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -1873,49 +1147,21 @@ "$ref": "AAAAAAFid15TM50AIm0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 56, - "top": -8, + "font": "Arial;13;0", + "left": -32, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 856, - "top": 296, - "width": 121.236328125, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, + "left": 768, + "top": 304, + "width": 129, + "height": 57, "nameCompartment": { "$ref": "AAAAAAFid15TNJ0DAF0=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid15TNJ0IJ/g=" }, @@ -1956,23 +1202,10 @@ "$ref": "AAAAAAFid16alZ0tiO0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -32, + "left": -64, "top": -16, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "height": 13 }, { "_type": "LabelView", @@ -1980,25 +1213,12 @@ "_parent": { "$ref": "AAAAAAFid16alZ0tiO0=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 573, + "left": 549, "top": 415, - "width": 65.72998046875, + "width": 73.72998046875, "height": 13, - "autoResize": false, - "underline": false, - "text": "ProductA1", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "ProductA1" }, { "_type": "LabelView", @@ -2007,24 +1227,12 @@ "$ref": "AAAAAAFid16alZ0tiO0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -32, + "left": -64, "top": -16, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -2033,39 +1241,18 @@ "$ref": "AAAAAAFid16alZ0tiO0=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -32, + "left": -64, "top": -16, - "width": 0, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 568, + "font": "Arial;13;0", + "left": 544, "top": 408, - "width": 75.72998046875, + "width": 83.72998046875, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid16alZ0ur3g=" }, @@ -2088,20 +1275,11 @@ "model": { "$ref": "AAAAAAFid16alJ0q2IA=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 568, + "left": 544, "top": 433, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 83.72998046875, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -2112,20 +1290,11 @@ "model": { "$ref": "AAAAAAFid16alJ0q2IA=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 568, + "left": 544, "top": 443, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 83.72998046875, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -2137,19 +1306,11 @@ "$ref": "AAAAAAFid16alJ0q2IA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -16, + "font": "Arial;13;0", + "left": -32, "top": -8, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -2161,49 +1322,22 @@ "$ref": "AAAAAAFid16alJ0q2IA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -16, + "font": "Arial;13;0", + "left": -32, "top": -8, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 568, + "left": 544, "top": 408, - "width": 75.72998046875, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, + "width": 83.72998046875, + "height": 49, "nameCompartment": { "$ref": "AAAAAAFid16alZ0tiO0=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid16alZ0y/pQ=" }, @@ -2244,23 +1378,10 @@ "$ref": "AAAAAAFid16xMp1X0ls=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -144, + "left": -208, "top": -32, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "height": 13 }, { "_type": "LabelView", @@ -2268,25 +1389,12 @@ "_parent": { "$ref": "AAAAAAFid16xMp1X0ls=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 693, + "left": 661, "top": 415, - "width": 65.72998046875, + "width": 71, "height": 13, - "autoResize": false, - "underline": false, - "text": "ProductA2", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "ProductA2" }, { "_type": "LabelView", @@ -2295,24 +1403,12 @@ "$ref": "AAAAAAFid16xMp1X0ls=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -144, + "left": -208, "top": -32, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -2321,39 +1417,18 @@ "$ref": "AAAAAAFid16xMp1X0ls=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -144, + "left": -208, "top": -32, - "width": 0, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 688, + "font": "Arial;13;0", + "left": 656, "top": 408, - "width": 75.72998046875, + "width": 81, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid16xMp1Y9I0=" }, @@ -2376,20 +1451,11 @@ "model": { "$ref": "AAAAAAFid16xMZ1UwkI=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 688, + "left": 656, "top": 433, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 81, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -2400,20 +1466,11 @@ "model": { "$ref": "AAAAAAFid16xMZ1UwkI=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 688, + "left": 656, "top": 443, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 81, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -2425,19 +1482,11 @@ "$ref": "AAAAAAFid16xMZ1UwkI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -72, - "top": -16, + "font": "Arial;13;0", + "left": -96, + "top": -24, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -2449,49 +1498,22 @@ "$ref": "AAAAAAFid16xMZ1UwkI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -72, - "top": -16, + "font": "Arial;13;0", + "left": -96, + "top": -24, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 688, + "left": 656, "top": 408, - "width": 75.72998046875, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, + "width": 81, + "height": 49, "nameCompartment": { "$ref": "AAAAAAFid16xMp1X0ls=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid16xMp1c9dc=" }, @@ -2532,23 +1554,10 @@ "$ref": "AAAAAAFid17QgZ2Cads=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -128, + "left": -224, "top": -32, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "height": 13 }, { "_type": "LabelView", @@ -2556,25 +1565,12 @@ "_parent": { "$ref": "AAAAAAFid17QgZ2Cads=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 821, + "left": 765, "top": 415, - "width": 65.72998046875, + "width": 73.72998046875, "height": 13, - "autoResize": false, - "underline": false, - "text": "ProductB1", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "ProductB1" }, { "_type": "LabelView", @@ -2583,24 +1579,12 @@ "$ref": "AAAAAAFid17QgZ2Cads=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -128, + "left": -224, "top": -32, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -2609,39 +1593,18 @@ "$ref": "AAAAAAFid17QgZ2Cads=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -128, + "left": -224, "top": -32, - "width": 0, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 816, + "font": "Arial;13;0", + "left": 760, "top": 408, - "width": 75.72998046875, + "width": 83.72998046875, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid17QgZ2DDJc=" }, @@ -2664,20 +1627,11 @@ "model": { "$ref": "AAAAAAFid17QgZ1/mbc=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 816, + "left": 760, "top": 433, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 83.72998046875, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -2688,20 +1642,11 @@ "model": { "$ref": "AAAAAAFid17QgZ1/mbc=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 816, + "left": 760, "top": 443, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 83.72998046875, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -2713,19 +1658,11 @@ "$ref": "AAAAAAFid17QgZ1/mbc=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -64, + "font": "Arial;13;0", + "left": -112, "top": -16, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -2737,49 +1674,22 @@ "$ref": "AAAAAAFid17QgZ1/mbc=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -64, + "font": "Arial;13;0", + "left": -112, "top": -16, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 816, + "left": 760, "top": 408, - "width": 75.72998046875, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, + "width": 83.72998046875, + "height": 49, "nameCompartment": { "$ref": "AAAAAAFid17QgZ2Cads=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid17Qgp2HL7M=" }, @@ -2820,23 +1730,10 @@ "$ref": "AAAAAAFid17rLZ2sGjU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -304, + "left": -464, "top": -80, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "height": 13 }, { "_type": "LabelView", @@ -2844,25 +1741,12 @@ "_parent": { "$ref": "AAAAAAFid17rLZ2sGjU=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 949, + "left": 869, "top": 415, - "width": 65.72998046875, + "width": 71, "height": 13, - "autoResize": false, - "underline": false, - "text": "ProductB2", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "ProductB2" }, { "_type": "LabelView", @@ -2871,24 +1755,12 @@ "$ref": "AAAAAAFid17rLZ2sGjU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -304, + "left": -464, "top": -80, "width": 73.67724609375, "height": 13, - "autoResize": false, - "underline": false, - "text": "(from Model)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "text": "(from Model)" }, { "_type": "LabelView", @@ -2897,39 +1769,18 @@ "$ref": "AAAAAAFid17rLZ2sGjU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -304, + "left": -464, "top": -80, - "width": 0, "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "horizontalAlignment": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 944, + "font": "Arial;13;0", + "left": 864, "top": 408, - "width": 75.72998046875, + "width": 81, "height": 25, - "autoResize": false, "stereotypeLabel": { "$ref": "AAAAAAFid17rLZ2trlw=" }, @@ -2952,20 +1803,11 @@ "model": { "$ref": "AAAAAAFid17rLJ2pYNU=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 944, + "left": 864, "top": 433, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 81, + "height": 10 }, { "_type": "UMLOperationCompartmentView", @@ -2976,20 +1818,11 @@ "model": { "$ref": "AAAAAAFid17rLJ2pYNU=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 944, + "left": 864, "top": 443, - "width": 75.72998046875, - "height": 10, - "autoResize": false + "width": 81, + "height": 10 }, { "_type": "UMLReceptionCompartmentView", @@ -3001,19 +1834,11 @@ "$ref": "AAAAAAFid17rLJ2pYNU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -152, + "font": "Arial;13;0", + "left": -232, "top": -40, "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", @@ -3025,49 +1850,22 @@ "$ref": "AAAAAAFid17rLJ2pYNU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -152, + "font": "Arial;13;0", + "left": -232, "top": -40, "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, "containerChangeable": true, - "containerExtending": false, - "left": 944, + "left": 864, "top": 408, - "width": 75.72998046875, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, + "width": 81, + "height": 49, "nameCompartment": { "$ref": "AAAAAAFid17rLZ2sGjU=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, "attributeCompartment": { "$ref": "AAAAAAFid17rLp2xkyY=" }, @@ -3101,29 +1899,16 @@ "$ref": "AAAAAAFid19kUZ5DMSU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 623, - "top": 360, - "width": 0, + "font": "Arial;13;0", + "left": 590, + "top": 372, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid19kUZ5FFLw=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3135,29 +1920,16 @@ "$ref": "AAAAAAFid19kUZ5DMSU=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 610, - "top": 353, - "width": 0, + "font": "Arial;13;0", + "left": 576, + "top": 367, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid19kUZ5FFLw=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3169,40 +1941,19 @@ "$ref": "AAAAAAFid19kUZ5DMSU=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 648, - "top": 375, - "width": 0, + "font": "Arial;13;0", + "left": 617, + "top": 383, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid19kUZ5FFLw=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid14ukJzYgAA=" }, @@ -3210,10 +1961,8 @@ "$ref": "AAAAAAFid16alJ0sQvU=" }, "lineStyle": 1, - "points": "618:407;655:341", - "stereotypeDisplay": "label", + "points": "595:407;613:361", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid19kUp5GQBs=" }, @@ -3244,29 +1993,16 @@ "$ref": "AAAAAAFid191LJ5UzJM=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 682, - "top": 374, - "width": 0, + "font": "Arial;13;0", + "left": 648, + "top": 386, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid191LZ5WsCI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3278,29 +2014,16 @@ "$ref": "AAAAAAFid191LJ5UzJM=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 669, - "top": 381, - "width": 0, + "font": "Arial;13;0", + "left": 636, + "top": 395, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid191LZ5WsCI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3312,40 +2035,19 @@ "$ref": "AAAAAAFid191LJ5UzJM=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 709, - "top": 361, - "width": 0, + "font": "Arial;13;0", + "left": 673, + "top": 369, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid191LZ5WsCI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid14ukJzYgAA=" }, @@ -3353,10 +2055,8 @@ "$ref": "AAAAAAFid16xMZ1WCwU=" }, "lineStyle": 1, - "points": "713:407;680:341", - "stereotypeDisplay": "label", + "points": "678:407;645:361", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid191LZ5XUEU=" }, @@ -3387,29 +2087,16 @@ "$ref": "AAAAAAFid19//55l7EI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 871, - "top": 360, - "width": 0, + "font": "Arial;13;0", + "left": 801, + "top": 373, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid19//55nRa0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3421,29 +2108,16 @@ "$ref": "AAAAAAFid19//55l7EI=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 858, - "top": 353, - "width": 0, + "font": "Arial;13;0", + "left": 787, + "top": 369, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid19//55nRa0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3455,40 +2129,19 @@ "$ref": "AAAAAAFid19//55l7EI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 896, - "top": 375, - "width": 0, + "font": "Arial;13;0", + "left": 830, + "top": 382, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid19//55nRa0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid15TNJ0C6RQ=" }, @@ -3496,10 +2149,8 @@ "$ref": "AAAAAAFid17QgZ2BuRo=" }, "lineStyle": 1, - "points": "866:407;903:341", - "stereotypeDisplay": "label", + "points": "809:407;823:361", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid1+AAJ5oo4I=" }, @@ -3530,29 +2181,16 @@ "$ref": "AAAAAAFid1+JNZ52iMg=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 935, - "top": 375, - "width": 0, + "font": "Arial;13;0", + "left": 856, + "top": 386, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid1+JNZ54imw=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3564,29 +2202,16 @@ "$ref": "AAAAAAFid1+JNZ52iMg=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 922, - "top": 382, - "width": 0, + "font": "Arial;13;0", + "left": 844, + "top": 395, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid1+JNZ54imw=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3598,40 +2223,19 @@ "$ref": "AAAAAAFid1+JNZ52iMg=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 960, - "top": 360, - "width": 0, + "font": "Arial;13;0", + "left": 881, + "top": 369, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid1+JNZ54imw=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid15TNJ0C6RQ=" }, @@ -3639,10 +2243,8 @@ "$ref": "AAAAAAFid17rLZ2rL54=" }, "lineStyle": 1, - "points": "968:407;929:341", - "stereotypeDisplay": "label", + "points": "886:407;853:361", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid1+JNZ55jn0=" }, @@ -3673,29 +2275,16 @@ "$ref": "AAAAAAFid2BXBp6ZcrE=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 742, - "top": 249, - "width": 0, + "font": "Arial;13;0", + "left": 687, + "top": 269, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3707,29 +2296,16 @@ "$ref": "AAAAAAFid2BXBp6ZcrE=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 753, - "top": 259, - "width": 0, + "font": "Arial;13;0", + "left": 699, + "top": 278, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3741,29 +2317,16 @@ "$ref": "AAAAAAFid2BXBp6ZcrE=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 719, - "top": 230, - "width": 0, + "font": "Arial;13;0", + "left": 664, + "top": 250, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -3775,29 +2338,16 @@ "$ref": "AAAAAAFid2BXBp6ao9U=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 767, - "top": 221, - "width": 0, + "font": "Arial;13;0", + "left": 701, + "top": 253, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -3809,29 +2359,16 @@ "$ref": "AAAAAAFid2BXBp6ao9U=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 776, - "top": 231, - "width": 0, + "font": "Arial;13;0", + "left": 710, + "top": 263, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -3843,29 +2380,16 @@ "$ref": "AAAAAAFid2BXBp6ao9U=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 750, - "top": 199, - "width": 0, + "font": "Arial;13;0", + "left": 682, + "top": 232, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -3877,29 +2401,15 @@ "$ref": "AAAAAAFid2BXBp6bRq8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 716, - "top": 279, - "width": 0, + "font": "Arial;13;0", + "left": 674, + "top": 286, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -3911,29 +2421,15 @@ "$ref": "AAAAAAFid2BXBp6bRq8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 727, - "top": 286, - "width": 0, + "font": "Arial;13;0", + "left": 686, + "top": 292, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -3945,29 +2441,15 @@ "$ref": "AAAAAAFid2BXBp6bRq8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 693, - "top": 264, - "width": 0, + "font": "Arial;13;0", + "left": 650, + "top": 272, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2BXB56dXJI=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -3979,19 +2461,9 @@ "$ref": "AAAAAAFid2BXBp6ao9U=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -4003,30 +2475,12 @@ "$ref": "AAAAAAFid2BXBp6bRq8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid14ukJzYgAA=" }, @@ -4034,10 +2488,8 @@ "$ref": "AAAAAAFid14NopybKF8=" }, "lineStyle": 1, - "points": "774:198;688:295", - "stereotypeDisplay": "label", + "points": "706:230;647:303", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2BXB56etLo=" }, @@ -4047,8 +2499,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2BXB56gdw0=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2BXB56hwrc=" }, @@ -4094,29 +2544,16 @@ "$ref": "AAAAAAFid2BjeJ7c8wQ=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 870, - "top": 230, - "width": 0, + "font": "Arial;13;0", + "left": 790, + "top": 250, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4128,29 +2565,16 @@ "$ref": "AAAAAAFid2BjeJ7c8wQ=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 882, - "top": 221, - "width": 0, + "font": "Arial;13;0", + "left": 802, + "top": 241, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4162,29 +2586,16 @@ "$ref": "AAAAAAFid2BjeJ7c8wQ=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 847, - "top": 249, - "width": 0, + "font": "Arial;13;0", + "left": 767, + "top": 269, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4196,29 +2607,16 @@ "$ref": "AAAAAAFid2BjeJ7dX54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 848, - "top": 203, - "width": 0, + "font": "Arial;13;0", + "left": 777, + "top": 234, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -4230,29 +2628,16 @@ "$ref": "AAAAAAFid2BjeJ7dX54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 860, - "top": 196, - "width": 0, + "font": "Arial;13;0", + "left": 789, + "top": 228, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -4264,29 +2649,16 @@ "$ref": "AAAAAAFid2BjeJ7dX54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 824, - "top": 216, - "width": 0, + "font": "Arial;13;0", + "left": 753, + "top": 248, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -4298,29 +2670,15 @@ "$ref": "AAAAAAFid2BjeJ7eUKA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 893, - "top": 259, - "width": 0, + "font": "Arial;13;0", + "left": 804, + "top": 267, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -4332,29 +2690,15 @@ "$ref": "AAAAAAFid2BjeJ7eUKA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 902, - "top": 249, - "width": 0, + "font": "Arial;13;0", + "left": 813, + "top": 257, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -4366,29 +2710,15 @@ "$ref": "AAAAAAFid2BjeJ7eUKA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 874, - "top": 279, - "width": 0, + "font": "Arial;13;0", + "left": 785, + "top": 288, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2BjeZ7gGCQ=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -4400,19 +2730,9 @@ "$ref": "AAAAAAFid2BjeJ7dX54=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -4424,30 +2744,12 @@ "$ref": "AAAAAAFid2BjeJ7eUKA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid15TNJ0C6RQ=" }, @@ -4455,10 +2757,8 @@ "$ref": "AAAAAAFid14NopybKF8=" }, "lineStyle": 1, - "points": "821:198;898:295", - "stereotypeDisplay": "label", + "points": "750:230;809:303", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2BjeZ7hI6w=" }, @@ -4468,8 +2768,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2BjeZ7j8Hk=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2BjeZ7kvmI=" }, @@ -4515,29 +2813,16 @@ "$ref": "AAAAAAFid2CLx5921Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 563, - "top": 179, - "width": 0, + "font": "Arial;13;0", + "left": 522, + "top": 207, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4549,29 +2834,16 @@ "$ref": "AAAAAAFid2CLx5921Go=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 563, - "top": 194, - "width": 0, + "font": "Arial;13;0", + "left": 522, + "top": 222, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4583,29 +2855,16 @@ "$ref": "AAAAAAFid2CLx5921Go=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 562, - "top": 150, - "width": 0, + "font": "Arial;13;0", + "left": 523, + "top": 178, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4617,29 +2876,16 @@ "$ref": "AAAAAAFid2CLx5936Ns=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 733, - "top": 179, - "width": 0, + "font": "Arial;13;0", + "left": 644, + "top": 209, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -4651,29 +2897,16 @@ "$ref": "AAAAAAFid2CLx5936Ns=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 730, - "top": 192, - "width": 0, + "font": "Arial;13;0", + "left": 642, + "top": 222, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -4685,29 +2918,16 @@ "$ref": "AAAAAAFid2CLx5936Ns=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 737, - "top": 151, - "width": 0, + "font": "Arial;13;0", + "left": 649, + "top": 182, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -4719,29 +2939,15 @@ "$ref": "AAAAAAFid2CLx594MzQ=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 394, - "top": 180, - "width": 0, + "font": "Arial;13;0", + "left": 401, + "top": 206, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -4753,29 +2959,15 @@ "$ref": "AAAAAAFid2CLx594MzQ=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 396, - "top": 194, - "width": 0, + "font": "Arial;13;0", + "left": 403, + "top": 219, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -4787,29 +2979,15 @@ "$ref": "AAAAAAFid2CLx594MzQ=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 389, - "top": 153, - "width": 0, + "font": "Arial;13;0", + "left": 397, + "top": 178, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2CLyJ96JUg=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -4821,19 +2999,9 @@ "$ref": "AAAAAAFid2CLx5936Ns=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -4845,30 +3013,12 @@ "$ref": "AAAAAAFid2CLx594MzQ=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid1rIAJt5ji0=" }, @@ -4876,10 +3026,8 @@ "$ref": "AAAAAAFid14NopybKF8=" }, "lineStyle": 1, - "points": "759:170;368:172", - "stereotypeDisplay": "label", + "points": "671:201;376:197", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2CLyJ97HcE=" }, @@ -4889,8 +3037,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2CLyJ993BE=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2CLyJ9+VYg=" }, @@ -4936,29 +3082,16 @@ "$ref": "AAAAAAFid2C9d6A8+Q4=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 190, - "top": 242, - "width": 0, + "font": "Arial;13;0", + "left": 198, + "top": 253, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2C9d6A+y+c=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -4970,29 +3103,16 @@ "$ref": "AAAAAAFid2C9d6A8+Q4=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 177, - "top": 234, - "width": 0, + "font": "Arial;13;0", + "left": 186, + "top": 244, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2C9d6A+y+c=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5004,40 +3124,19 @@ "$ref": "AAAAAAFid2C9d6A8+Q4=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 215, - "top": 257, - "width": 0, + "font": "Arial;13;0", + "left": 223, + "top": 270, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2C9d6A+y+c=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid1rIAJt5ji0=" }, @@ -5045,10 +3144,8 @@ "$ref": "AAAAAAFid1xT0Jwd4Hw=" }, "lineStyle": 1, - "points": "174:303;232:209", - "stereotypeDisplay": "label", + "points": "186:303;236:233", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2C9d6A/dQs=" }, @@ -5079,29 +3176,16 @@ "$ref": "AAAAAAFid2DT8aB6BYE=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 336, - "top": 261, - "width": 0, + "font": "Arial;13;0", + "left": 324, + "top": 272, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2DT8aB8Wk0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5113,29 +3197,16 @@ "$ref": "AAAAAAFid2DT8aB6BYE=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 326, - "top": 272, - "width": 0, + "font": "Arial;13;0", + "left": 313, + "top": 283, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2DT8aB8Wk0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5147,40 +3218,19 @@ "$ref": "AAAAAAFid2DT8aB6BYE=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 357, - "top": 238, - "width": 0, + "font": "Arial;13;0", + "left": 345, + "top": 251, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2DT8aB8Wk0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid1rIAJt5ji0=" }, @@ -5188,10 +3238,8 @@ "$ref": "AAAAAAFid10yWJxcnr8=" }, "lineStyle": 1, - "points": "398:303;296:209", - "stereotypeDisplay": "label", + "points": "370:303;300:233", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2DT8aB90Jo=" }, @@ -5222,29 +3270,16 @@ "$ref": "AAAAAAFid2EhYKEA20Q=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 375, "top": 467, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5256,29 +3291,16 @@ "$ref": "AAAAAAFid2EhYKEA20Q=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 375, "top": 452, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5290,29 +3312,16 @@ "$ref": "AAAAAAFid2EhYKEA20Q=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 375, "top": 497, - "width": 0, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5324,29 +3333,16 @@ "$ref": "AAAAAAFid2EhYKEBNk8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 166, "top": 395, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -5358,29 +3354,16 @@ "$ref": "AAAAAAFid2EhYKEBNk8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 179, "top": 398, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -5392,29 +3375,16 @@ "$ref": "AAAAAAFid2EhYKEBNk8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 138, "top": 391, - "width": 0, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -5426,29 +3396,15 @@ "$ref": "AAAAAAFid2EhYKECuhI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 585, - "top": 471, - "width": 0, + "top": 475, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -5460,29 +3416,15 @@ "$ref": "AAAAAAFid2EhYKECuhI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 571, - "top": 474, - "width": 0, + "top": 478, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -5494,29 +3436,15 @@ "$ref": "AAAAAAFid2EhYKECuhI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 612, - "top": 467, - "width": 0, + "top": 471, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2EhYKEEOBc=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -5528,19 +3456,9 @@ "$ref": "AAAAAAFid2EhYKEBNk8=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -5552,41 +3470,20 @@ "$ref": "AAAAAAFid2EhYKECuhI=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid16alJ0sQvU=" }, "tail": { "$ref": "AAAAAAFid1xT0Jwd4Hw=" }, - "lineStyle": 0, - "points": "151:376;151:488;600:488;600:452", - "stereotypeDisplay": "label", + "points": "151:376;151:488;600:488;600:456", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2EhYKEFyUw=" }, @@ -5596,8 +3493,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2EhYaEH9C8=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2EhYaEIrDQ=" }, @@ -5643,29 +3538,16 @@ "$ref": "AAAAAAFid2Fq1KHpxy4=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 480, + "font": "Arial;13;0", + "left": 464, "top": 467, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5677,29 +3559,16 @@ "$ref": "AAAAAAFid2Fq1KHpxy4=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 480, + "font": "Arial;13;0", + "left": 464, "top": 452, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5711,29 +3580,16 @@ "$ref": "AAAAAAFid2Fq1KHpxy4=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 480, + "font": "Arial;13;0", + "left": 464, "top": 497, - "width": 0, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -5745,29 +3601,16 @@ "$ref": "AAAAAAFid2Fq1KHqVxM=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 119, "top": 395, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -5779,29 +3622,16 @@ "$ref": "AAAAAAFid2Fq1KHqVxM=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 132, "top": 398, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -5813,29 +3643,16 @@ "$ref": "AAAAAAFid2Fq1KHqVxM=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 91, "top": 391, - "width": 0, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -5847,29 +3664,15 @@ "$ref": "AAAAAAFid2Fq1KHrerw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 841, - "top": 471, - "width": 0, + "font": "Arial;13;0", + "left": 809, + "top": 475, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -5881,29 +3684,15 @@ "$ref": "AAAAAAFid2Fq1KHrerw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 827, - "top": 474, - "width": 0, + "font": "Arial;13;0", + "left": 795, + "top": 478, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -5915,29 +3704,15 @@ "$ref": "AAAAAAFid2Fq1KHrerw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 868, - "top": 467, - "width": 0, + "font": "Arial;13;0", + "left": 836, + "top": 471, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2Fq1aHtRds=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -5949,19 +3724,9 @@ "$ref": "AAAAAAFid2Fq1KHqVxM=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -5973,41 +3738,20 @@ "$ref": "AAAAAAFid2Fq1KHrerw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid17QgZ2BuRo=" }, "tail": { "$ref": "AAAAAAFid1xT0Jwd4Hw=" }, - "lineStyle": 0, - "points": "104:376;104:488;856:488;856:452", - "stereotypeDisplay": "label", + "points": "104:376;104:488;824:488;824:456", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2Fq1aHuadI=" }, @@ -6017,8 +3761,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2Fq1aHwoA0=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2Fq1qHxXX4=" }, @@ -6064,29 +3806,16 @@ "$ref": "AAAAAAFid2Hnvablf2c=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 579, + "font": "Arial;13;0", + "left": 567, "top": 523, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -6098,29 +3827,16 @@ "$ref": "AAAAAAFid2Hnvablf2c=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 579, + "font": "Arial;13;0", + "left": 567, "top": 508, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -6132,29 +3848,16 @@ "$ref": "AAAAAAFid2Hnvablf2c=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 579, + "font": "Arial;13;0", + "left": 567, "top": 553, - "width": 0, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -6166,29 +3869,16 @@ "$ref": "AAAAAAFid2HnvabmDkA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 454, "top": 395, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -6200,29 +3890,16 @@ "$ref": "AAAAAAFid2HnvabmDkA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 467, "top": 398, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -6234,29 +3911,16 @@ "$ref": "AAAAAAFid2HnvabmDkA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 426, "top": 391, - "width": 0, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -6268,29 +3932,15 @@ "$ref": "AAAAAAFid2HnvqbnScY=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 705, - "top": 471, - "width": 0, + "font": "Arial;13;0", + "left": 681, + "top": 475, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -6302,29 +3952,15 @@ "$ref": "AAAAAAFid2HnvqbnScY=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 691, - "top": 474, - "width": 0, + "font": "Arial;13;0", + "left": 667, + "top": 478, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -6336,29 +3972,15 @@ "$ref": "AAAAAAFid2HnvqbnScY=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 732, - "top": 467, - "width": 0, + "font": "Arial;13;0", + "left": 708, + "top": 471, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2HnvqbpbzA=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -6370,19 +3992,9 @@ "$ref": "AAAAAAFid2HnvabmDkA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -6394,41 +4006,20 @@ "$ref": "AAAAAAFid2HnvqbnScY=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid16xMZ1WCwU=" }, "tail": { "$ref": "AAAAAAFid10yWJxcnr8=" }, - "lineStyle": 0, - "points": "439:376;439:544;720:544;720:452", - "stereotypeDisplay": "label", + "points": "439:376;439:544;696:544;696:456", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2HnvqbqsDM=" }, @@ -6438,8 +4029,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2Hnvqbs/JQ=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2Hnv6btwh4=" }, @@ -6485,29 +4074,16 @@ "$ref": "AAAAAAFid2Izt6nShUw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 688, + "font": "Arial;13;0", + "left": 656, "top": 523, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -6519,29 +4095,16 @@ "$ref": "AAAAAAFid2Izt6nShUw=" }, "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 688, + "font": "Arial;13;0", + "left": 656, "top": 508, - "width": 0, "height": 13, - "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -6553,29 +4116,16 @@ "$ref": "AAAAAAFid2Izt6nShUw=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 688, + "font": "Arial;13;0", + "left": 656, "top": 553, - "width": 0, "height": 13, - "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 1 }, { "_type": "EdgeLabelView", @@ -6587,29 +4137,16 @@ "$ref": "AAAAAAFid2Izt6nTqRA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 415, "top": 395, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -6621,29 +4158,16 @@ "$ref": "AAAAAAFid2Izt6nTqRA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 428, "top": 398, - "width": 0, "height": 13, - "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -6655,29 +4179,16 @@ "$ref": "AAAAAAFid2Izt6nTqRA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, + "font": "Arial;13;0", "left": 387, "top": 391, - "width": 0, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "edgePosition": 2 }, { "_type": "EdgeLabelView", @@ -6689,29 +4200,15 @@ "$ref": "AAAAAAFid2IzuKnUpDo=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 961, - "top": 471, - "width": 0, + "font": "Arial;13;0", + "left": 897, + "top": 475, "height": 13, - "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -6723,29 +4220,15 @@ "$ref": "AAAAAAFid2IzuKnUpDo=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 947, - "top": 474, - "width": 0, + "font": "Arial;13;0", + "left": 883, + "top": 478, "height": 13, - "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "EdgeLabelView", @@ -6757,29 +4240,15 @@ "$ref": "AAAAAAFid2IzuKnUpDo=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 988, - "top": 467, - "width": 0, + "font": "Arial;13;0", + "left": 924, + "top": 471, "height": 13, - "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFid2IzuKnWYsc=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + } }, { "_type": "UMLQualifierCompartmentView", @@ -6791,19 +4260,9 @@ "$ref": "AAAAAAFid2Izt6nTqRA=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 }, { "_type": "UMLQualifierCompartmentView", @@ -6815,41 +4274,20 @@ "$ref": "AAAAAAFid2IzuKnUpDo=" }, "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 0, - "top": 0, + "font": "Arial;13;0", "width": 10, - "height": 10, - "autoResize": false + "height": 10 } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, "head": { "$ref": "AAAAAAFid17rLZ2rL54=" }, "tail": { "$ref": "AAAAAAFid10yWJxcnr8=" }, - "lineStyle": 0, - "points": "400:376;400:544;976:544;976:452", - "stereotypeDisplay": "label", + "points": "400:376;400:544;912:544;912:456", "showVisibility": true, - "showProperty": true, "nameLabel": { "$ref": "AAAAAAFid2IzuKnXwdg=" }, @@ -6859,8 +4297,6 @@ "propertyLabel": { "$ref": "AAAAAAFid2IzuKnZPy4=" }, - "showMultiplicity": true, - "showType": true, "tailRoleNameLabel": { "$ref": "AAAAAAFid2IzuKna03A=" }, @@ -6895,7 +4331,6 @@ "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "AbstractFactory", - "visibility": "public", "operations": [ { "_type": "UMLOperation", @@ -6904,9 +4339,6 @@ "$ref": "AAAAAAFid1rIAJt3J4M=" }, "name": "createProductA", - "visibility": "public", - "isStatic": false, - "isLeaf": false, "parameters": [ { "_type": "UMLParameter", @@ -6914,19 +4346,10 @@ "_parent": { "$ref": "AAAAAAFid1r44ZuhPwU=" }, - "visibility": "public", - "isStatic": false, - "isLeaf": false, "type": "AbstractProductA", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, "direction": "return" } - ], - "concurrency": "sequential", - "isQuery": false, - "isAbstract": false + ] }, { "_type": "UMLOperation", @@ -6935,9 +4358,6 @@ "$ref": "AAAAAAFid1rIAJt3J4M=" }, "name": "createProductB", - "visibility": "public", - "isStatic": false, - "isLeaf": false, "parameters": [ { "_type": "UMLParameter", @@ -6945,25 +4365,12 @@ "_parent": { "$ref": "AAAAAAFid1tWdpuq9vA=" }, - "visibility": "public", - "isStatic": false, - "isLeaf": false, "type": "AbstractProductB", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, "direction": "return" } - ], - "concurrency": "sequential", - "isQuery": false, - "isAbstract": false + ] } - ], - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -6971,12 +4378,7 @@ "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, - "name": "Client", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "name": "Client" }, { "_type": "UMLObject", @@ -6984,8 +4386,7 @@ "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, - "name": "Client", - "visibility": "public" + "name": "Client" }, { "_type": "UMLClass", @@ -7006,8 +4407,7 @@ }, "target": { "$ref": "AAAAAAFid1rIAJt3J4M=" - }, - "visibility": "public" + } }, { "_type": "UMLAssociation", @@ -7024,14 +4424,7 @@ "reference": { "$ref": "AAAAAAFid1xT0Jwbaxo=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7041,18 +4434,8 @@ }, "reference": { "$ref": "AAAAAAFid16alJ0q2IA=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } }, { "_type": "UMLAssociation", @@ -7069,14 +4452,7 @@ "reference": { "$ref": "AAAAAAFid1xT0Jwbaxo=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7086,21 +4462,10 @@ }, "reference": { "$ref": "AAAAAAFid17QgZ1/mbc=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } } ], - "visibility": "public", "operations": [ { "_type": "UMLOperation", @@ -7109,9 +4474,6 @@ "$ref": "AAAAAAFid1xT0Jwbaxo=" }, "name": "createProductA", - "visibility": "public", - "isStatic": false, - "isLeaf": false, "parameters": [ { "_type": "UMLParameter", @@ -7119,19 +4481,12 @@ "_parent": { "$ref": "AAAAAAFid1ycJZxFXdk=" }, - "visibility": "public", - "isStatic": false, - "isLeaf": false, - "type": "AbstractProductA", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, + "type": { + "$ref": "AAAAAAFid14uj5zWxGw=" + }, "direction": "return" } - ], - "concurrency": "sequential", - "isQuery": false, - "isAbstract": false + ] }, { "_type": "UMLOperation", @@ -7140,9 +4495,6 @@ "$ref": "AAAAAAFid1xT0Jwbaxo=" }, "name": "createProductB", - "visibility": "public", - "isStatic": false, - "isLeaf": false, "parameters": [ { "_type": "UMLParameter", @@ -7150,25 +4502,12 @@ "_parent": { "$ref": "AAAAAAFid1zf8JxOZiY=" }, - "visibility": "public", - "isStatic": false, - "isLeaf": false, "type": "AbstractProductB", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, "direction": "return" } - ], - "concurrency": "sequential", - "isQuery": false, - "isAbstract": false + ] } - ], - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -7189,8 +4528,7 @@ }, "target": { "$ref": "AAAAAAFid1rIAJt3J4M=" - }, - "visibility": "public" + } }, { "_type": "UMLAssociation", @@ -7207,14 +4545,7 @@ "reference": { "$ref": "AAAAAAFid10yV5xaLFA=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7224,18 +4555,8 @@ }, "reference": { "$ref": "AAAAAAFid10yV5xaLFA=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } }, { "_type": "UMLAssociation", @@ -7252,14 +4573,7 @@ "reference": { "$ref": "AAAAAAFid10yV5xaLFA=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7269,18 +4583,8 @@ }, "reference": { "$ref": "AAAAAAFid16xMZ1UwkI=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } }, { "_type": "UMLAssociation", @@ -7297,14 +4601,7 @@ "reference": { "$ref": "AAAAAAFid10yV5xaLFA=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7314,21 +4611,10 @@ }, "reference": { "$ref": "AAAAAAFid17rLJ2pYNU=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } } ], - "visibility": "public", "operations": [ { "_type": "UMLOperation", @@ -7337,9 +4623,6 @@ "$ref": "AAAAAAFid10yV5xaLFA=" }, "name": "createProductA", - "visibility": "public", - "isStatic": false, - "isLeaf": false, "parameters": [ { "_type": "UMLParameter", @@ -7347,19 +4630,10 @@ "_parent": { "$ref": "AAAAAAFid11vu5yEY1M=" }, - "visibility": "public", - "isStatic": false, - "isLeaf": false, "type": "AbstractProductA", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, "direction": "return" } - ], - "concurrency": "sequential", - "isQuery": false, - "isAbstract": false + ] }, { "_type": "UMLOperation", @@ -7368,9 +4642,6 @@ "$ref": "AAAAAAFid10yV5xaLFA=" }, "name": "createProductB", - "visibility": "public", - "isStatic": false, - "isLeaf": false, "parameters": [ { "_type": "UMLParameter", @@ -7378,25 +4649,12 @@ "_parent": { "$ref": "AAAAAAFid12Sl5yNHyA=" }, - "visibility": "public", - "isStatic": false, - "isLeaf": false, "type": "AbstractProductB", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, "direction": "return" } - ], - "concurrency": "sequential", - "isQuery": false, - "isAbstract": false + ] } - ], - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -7421,14 +4679,7 @@ "reference": { "$ref": "AAAAAAFid14NopyZ3Go=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7438,18 +4689,8 @@ }, "reference": { "$ref": "AAAAAAFid14uj5zWxGw=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } }, { "_type": "UMLAssociation", @@ -7466,14 +4707,7 @@ "reference": { "$ref": "AAAAAAFid14NopyZ3Go=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7483,18 +4717,8 @@ }, "reference": { "$ref": "AAAAAAFid15TM50AIm0=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } }, { "_type": "UMLAssociation", @@ -7511,14 +4735,7 @@ "reference": { "$ref": "AAAAAAFid14NopyZ3Go=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7528,25 +4745,10 @@ }, "reference": { "$ref": "AAAAAAFid1rIAJt3J4M=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -7554,12 +4756,7 @@ "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, - "name": "AbstractProductA", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "name": "AbstractProductA" }, { "_type": "UMLClass", @@ -7567,12 +4764,7 @@ "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, - "name": "AbstractProductB", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "name": "AbstractProductB" }, { "_type": "UMLClass", @@ -7597,14 +4789,7 @@ "reference": { "$ref": "AAAAAAFid16alJ0q2IA=" }, - "visibility": "public", - "navigable": false, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "navigable": false }, "end2": { "_type": "UMLAssociationEnd", @@ -7614,18 +4799,8 @@ }, "reference": { "$ref": "AAAAAAFid14uj5zWxGw=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false + } + } }, { "_type": "UMLGeneralization", @@ -7638,15 +4813,9 @@ }, "target": { "$ref": "AAAAAAFid14uj5zWxGw=" - }, - "visibility": "public" + } } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -7667,15 +4836,9 @@ }, "target": { "$ref": "AAAAAAFid14uj5zWxGw=" - }, - "visibility": "public" + } } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -7696,15 +4859,9 @@ }, "target": { "$ref": "AAAAAAFid15TM50AIm0=" - }, - "visibility": "public" + } } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] }, { "_type": "UMLClass", @@ -7725,18 +4882,11 @@ }, "target": { "$ref": "AAAAAAFid15TM50AIm0=" - }, - "visibility": "public" + } } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + ] } - ], - "visibility": "public" + ] } ] } \ No newline at end of file From 139c1b289884977f74543063486584fbcc3bf9e3 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 09:35:53 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Builder/Builder.iml | 11 + Builder/src/AbstractStringBuilder.java | 36 + Builder/src/Client.java | 10 + Builder/src/StringBuilder.java | 11 + Command/src/Invoker.java | 2 +- FactoryMethod/src/Factory.java | 2 +- Iterator/src/ConcreteAggregate.java | 2 +- Singleton/src/imp5/Singleton.java | 2 +- .../\347\224\237\346\210\220\345\231\250.mdj" | 1654 +++++++++++++++++ 10 files changed, 1727 insertions(+), 4 deletions(-) create mode 100644 Builder/Builder.iml create mode 100644 Builder/src/AbstractStringBuilder.java create mode 100644 Builder/src/Client.java create mode 100644 Builder/src/StringBuilder.java create mode 100644 "UML \347\273\230\345\233\276/\347\224\237\346\210\220\345\231\250.mdj" diff --git a/.idea/modules.xml b/.idea/modules.xml index 57235c2..d356645 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ + diff --git a/Builder/Builder.iml b/Builder/Builder.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Builder/Builder.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Builder/src/AbstractStringBuilder.java b/Builder/src/AbstractStringBuilder.java new file mode 100644 index 0000000..230c78f --- /dev/null +++ b/Builder/src/AbstractStringBuilder.java @@ -0,0 +1,36 @@ +import java.util.Arrays; + +public class AbstractStringBuilder { + protected char[] value; + + protected int count; + + public AbstractStringBuilder(int capacity) { + count = 0; + value = new char[capacity]; + } + + public AbstractStringBuilder append(char c) { + ensureCapacityInternal(count + 1); + value[count++] = c; + return this; + } + + private void ensureCapacityInternal(int minimumCapacity) { + // overflow-conscious code + if (minimumCapacity - value.length > 0) + expandCapacity(minimumCapacity); + } + + void expandCapacity(int minimumCapacity) { + int newCapacity = value.length * 2 + 2; + if (newCapacity - minimumCapacity < 0) + newCapacity = minimumCapacity; + if (newCapacity < 0) { + if (minimumCapacity < 0) // overflow + throw new OutOfMemoryError(); + newCapacity = Integer.MAX_VALUE; + } + value = Arrays.copyOf(value, newCapacity); + } +} diff --git a/Builder/src/Client.java b/Builder/src/Client.java new file mode 100644 index 0000000..e58e26b --- /dev/null +++ b/Builder/src/Client.java @@ -0,0 +1,10 @@ +public class Client { + public static void main(String[] args) { + StringBuilder sb = new StringBuilder(); + final int count = 26; + for (int i = 0; i < count; i++) { + sb.append((char) ('a' + i)); + } + System.out.println(sb.toString()); + } +} diff --git a/Builder/src/StringBuilder.java b/Builder/src/StringBuilder.java new file mode 100644 index 0000000..2cae4ed --- /dev/null +++ b/Builder/src/StringBuilder.java @@ -0,0 +1,11 @@ +public class StringBuilder extends AbstractStringBuilder { + public StringBuilder() { + super(16); + } + + @Override + public String toString() { + // Create a copy, don't share the array + return new String(value, 0, count); + } +} diff --git a/Command/src/Invoker.java b/Command/src/Invoker.java index 979a860..2ac2016 100644 --- a/Command/src/Invoker.java +++ b/Command/src/Invoker.java @@ -4,9 +4,9 @@ public class Invoker { private Command[] onCommands; private Command[] offCommands; - private final int slotNum = 7; public Invoker() { + int slotNum = 7; this.onCommands = new Command[slotNum]; this.offCommands = new Command[slotNum]; } diff --git a/FactoryMethod/src/Factory.java b/FactoryMethod/src/Factory.java index 303cbec..37f92df 100644 --- a/FactoryMethod/src/Factory.java +++ b/FactoryMethod/src/Factory.java @@ -1,6 +1,6 @@ public abstract class Factory { abstract public Product factoryMethod(); - public void doSomethind() { + public void doSomething() { Product product = factoryMethod(); // do something with the product } diff --git a/Iterator/src/ConcreteAggregate.java b/Iterator/src/ConcreteAggregate.java index b4ae42e..f73d9db 100644 --- a/Iterator/src/ConcreteAggregate.java +++ b/Iterator/src/ConcreteAggregate.java @@ -11,6 +11,6 @@ public ConcreteAggregate() { @Override public Iterator createIterator() { - return new ConcreteIterator(items); + return new ConcreteIterator(items); } } diff --git a/Singleton/src/imp5/Singleton.java b/Singleton/src/imp5/Singleton.java index 3365647..e0dd84b 100644 --- a/Singleton/src/imp5/Singleton.java +++ b/Singleton/src/imp5/Singleton.java @@ -1,5 +1,5 @@ package imp5; public enum Singleton { - uniqueInstance; + uniqueInstance } \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\347\224\237\346\210\220\345\231\250.mdj" "b/UML \347\273\230\345\233\276/\347\224\237\346\210\220\345\231\250.mdj" new file mode 100644 index 0000000..20264fb --- /dev/null +++ "b/UML \347\273\230\345\233\276/\347\224\237\346\210\220\345\231\250.mdj" @@ -0,0 +1,1654 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzXNZsOaX8yo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzXNZseaYZ8E=", + "_parent": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "model": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzXNZseaZCjg=", + "_parent": { + "$ref": "AAAAAAFjzXNZseaYZ8E=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXNZseaauN4=", + "_parent": { + "$ref": "AAAAAAFjzXNZseaYZ8E=" + }, + "font": "Arial;13;1", + "left": 365, + "top": 271, + "width": 140.53076171875, + "height": 13, + "text": "Director" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXNZseab08g=", + "_parent": { + "$ref": "AAAAAAFjzXNZseaYZ8E=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXNZseacdz0=", + "_parent": { + "$ref": "AAAAAAFjzXNZseaYZ8E=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 360, + "top": 264, + "width": 150.53076171875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXNZseaZCjg=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzXNZseaauN4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzXNZseab08g=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXNZseacdz0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzXNZseadN1A=", + "_parent": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "model": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "font": "Arial;13;0", + "left": 360, + "top": 289, + "width": 150.53076171875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzXNZseaeCbw=", + "_parent": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "model": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzXN93ebCVdU=", + "_parent": { + "$ref": "AAAAAAFjzXNZseaeCbw=" + }, + "model": { + "$ref": "AAAAAAFjzXN9wea/4Es=" + }, + "font": "Arial;13;0", + "left": 365, + "top": 304, + "width": 140.53076171875, + "height": 13, + "text": "+construct(Builder): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 360, + "top": 299, + "width": 150.53076171875, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzXNZseafPsw=", + "_parent": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "model": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzXNZsuag+Fw=", + "_parent": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "model": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 360, + "top": 264, + "width": 150.53076171875, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzXNZseaYZ8E=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzXNZseadN1A=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzXNZseaeCbw=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzXNZseafPsw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzXNZsuag+Fw=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzXVMwObMxKI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzXVMwObNTyU=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "model": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzXVMwObOXVk=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObNTyU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXVMwObPUiM=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObNTyU=" + }, + "font": "Arial;13;1", + "left": 613, + "top": 271, + "width": 98.6298828125, + "height": 13, + "text": "Builder" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXVMwObQPE0=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObNTyU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXVMwebRMbI=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObNTyU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 608, + "top": 264, + "width": 108.6298828125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXVMwObOXVk=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzXVMwObPUiM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzXVMwObQPE0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXVMwebRMbI=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzXVMwebSyTg=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "model": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "font": "Arial;13;0", + "left": 608, + "top": 289, + "width": 108.6298828125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzXVMwebTpq8=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "model": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzXVrdOb3Yto=", + "_parent": { + "$ref": "AAAAAAFjzXVMwebTpq8=" + }, + "model": { + "$ref": "AAAAAAFjzXVrUeb0o7Y=" + }, + "font": "Arial;13;0", + "left": 613, + "top": 304, + "width": 98.6298828125, + "height": 13, + "text": "+buildPart(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 608, + "top": 299, + "width": 108.6298828125, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzXVMwebUtE8=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "model": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzXVMwebVmg0=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "model": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 608, + "top": 264, + "width": 108.6298828125, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzXVMwObNTyU=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzXVMwebSyTg=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzXVMwebTpq8=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzXVMwebUtE8=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzXVMwebVmg0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzXXCAucBbd0=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzXXCAucCKP0=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "model": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzXXCAucDVN0=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucCKP0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": -48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXXCAucEfhc=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucCKP0=" + }, + "font": "Arial;13;1", + "left": 597, + "top": 407, + "width": 123.1953125, + "height": 13, + "text": "ConcreteBuilder" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXXCAucFTO8=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucCKP0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": -48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXXCAucGReo=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucCKP0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": -48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 592, + "top": 400, + "width": 133.1953125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXXCAucDVN0=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzXXCAucEfhc=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzXXCAucFTO8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXXCAucGReo=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzXXCAucHtuw=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "model": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "font": "Arial;13;0", + "left": 592, + "top": 425, + "width": 133.1953125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzXXCAucIPZE=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "model": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzXXwzOcsDys=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucIPZE=" + }, + "model": { + "$ref": "AAAAAAFjzXXwsOcpROo=" + }, + "font": "Arial;13;0", + "left": 597, + "top": 440, + "width": 123.1953125, + "height": 13, + "text": "+buildPart(): void", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzXYm3ec1Lrw=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucIPZE=" + }, + "model": { + "$ref": "AAAAAAFjzXYmvOcyfJA=" + }, + "font": "Arial;13;0", + "left": 597, + "top": 455, + "width": 123.1953125, + "height": 13, + "text": "+getResult(): Product", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 592, + "top": 435, + "width": 133.1953125, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzXXCA+cJQPw=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "model": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzXXCA+cKkvE=", + "_parent": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "model": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 592, + "top": 400, + "width": 133.1953125, + "height": 73, + "nameCompartment": { + "$ref": "AAAAAAFjzXXCAucCKP0=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzXXCAucHtuw=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzXXCAucIPZE=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzXXCA+cJQPw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzXXCA+cKkvE=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzXZZuuc+zps=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzXZZu+c/lps=", + "_parent": { + "$ref": "AAAAAAFjzXZZuuc+zps=" + }, + "model": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzXZZu+dArxM=", + "_parent": { + "$ref": "AAAAAAFjzXZZu+c/lps=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -160, + "top": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXZZu+dBvZQ=", + "_parent": { + "$ref": "AAAAAAFjzXZZu+c/lps=" + }, + "font": "Arial;13;1", + "left": 813, + "top": 415, + "width": 63, + "height": 13, + "text": "Product" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXZZu+dCzLs=", + "_parent": { + "$ref": "AAAAAAFjzXZZu+c/lps=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -160, + "top": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzXZZu+dDEK4=", + "_parent": { + "$ref": "AAAAAAFjzXZZu+c/lps=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -160, + "top": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 808, + "top": 408, + "width": 73, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXZZu+dArxM=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzXZZu+dBvZQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzXZZu+dCzLs=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXZZu+dDEK4=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzXZZu+dEgjA=", + "_parent": { + "$ref": "AAAAAAFjzXZZuuc+zps=" + }, + "model": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + }, + "font": "Arial;13;0", + "left": 808, + "top": 433, + "width": 73, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzXZZu+dFRVs=", + "_parent": { + "$ref": "AAAAAAFjzXZZuuc+zps=" + }, + "model": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + }, + "font": "Arial;13;0", + "left": 808, + "top": 443, + "width": 73, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzXZZu+dGbOU=", + "_parent": { + "$ref": "AAAAAAFjzXZZuuc+zps=" + }, + "model": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzXZZu+dHBFc=", + "_parent": { + "$ref": "AAAAAAFjzXZZuuc+zps=" + }, + "model": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 808, + "top": 408, + "width": 73, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjzXZZu+c/lps=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzXZZu+dEgjA=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzXZZu+dFRVs=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzXZZu+dGbOU=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzXZZu+dHBFc=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzXaUZeduKmU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZOdqtaQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZudvCJo=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZOdqtaQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 765, + "top": 413, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZudwkZ4=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZOdqtaQ=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 765, + "top": 398, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZudxe+s=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZOdqtaQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 766, + "top": 442, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZudybBQ=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedrVFI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 750, + "top": 413, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZudzBUM=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedrVFI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 752, + "top": 400, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZud0idU=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedrVFI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 746, + "top": 440, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZud10h8=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedsPIU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 780, + "top": 412, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZud2zNk=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedsPIU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 778, + "top": 399, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXaUZud3+bg=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedsPIU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 785, + "top": 440, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzXaUZud4iDY=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedrVFI=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzXaUZud5IjM=", + "_parent": { + "$ref": "AAAAAAFjzXaUZeduKmU=" + }, + "model": { + "$ref": "AAAAAAFjzXaUZedsPIU=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzXZZuuc+zps=" + }, + "tail": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "lineStyle": 1, + "points": "725:435;807:433", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzXaUZudvCJo=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXaUZudwkZ4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXaUZudxe+s=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzXaUZudybBQ=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzXaUZudzBUM=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzXaUZud0idU=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzXaUZud10h8=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzXaUZud2zNk=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzXaUZud3+bg=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzXaUZud4iDY=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzXaUZud5IjM=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzXbJ2ufnqIs=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXbJ2uflpL8=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXbJ2ufoIb0=", + "_parent": { + "$ref": "AAAAAAFjzXbJ2ufnqIs=" + }, + "model": { + "$ref": "AAAAAAFjzXbJ2uflpL8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 644, + "top": 353, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzXbJ2ufnqIs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXbJ2ufpJLc=", + "_parent": { + "$ref": "AAAAAAFjzXbJ2ufnqIs=" + }, + "model": { + "$ref": "AAAAAAFjzXbJ2uflpL8=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 629, + "top": 353, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXbJ2ufnqIs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXbJ2ufqZms=", + "_parent": { + "$ref": "AAAAAAFjzXbJ2ufnqIs=" + }, + "model": { + "$ref": "AAAAAAFjzXbJ2uflpL8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 673, + "top": 354, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzXbJ2ufnqIs=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "tail": { + "$ref": "AAAAAAFjzXXCAucBbd0=" + }, + "lineStyle": 1, + "points": "659:399;660:322", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzXbJ2ufoIb0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXbJ2ufpJLc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXbJ2ufqZms=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzXcAvOixg+w=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOitKWk=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOiyl+g=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOitKWk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 558, + "top": 301, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOizdRU=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOitKWk=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 558, + "top": 316, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi0rdo=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOitKWk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 559, + "top": 271, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi16yA=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOiush0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 581, + "top": 300, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi2MA4=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOiush0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 578, + "top": 314, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi3H68=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOiush0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 585, + "top": 273, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi4U60=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOivJA8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 536, + "top": 300, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi5JG4=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOivJA8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 539, + "top": 314, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzXcAvOi63iI=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOivJA8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 532, + "top": 273, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzXcAvOi7swY=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOiush0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzXcAvOi89yI=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOixg+w=" + }, + "model": { + "$ref": "AAAAAAFjzXcAvOivJA8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "tail": { + "$ref": "AAAAAAFjzXVMwObMxKI=" + }, + "lineStyle": 1, + "points": "607:292;511:292", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzXcAvOiyl+g=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzXcAvOizdRU=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzXcAvOi0rdo=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzXcAvOi16yA=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzXcAvOi2MA4=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzXcAvOi3H68=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzXcAvOi4U60=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzXcAvOi5JG4=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzXcAvOi63iI=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzXcAvOi7swY=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzXcAvOi89yI=" + } + }, + { + "_type": "UMLNoteView", + "_id": "AAAAAAFjzXckAulOG0U=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "fillColor": "#e2e2e2", + "font": "Arial;13;0", + "left": 344, + "top": 376, + "width": 169, + "height": 57, + "text": "for all objects in structure:\n builder.buildPart();" + }, + { + "_type": "UMLNoteLinkView", + "_id": "AAAAAAFjzXe0uOovJOg=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzXNZsOaX8yo=" + }, + "tail": { + "$ref": "AAAAAAFjzXckAulOG0U=" + }, + "lineStyle": 1, + "points": "430:375;432:322" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzXNZr+aVnsY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Director", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzXN9wea/4Es=", + "_parent": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "name": "construct", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzXOx4+bGAZM=", + "_parent": { + "$ref": "AAAAAAFjzXN9wea/4Es=" + }, + "name": "Builder", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzXOx4+bHXO8=", + "_parent": { + "$ref": "AAAAAAFjzXN9wea/4Es=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzXVMwObKxoY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Builder", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzXcAvOitKWk=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzXcAvOiush0=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOitKWk=" + }, + "reference": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzXcAvOivJA8=", + "_parent": { + "$ref": "AAAAAAFjzXcAvOitKWk=" + }, + "reference": { + "$ref": "AAAAAAFjzXNZr+aVnsY=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzXVrUeb0o7Y=", + "_parent": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + }, + "name": "buildPart", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzXWPbub70nk=", + "_parent": { + "$ref": "AAAAAAFjzXVrUeb0o7Y=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzXXCAub/Z2I=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteBuilder", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzXaUZOdqtaQ=", + "_parent": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzXaUZedrVFI=", + "_parent": { + "$ref": "AAAAAAFjzXaUZOdqtaQ=" + }, + "reference": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzXaUZedsPIU=", + "_parent": { + "$ref": "AAAAAAFjzXaUZOdqtaQ=" + }, + "reference": { + "$ref": "AAAAAAFjzXZZuuc86G0=" + } + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzXbJ2uflpL8=", + "_parent": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "source": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "target": { + "$ref": "AAAAAAFjzXVMwObKxoY=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzXXwsOcpROo=", + "_parent": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "name": "buildPart", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzXYM0ecwVvs=", + "_parent": { + "$ref": "AAAAAAFjzXXwsOcpROo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzXYmvOcyfJA=", + "_parent": { + "$ref": "AAAAAAFjzXXCAub/Z2I=" + }, + "name": "getResult", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzXZFFOc52Ek=", + "_parent": { + "$ref": "AAAAAAFjzXYmvOcyfJA=" + }, + "type": "Product", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzXZZuuc86G0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Product" + } + ] + } + ] +} \ No newline at end of file From c50d7294ffd84cb4ca1858c3cfb34711f2eb2fc0 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 10:13:00 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E5=8E=9F=E5=9E=8B=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Prototype/Prototype.iml | 11 +++++++++++ Prototype/src/Client.java | 7 +++++++ Prototype/src/ConcretePrototype.java | 18 ++++++++++++++++++ Prototype/src/Prototype.java | 3 +++ 5 files changed, 40 insertions(+) create mode 100644 Prototype/Prototype.iml create mode 100644 Prototype/src/Client.java create mode 100644 Prototype/src/ConcretePrototype.java create mode 100644 Prototype/src/Prototype.java diff --git a/.idea/modules.xml b/.idea/modules.xml index d356645..c76c22f 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -13,6 +13,7 @@ + diff --git a/Prototype/Prototype.iml b/Prototype/Prototype.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Prototype/Prototype.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Prototype/src/Client.java b/Prototype/src/Client.java new file mode 100644 index 0000000..7474cf6 --- /dev/null +++ b/Prototype/src/Client.java @@ -0,0 +1,7 @@ +public class Client { + public static void main(String[] args) { + Prototype prototype = new ConcretePrototype("abc"); + Prototype clone = prototype.myClone(); + System.out.println(clone.toString()); + } +} diff --git a/Prototype/src/ConcretePrototype.java b/Prototype/src/ConcretePrototype.java new file mode 100644 index 0000000..2190355 --- /dev/null +++ b/Prototype/src/ConcretePrototype.java @@ -0,0 +1,18 @@ +public class ConcretePrototype extends Prototype { + + private String filed; + + public ConcretePrototype(String filed) { + this.filed = filed; + } + + @Override + Prototype myClone() { + return new ConcretePrototype(filed); + } + + @Override + public String toString() { + return filed; + } +} diff --git a/Prototype/src/Prototype.java b/Prototype/src/Prototype.java new file mode 100644 index 0000000..2aac85c --- /dev/null +++ b/Prototype/src/Prototype.java @@ -0,0 +1,3 @@ +public abstract class Prototype { + abstract Prototype myClone(); +} From 7a4f69e2595a900f3d5fbc1d675efbd8c734601f Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 10:40:48 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E8=B4=A3=E4=BB=BB=E9=93=BE=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + ChainOfResponsibility/ChainOfResponsibility.iml | 11 +++++++++++ ChainOfResponsibility/src/Client.java | 10 ++++++++++ ChainOfResponsibility/src/ConcreteHandler1.java | 16 ++++++++++++++++ ChainOfResponsibility/src/ConcreteHandler2.java | 16 ++++++++++++++++ ChainOfResponsibility/src/Handler.java | 9 +++++++++ ChainOfResponsibility/src/Request.java | 17 +++++++++++++++++ ChainOfResponsibility/src/RequestType.java | 3 +++ 8 files changed, 83 insertions(+) create mode 100644 ChainOfResponsibility/ChainOfResponsibility.iml create mode 100644 ChainOfResponsibility/src/Client.java create mode 100644 ChainOfResponsibility/src/ConcreteHandler1.java create mode 100644 ChainOfResponsibility/src/ConcreteHandler2.java create mode 100644 ChainOfResponsibility/src/Handler.java create mode 100644 ChainOfResponsibility/src/Request.java create mode 100644 ChainOfResponsibility/src/RequestType.java diff --git a/.idea/modules.xml b/.idea/modules.xml index c76c22f..7f57ef6 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -5,6 +5,7 @@ + diff --git a/ChainOfResponsibility/ChainOfResponsibility.iml b/ChainOfResponsibility/ChainOfResponsibility.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/ChainOfResponsibility/ChainOfResponsibility.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ChainOfResponsibility/src/Client.java b/ChainOfResponsibility/src/Client.java new file mode 100644 index 0000000..6d13e71 --- /dev/null +++ b/ChainOfResponsibility/src/Client.java @@ -0,0 +1,10 @@ +public class Client { + public static void main(String[] args) { + Handler handler1 = new ConcreteHandler1(null); + Handler handler2 = new ConcreteHandler2(handler1); + Request request1 = new Request(RequestType.type1, "request1"); + handler2.handleRequest(request1); + Request request2 = new Request(RequestType.type2, "request2"); + handler2.handleRequest(request2); + } +} diff --git a/ChainOfResponsibility/src/ConcreteHandler1.java b/ChainOfResponsibility/src/ConcreteHandler1.java new file mode 100644 index 0000000..e56acb6 --- /dev/null +++ b/ChainOfResponsibility/src/ConcreteHandler1.java @@ -0,0 +1,16 @@ +public class ConcreteHandler1 extends Handler { + public ConcreteHandler1(Handler successor) { + super(successor); + } + + @Override + protected void handleRequest(Request request) { + if (request.getType() == RequestType.type1) { + System.out.println(request.getName() + " is handle by ConcreteHandler1"); + return; + } + if (successor != null) { + successor.handleRequest(request); + } + } +} diff --git a/ChainOfResponsibility/src/ConcreteHandler2.java b/ChainOfResponsibility/src/ConcreteHandler2.java new file mode 100644 index 0000000..a4ac8fa --- /dev/null +++ b/ChainOfResponsibility/src/ConcreteHandler2.java @@ -0,0 +1,16 @@ +public class ConcreteHandler2 extends Handler{ + public ConcreteHandler2(Handler successor) { + super(successor); + } + + @Override + protected void handleRequest(Request request) { + if (request.getType() == RequestType.type2) { + System.out.println(request.getName() + " is handle by ConcreteHandler2"); + return; + } + if (successor != null) { + successor.handleRequest(request); + } + } +} diff --git a/ChainOfResponsibility/src/Handler.java b/ChainOfResponsibility/src/Handler.java new file mode 100644 index 0000000..025d5ee --- /dev/null +++ b/ChainOfResponsibility/src/Handler.java @@ -0,0 +1,9 @@ +public abstract class Handler { + protected Handler successor; + + public Handler(Handler successor) { + this.successor = successor; + } + + protected abstract void handleRequest(Request request); +} diff --git a/ChainOfResponsibility/src/Request.java b/ChainOfResponsibility/src/Request.java new file mode 100644 index 0000000..1270aec --- /dev/null +++ b/ChainOfResponsibility/src/Request.java @@ -0,0 +1,17 @@ +public class Request { + private RequestType type; + private String name; + + public Request(RequestType type, String name) { + this.type = type; + this.name = name; + } + + public RequestType getType() { + return type; + } + + public String getName() { + return name; + } +} diff --git a/ChainOfResponsibility/src/RequestType.java b/ChainOfResponsibility/src/RequestType.java new file mode 100644 index 0000000..35aa237 --- /dev/null +++ b/ChainOfResponsibility/src/RequestType.java @@ -0,0 +1,3 @@ +public enum RequestType { + type1, type2 +} From 67a283d0a51fbcfa4f7b7e4007bc76c496056c4c Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 11:21:26 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E8=A7=A3=E9=87=8A=E5=99=A8=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Interpreter/Interpreter.iml | 11 ++++++++++ Interpreter/src/AndExpression.java | 14 +++++++++++++ Interpreter/src/Client.java | 27 +++++++++++++++++++++++++ Interpreter/src/Expression.java | 6 ++++++ Interpreter/src/OrExpression.java | 14 +++++++++++++ Interpreter/src/TerminalExpression.java | 22 ++++++++++++++++++++ 7 files changed, 95 insertions(+) create mode 100644 Interpreter/Interpreter.iml create mode 100644 Interpreter/src/AndExpression.java create mode 100644 Interpreter/src/Client.java create mode 100644 Interpreter/src/Expression.java create mode 100644 Interpreter/src/OrExpression.java create mode 100644 Interpreter/src/TerminalExpression.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 7f57ef6..623b4d7 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -11,6 +11,7 @@ + diff --git a/Interpreter/Interpreter.iml b/Interpreter/Interpreter.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Interpreter/Interpreter.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Interpreter/src/AndExpression.java b/Interpreter/src/AndExpression.java new file mode 100644 index 0000000..772b11a --- /dev/null +++ b/Interpreter/src/AndExpression.java @@ -0,0 +1,14 @@ +public class AndExpression extends Expression { + + private Expression expression1 = null; + private Expression expression2 = null; + + public AndExpression(Expression expression1, Expression expression2) { + this.expression1 = expression1; + this.expression2 = expression2; + } + + public boolean interpret(String str) { + return expression1.interpret(str) && expression2.interpret(str); + } +} \ No newline at end of file diff --git a/Interpreter/src/Client.java b/Interpreter/src/Client.java new file mode 100644 index 0000000..38485e8 --- /dev/null +++ b/Interpreter/src/Client.java @@ -0,0 +1,27 @@ +public class Client { + + /** + * 构建解析树 + */ + public static Expression buildInterpreterTree() { + // Literal + Expression terminal1 = new TerminalExpression("A"); + Expression terminal2 = new TerminalExpression("B"); + Expression terminal3 = new TerminalExpression("C"); + Expression terminal4 = new TerminalExpression("D"); + // B C + Expression alternation1 = new OrExpression(terminal2, terminal3); + // A Or (B C) + Expression alternation2 = new OrExpression(terminal1, alternation1); + // D And (A Or (B C)) + return new AndExpression(terminal4, alternation2); + } + + public static void main(String[] args) { + Expression define = buildInterpreterTree(); + String context1 = "D A"; + String context2 = "A B"; + System.out.println(define.interpret(context1)); + System.out.println(define.interpret(context2)); + } +} \ No newline at end of file diff --git a/Interpreter/src/Expression.java b/Interpreter/src/Expression.java new file mode 100644 index 0000000..285e8d4 --- /dev/null +++ b/Interpreter/src/Expression.java @@ -0,0 +1,6 @@ +public abstract class Expression { + public abstract boolean interpret(String str); +} + + + diff --git a/Interpreter/src/OrExpression.java b/Interpreter/src/OrExpression.java new file mode 100644 index 0000000..2e1678a --- /dev/null +++ b/Interpreter/src/OrExpression.java @@ -0,0 +1,14 @@ +public class OrExpression extends Expression { + private Expression expression1 = null; + private Expression expression2 = null; + + public OrExpression(Expression expression1, Expression expression2) { + this.expression1 = expression1; + this.expression2 = expression2; + } + + public boolean interpret(String str) { + return expression1.interpret(str) || expression2.interpret(str); + } +} + diff --git a/Interpreter/src/TerminalExpression.java b/Interpreter/src/TerminalExpression.java new file mode 100644 index 0000000..61682a6 --- /dev/null +++ b/Interpreter/src/TerminalExpression.java @@ -0,0 +1,22 @@ +import java.util.StringTokenizer; + +public class TerminalExpression extends Expression { + + private String literal = null; + + public TerminalExpression(String str) { + literal = str; + } + + public boolean interpret(String str) { + StringTokenizer st = new StringTokenizer(str); + while (st.hasMoreTokens()) { + String test = st.nextToken(); + if (test.equals(literal)) { + return true; + } + } + return false; + } +} + From c6328afa97243cb7ca22a2ba863c4dc12b824a46 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 14:39:00 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E4=B8=AD=E4=BB=8B=E8=80=85=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Mediator/Mediator.iml | 11 +++++++ Mediator/src/Alarm.java | 11 +++++++ Mediator/src/Calender.java | 10 ++++++ Mediator/src/Client.java | 11 +++++++ Mediator/src/CoffeePot.java | 10 ++++++ Mediator/src/Colleague.java | 3 ++ Mediator/src/ConcreteMediator.java | 49 ++++++++++++++++++++++++++++++ Mediator/src/Mediator.java | 3 ++ Mediator/src/Sprinkler.java | 10 ++++++ 10 files changed, 119 insertions(+) create mode 100644 Mediator/Mediator.iml create mode 100644 Mediator/src/Alarm.java create mode 100644 Mediator/src/Calender.java create mode 100644 Mediator/src/Client.java create mode 100644 Mediator/src/CoffeePot.java create mode 100644 Mediator/src/Colleague.java create mode 100644 Mediator/src/ConcreteMediator.java create mode 100644 Mediator/src/Mediator.java create mode 100644 Mediator/src/Sprinkler.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 623b4d7..8402a4a 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -13,6 +13,7 @@ + diff --git a/Mediator/Mediator.iml b/Mediator/Mediator.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Mediator/Mediator.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Mediator/src/Alarm.java b/Mediator/src/Alarm.java new file mode 100644 index 0000000..388a603 --- /dev/null +++ b/Mediator/src/Alarm.java @@ -0,0 +1,11 @@ +public class Alarm extends Colleague { + + @Override + public void onEvent(Mediator mediator) { + mediator.doEvent("alarm"); + } + + public void doAlarm() { + System.out.println("doAlarm()"); + } +} diff --git a/Mediator/src/Calender.java b/Mediator/src/Calender.java new file mode 100644 index 0000000..579ca8a --- /dev/null +++ b/Mediator/src/Calender.java @@ -0,0 +1,10 @@ +public class Calender extends Colleague { + @Override + public void onEvent(Mediator mediator) { + mediator.doEvent("calender"); + } + + public void doCalender() { + System.out.println("doCalender()"); + } +} diff --git a/Mediator/src/Client.java b/Mediator/src/Client.java new file mode 100644 index 0000000..a734346 --- /dev/null +++ b/Mediator/src/Client.java @@ -0,0 +1,11 @@ +public class Client { + public static void main(String[] args) { + Alarm alarm = new Alarm(); + CoffeePot coffeePot = new CoffeePot(); + Calender calender = new Calender(); + Sprinkler sprinkler = new Sprinkler(); + Mediator mediator = new ConcreteMediator(alarm, coffeePot, calender, sprinkler); + // 闹钟事件到达,调用中介者就可以操作相关对象 + alarm.onEvent(mediator); + } +} diff --git a/Mediator/src/CoffeePot.java b/Mediator/src/CoffeePot.java new file mode 100644 index 0000000..6facf46 --- /dev/null +++ b/Mediator/src/CoffeePot.java @@ -0,0 +1,10 @@ +public class CoffeePot extends Colleague { + @Override + public void onEvent(Mediator mediator) { + mediator.doEvent("coffeePot"); + } + + public void doCoffeePot() { + System.out.println("doCoffeePot()"); + } +} diff --git a/Mediator/src/Colleague.java b/Mediator/src/Colleague.java new file mode 100644 index 0000000..15aef81 --- /dev/null +++ b/Mediator/src/Colleague.java @@ -0,0 +1,3 @@ +public abstract class Colleague { + public abstract void onEvent(Mediator mediator); +} diff --git a/Mediator/src/ConcreteMediator.java b/Mediator/src/ConcreteMediator.java new file mode 100644 index 0000000..b170cf2 --- /dev/null +++ b/Mediator/src/ConcreteMediator.java @@ -0,0 +1,49 @@ +public class ConcreteMediator extends Mediator { + private Alarm alarm; + private CoffeePot coffeePot; + private Calender calender; + private Sprinkler sprinkler; + + public ConcreteMediator(Alarm alarm, CoffeePot coffeePot, Calender calender, Sprinkler sprinkler) { + this.alarm = alarm; + this.coffeePot = coffeePot; + this.calender = calender; + this.sprinkler = sprinkler; + } + + @Override + public void doEvent(String eventType) { + switch (eventType) { + case "alarm": + doAlarmEvent(); + break; + case "coffeePot": + doCoffeePotEvent(); + break; + case "calender": + doCalenderEvent(); + break; + default: + doSprinklerEvent(); + } + } + + public void doAlarmEvent() { + alarm.doAlarm(); + coffeePot.doCoffeePot(); + calender.doCalender(); + sprinkler.doSprinkler(); + } + + public void doCoffeePotEvent() { + // ... + } + + public void doCalenderEvent() { + // ... + } + + public void doSprinklerEvent() { + // ... + } +} diff --git a/Mediator/src/Mediator.java b/Mediator/src/Mediator.java new file mode 100644 index 0000000..0cb9ed4 --- /dev/null +++ b/Mediator/src/Mediator.java @@ -0,0 +1,3 @@ +public abstract class Mediator { + public abstract void doEvent(String eventType); +} diff --git a/Mediator/src/Sprinkler.java b/Mediator/src/Sprinkler.java new file mode 100644 index 0000000..77c3bc3 --- /dev/null +++ b/Mediator/src/Sprinkler.java @@ -0,0 +1,10 @@ +public class Sprinkler extends Colleague { + @Override + public void onEvent(Mediator mediator) { + mediator.doEvent("sprinkler"); + } + + public void doSprinkler() { + System.out.println("doSprinkler()"); + } +} From e8869642ca316fc4f72b691510ff8942c1e301dd Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 15:27:38 +0800 Subject: [PATCH 07/16] =?UTF-8?q?=E5=A4=87=E5=BF=98=E5=BD=95=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Menento/Menento.iml | 11 ++++++ Menento/src/Calculator.java | 17 +++++++++ Menento/src/CalculatorImp.java | 36 +++++++++++++++++++ Menento/src/Client.java | 35 ++++++++++++++++++ Menento/src/PreviousCalculationImp.java | 26 ++++++++++++++ .../src/PreviousCalculationToCareTaker.java | 6 ++++ .../src/PreviousCalculationToOriginator.java | 9 +++++ 8 files changed, 141 insertions(+) create mode 100644 Menento/Menento.iml create mode 100644 Menento/src/Calculator.java create mode 100644 Menento/src/CalculatorImp.java create mode 100644 Menento/src/Client.java create mode 100644 Menento/src/PreviousCalculationImp.java create mode 100644 Menento/src/PreviousCalculationToCareTaker.java create mode 100644 Menento/src/PreviousCalculationToOriginator.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 8402a4a..7aebad7 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -14,6 +14,7 @@ + diff --git a/Menento/Menento.iml b/Menento/Menento.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Menento/Menento.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Menento/src/Calculator.java b/Menento/src/Calculator.java new file mode 100644 index 0000000..fec8737 --- /dev/null +++ b/Menento/src/Calculator.java @@ -0,0 +1,17 @@ +/** + * Originator Interface + */ +public interface Calculator { + + // Create Memento + PreviousCalculationToCareTaker backupLastCalculation(); + + // setMemento + void restorePreviousCalculation(PreviousCalculationToCareTaker memento); + + int getCalculationResult(); + + void setFirstNumber(int firstNumber); + + void setSecondNumber(int secondNumber); +} \ No newline at end of file diff --git a/Menento/src/CalculatorImp.java b/Menento/src/CalculatorImp.java new file mode 100644 index 0000000..8b6f37f --- /dev/null +++ b/Menento/src/CalculatorImp.java @@ -0,0 +1,36 @@ +/** + * Originator Implementation + */ +public class CalculatorImp implements Calculator { + + private int firstNumber; + private int secondNumber; + + @Override + public PreviousCalculationToCareTaker backupLastCalculation() { + // create a memento object used for restoring two numbers + return new PreviousCalculationImp(firstNumber, secondNumber); + } + + @Override + public void restorePreviousCalculation(PreviousCalculationToCareTaker memento) { + this.firstNumber = ((PreviousCalculationToOriginator) memento).getFirstNumber(); + this.secondNumber = ((PreviousCalculationToOriginator) memento).getSecondNumber(); + } + + @Override + public int getCalculationResult() { + // result is adding two numbers + return firstNumber + secondNumber; + } + + @Override + public void setFirstNumber(int firstNumber) { + this.firstNumber = firstNumber; + } + + @Override + public void setSecondNumber(int secondNumber) { + this.secondNumber = secondNumber; + } +} \ No newline at end of file diff --git a/Menento/src/Client.java b/Menento/src/Client.java new file mode 100644 index 0000000..c5a0d2b --- /dev/null +++ b/Menento/src/Client.java @@ -0,0 +1,35 @@ +/** + * CareTaker object + */ +public class Client { + + public static void main(String[] args) { + // program starts + Calculator calculator = new CalculatorImp(); + + // assume user enters two numbers + calculator.setFirstNumber(10); + calculator.setSecondNumber(100); + + // find result + System.out.println(calculator.getCalculationResult()); + + // Store result of this calculation in case of error + PreviousCalculationToCareTaker memento = calculator.backupLastCalculation(); + + // user enters a number + calculator.setFirstNumber(17); + + // user enters a wrong second number and calculates result + calculator.setSecondNumber(-290); + + // calculate result + System.out.println(calculator.getCalculationResult()); + + // user hits CTRL + Z to undo last operation and see last result + calculator.restorePreviousCalculation(memento); + + // result restored + System.out.println(calculator.getCalculationResult()); + } +} \ No newline at end of file diff --git a/Menento/src/PreviousCalculationImp.java b/Menento/src/PreviousCalculationImp.java new file mode 100644 index 0000000..0654b80 --- /dev/null +++ b/Menento/src/PreviousCalculationImp.java @@ -0,0 +1,26 @@ +/** + * Memento Object Implementation + *

+ * Note that this object implements both interfaces to Originator and CareTaker + */ +public class PreviousCalculationImp implements PreviousCalculationToCareTaker, + PreviousCalculationToOriginator { + + private int firstNumber; + private int secondNumber; + + public PreviousCalculationImp(int firstNumber, int secondNumber) { + this.firstNumber = firstNumber; + this.secondNumber = secondNumber; + } + + @Override + public int getFirstNumber() { + return firstNumber; + } + + @Override + public int getSecondNumber() { + return secondNumber; + } +} \ No newline at end of file diff --git a/Menento/src/PreviousCalculationToCareTaker.java b/Menento/src/PreviousCalculationToCareTaker.java new file mode 100644 index 0000000..ce6167f --- /dev/null +++ b/Menento/src/PreviousCalculationToCareTaker.java @@ -0,0 +1,6 @@ +/** + * Memento interface to CalculatorOperator (Caretaker) + */ +public interface PreviousCalculationToCareTaker { + // no operations permitted for the caretaker +} \ No newline at end of file diff --git a/Menento/src/PreviousCalculationToOriginator.java b/Menento/src/PreviousCalculationToOriginator.java new file mode 100644 index 0000000..111f154 --- /dev/null +++ b/Menento/src/PreviousCalculationToOriginator.java @@ -0,0 +1,9 @@ +/** + * Memento Interface to Originator + * + * This interface allows the originator to restore its state + */ +public interface PreviousCalculationToOriginator { + int getFirstNumber(); + int getSecondNumber(); +} \ No newline at end of file From 739d0574a86a68d8838fdf7b595d281fb332310a Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 16:19:01 +0800 Subject: [PATCH 08/16] =?UTF-8?q?=E8=AE=BF=E9=97=AE=E8=80=85=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Visitor/Visitor.iml | 11 +++++++++++ Visitor/src/Client.java | 23 +++++++++++++++++++++++ Visitor/src/Customer.java | 27 +++++++++++++++++++++++++++ Visitor/src/CustomerGroup.java | 17 +++++++++++++++++ Visitor/src/Element.java | 3 +++ Visitor/src/GeneralReport.java | 27 +++++++++++++++++++++++++++ Visitor/src/Item.java | 16 ++++++++++++++++ Visitor/src/Order.java | 33 +++++++++++++++++++++++++++++++++ Visitor/src/Visitor.java | 7 +++++++ 10 files changed, 165 insertions(+) create mode 100644 Visitor/Visitor.iml create mode 100644 Visitor/src/Client.java create mode 100644 Visitor/src/Customer.java create mode 100644 Visitor/src/CustomerGroup.java create mode 100644 Visitor/src/Element.java create mode 100644 Visitor/src/GeneralReport.java create mode 100644 Visitor/src/Item.java create mode 100644 Visitor/src/Order.java create mode 100644 Visitor/src/Visitor.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 7aebad7..3eebe0b 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -23,6 +23,7 @@ + diff --git a/Visitor/Visitor.iml b/Visitor/Visitor.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Visitor/Visitor.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Visitor/src/Client.java b/Visitor/src/Client.java new file mode 100644 index 0000000..9325bc4 --- /dev/null +++ b/Visitor/src/Client.java @@ -0,0 +1,23 @@ +public class Client { + public static void main(String[] args) { + Customer customer1 = new Customer("customer1"); + customer1.addOrder(new Order("order1", "item1")); + customer1.addOrder(new Order("order2", "item1")); + customer1.addOrder(new Order("order3", "item1")); + + Order order = new Order("order_a"); + order.addItem(new Item("item_a1")); + order.addItem(new Item("item_a2")); + order.addItem(new Item("item_a3")); + Customer customer2 = new Customer("customer2"); + customer2.addOrder(order); + + CustomerGroup customers = new CustomerGroup(); + customers.addCustomer(customer1); + customers.addCustomer(customer2); + + GeneralReport visitor = new GeneralReport(); + customers.accept(visitor); + visitor.displayResults(); + } +} \ No newline at end of file diff --git a/Visitor/src/Customer.java b/Visitor/src/Customer.java new file mode 100644 index 0000000..d8f7f0f --- /dev/null +++ b/Visitor/src/Customer.java @@ -0,0 +1,27 @@ +import java.util.ArrayList; +import java.util.List; + +public class Customer implements Element { + + private String name; + private List orders = new ArrayList<>(); + + Customer(String name) { + this.name = name; + } + + String getName() { + return name; + } + + void addOrder(Order order) { + orders.add(order); + } + + public void accept(Visitor visitor) { + visitor.visit(this); + for (Order order : orders) { + order.accept(visitor); + } + } +} \ No newline at end of file diff --git a/Visitor/src/CustomerGroup.java b/Visitor/src/CustomerGroup.java new file mode 100644 index 0000000..e65174f --- /dev/null +++ b/Visitor/src/CustomerGroup.java @@ -0,0 +1,17 @@ +import java.util.ArrayList; +import java.util.List; + +class CustomerGroup { + + private List customers = new ArrayList<>(); + + void accept(Visitor visitor) { + for (Customer customer : customers) { + customer.accept(visitor); + } + } + + void addCustomer(Customer customer) { + customers.add(customer); + } +} \ No newline at end of file diff --git a/Visitor/src/Element.java b/Visitor/src/Element.java new file mode 100644 index 0000000..15f6d02 --- /dev/null +++ b/Visitor/src/Element.java @@ -0,0 +1,3 @@ +public interface Element { + void accept(Visitor visitor); +} \ No newline at end of file diff --git a/Visitor/src/GeneralReport.java b/Visitor/src/GeneralReport.java new file mode 100644 index 0000000..613a128 --- /dev/null +++ b/Visitor/src/GeneralReport.java @@ -0,0 +1,27 @@ +public class GeneralReport implements Visitor { + + private int customersNo; + private int ordersNo; + private int itemsNo; + + public void visit(Customer customer) { + System.out.println(customer.getName()); + customersNo++; + } + + public void visit(Order order) { + System.out.println(order.getName()); + ordersNo++; + } + + public void visit(Item item) { + System.out.println(item.getName()); + itemsNo++; + } + + public void displayResults() { + System.out.println("Number of customers: " + customersNo); + System.out.println("Number of orders: " + ordersNo); + System.out.println("Number of items: " + itemsNo); + } +} \ No newline at end of file diff --git a/Visitor/src/Item.java b/Visitor/src/Item.java new file mode 100644 index 0000000..a10e82a --- /dev/null +++ b/Visitor/src/Item.java @@ -0,0 +1,16 @@ +public class Item implements Element { + + private String name; + + Item(String name) { + this.name = name; + } + + String getName() { + return name; + } + + public void accept(Visitor visitor) { + visitor.visit(this); + } +} \ No newline at end of file diff --git a/Visitor/src/Order.java b/Visitor/src/Order.java new file mode 100644 index 0000000..fb5efc6 --- /dev/null +++ b/Visitor/src/Order.java @@ -0,0 +1,33 @@ +import java.util.ArrayList; +import java.util.List; + +public class Order implements Element { + + private String name; + private List items = new ArrayList(); + + Order(String name) { + this.name = name; + } + + Order(String name, String itemName) { + this.name = name; + this.addItem(new Item(itemName)); + } + + String getName() { + return name; + } + + void addItem(Item item) { + items.add(item); + } + + public void accept(Visitor visitor) { + visitor.visit(this); + + for (Item item : items) { + item.accept(visitor); + } + } +} \ No newline at end of file diff --git a/Visitor/src/Visitor.java b/Visitor/src/Visitor.java new file mode 100644 index 0000000..ee71832 --- /dev/null +++ b/Visitor/src/Visitor.java @@ -0,0 +1,7 @@ +public interface Visitor { + void visit(Customer customer); + + void visit(Order order); + + void visit(Item item); +} \ No newline at end of file From 693fb627833ef796160164ccfea928933aa1fab3 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 17:23:04 +0800 Subject: [PATCH 09/16] =?UTF-8?q?=E4=BA=AB=E5=85=83=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Flyweight/Flyweight.iml | 11 +++++++++++ Flyweight/src/Client.java | 9 +++++++++ Flyweight/src/ConcreteFlyweight.java | 15 +++++++++++++++ Flyweight/src/Flyweight.java | 3 +++ Flyweight/src/FlyweightFactory.java | 14 ++++++++++++++ 6 files changed, 53 insertions(+) create mode 100644 Flyweight/Flyweight.iml create mode 100644 Flyweight/src/Client.java create mode 100644 Flyweight/src/ConcreteFlyweight.java create mode 100644 Flyweight/src/Flyweight.java create mode 100644 Flyweight/src/FlyweightFactory.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 3eebe0b..ffb38b1 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -11,6 +11,7 @@ + diff --git a/Flyweight/Flyweight.iml b/Flyweight/Flyweight.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Flyweight/Flyweight.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Flyweight/src/Client.java b/Flyweight/src/Client.java new file mode 100644 index 0000000..8c9fa5e --- /dev/null +++ b/Flyweight/src/Client.java @@ -0,0 +1,9 @@ +public class Client { + public static void main(String[] args) { + FlyweightFactory factory = new FlyweightFactory(); + Flyweight flyweight1 = factory.getFlyweight("aa"); + Flyweight flyweight2 = factory.getFlyweight("aa"); + flyweight1.doOperation("x"); + flyweight2.doOperation("y"); + } +} diff --git a/Flyweight/src/ConcreteFlyweight.java b/Flyweight/src/ConcreteFlyweight.java new file mode 100644 index 0000000..9bbeb72 --- /dev/null +++ b/Flyweight/src/ConcreteFlyweight.java @@ -0,0 +1,15 @@ +public class ConcreteFlyweight implements Flyweight { + + private String intrinsicState; + + public ConcreteFlyweight(String intrinsicState) { + this.intrinsicState = intrinsicState; + } + + @Override + public void doOperation(String extrinsicState) { + System.out.println("Object address: " + System.identityHashCode(this)); + System.out.println("IntrinsicState: " + intrinsicState); + System.out.println("ExtrinsicState: " + extrinsicState); + } +} diff --git a/Flyweight/src/Flyweight.java b/Flyweight/src/Flyweight.java new file mode 100644 index 0000000..832a935 --- /dev/null +++ b/Flyweight/src/Flyweight.java @@ -0,0 +1,3 @@ +public interface Flyweight { + void doOperation(String extrinsicState); +} diff --git a/Flyweight/src/FlyweightFactory.java b/Flyweight/src/FlyweightFactory.java new file mode 100644 index 0000000..f5608da --- /dev/null +++ b/Flyweight/src/FlyweightFactory.java @@ -0,0 +1,14 @@ +import java.util.HashMap; + +public class FlyweightFactory { + + private HashMap flyweights = new HashMap<>(); + + Flyweight getFlyweight(String intrinsicState) { + if (!flyweights.containsKey(intrinsicState)) { + Flyweight flyweight = new ConcreteFlyweight(intrinsicState); + flyweights.put(intrinsicState, flyweight); + } + return flyweights.get(intrinsicState); + } +} From a7e94649a11e4fa33dfd8b92cf046a9db9e918ec Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 20:14:57 +0800 Subject: [PATCH 10/16] =?UTF-8?q?=E6=A1=A5=E6=8E=A5=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Bridge/Bridge.iml | 11 +++++++++++ Bridge/src/Client.java | 8 ++++++++ Bridge/src/ConcreteRemoteControl1.java | 23 +++++++++++++++++++++++ Bridge/src/ConcreteRemoteControl2.java | 23 +++++++++++++++++++++++ Bridge/src/RCA.java | 16 ++++++++++++++++ Bridge/src/RemoteControl.java | 13 +++++++++++++ Bridge/src/Sony.java | 16 ++++++++++++++++ Bridge/src/TV.java | 7 +++++++ 9 files changed, 118 insertions(+) create mode 100644 Bridge/Bridge.iml create mode 100644 Bridge/src/Client.java create mode 100644 Bridge/src/ConcreteRemoteControl1.java create mode 100644 Bridge/src/ConcreteRemoteControl2.java create mode 100644 Bridge/src/RCA.java create mode 100644 Bridge/src/RemoteControl.java create mode 100644 Bridge/src/Sony.java create mode 100644 Bridge/src/TV.java diff --git a/.idea/modules.xml b/.idea/modules.xml index ffb38b1..2e45250 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ + diff --git a/Bridge/Bridge.iml b/Bridge/Bridge.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Bridge/Bridge.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Bridge/src/Client.java b/Bridge/src/Client.java new file mode 100644 index 0000000..ccac8a3 --- /dev/null +++ b/Bridge/src/Client.java @@ -0,0 +1,8 @@ +public class Client { + public static void main(String[] args) { + RemoteControl remoteControl1 = new ConcreteRemoteControl1(new RCA()); + remoteControl1.on(); + remoteControl1.off(); + remoteControl1.tuneChannel(); + } +} diff --git a/Bridge/src/ConcreteRemoteControl1.java b/Bridge/src/ConcreteRemoteControl1.java new file mode 100644 index 0000000..72d2b70 --- /dev/null +++ b/Bridge/src/ConcreteRemoteControl1.java @@ -0,0 +1,23 @@ +public class ConcreteRemoteControl1 extends RemoteControl { + public ConcreteRemoteControl1(TV tv) { + super(tv); + } + + @Override + public void on() { + System.out.println("ConcreteRemoteControl1.on()"); + tv.on(); + } + + @Override + public void off() { + System.out.println("ConcreteRemoteControl1.off()"); + tv.off(); + } + + @Override + public void tuneChannel() { + System.out.println("ConcreteRemoteControl1.tuneChannel()"); + tv.tuneChannel(); + } +} diff --git a/Bridge/src/ConcreteRemoteControl2.java b/Bridge/src/ConcreteRemoteControl2.java new file mode 100644 index 0000000..4ee8103 --- /dev/null +++ b/Bridge/src/ConcreteRemoteControl2.java @@ -0,0 +1,23 @@ +public class ConcreteRemoteControl2 extends RemoteControl { + public ConcreteRemoteControl2(TV tv) { + super(tv); + } + + @Override + public void on() { + System.out.println("ConcreteRemoteControl2.on()"); + tv.on(); + } + + @Override + public void off() { + System.out.println("ConcreteRemoteControl2.off()"); + tv.off(); + } + + @Override + public void tuneChannel() { + System.out.println("ConcreteRemoteControl2.tuneChannel()"); + tv.tuneChannel(); + } +} diff --git a/Bridge/src/RCA.java b/Bridge/src/RCA.java new file mode 100644 index 0000000..7f65b73 --- /dev/null +++ b/Bridge/src/RCA.java @@ -0,0 +1,16 @@ +public class RCA extends TV{ + @Override + public void on() { + System.out.println("RCA.on()"); + } + + @Override + public void off() { + System.out.println("RCA.off()"); + } + + @Override + public void tuneChannel() { + System.out.println("RCA.tuneChannel()"); + } +} diff --git a/Bridge/src/RemoteControl.java b/Bridge/src/RemoteControl.java new file mode 100644 index 0000000..97c80bd --- /dev/null +++ b/Bridge/src/RemoteControl.java @@ -0,0 +1,13 @@ +public abstract class RemoteControl { + protected TV tv; + + public RemoteControl(TV tv) { + this.tv = tv; + } + + public abstract void on(); + + public abstract void off(); + + public abstract void tuneChannel(); +} diff --git a/Bridge/src/Sony.java b/Bridge/src/Sony.java new file mode 100644 index 0000000..81bd673 --- /dev/null +++ b/Bridge/src/Sony.java @@ -0,0 +1,16 @@ +public class Sony extends TV{ + @Override + public void on() { + System.out.println("Sony.on()"); + } + + @Override + public void off() { + System.out.println("Sony.off()"); + } + + @Override + public void tuneChannel() { + System.out.println("Sony.tuneChannel()"); + } +} diff --git a/Bridge/src/TV.java b/Bridge/src/TV.java new file mode 100644 index 0000000..47ee166 --- /dev/null +++ b/Bridge/src/TV.java @@ -0,0 +1,7 @@ +public abstract class TV { + public abstract void on(); + + public abstract void off(); + + public abstract void tuneChannel(); +} From 2a41a561828dd438029c5b0a7ed2eee044e4bf12 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 5 Jun 2018 21:33:58 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E4=BB=A3=E7=90=86=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/modules.xml | 1 + Proxy/Proxy.iml | 11 ++++++++++ Proxy/src/HighResolutionImage.java | 35 ++++++++++++++++++++++++++++++ Proxy/src/Image.java | 3 +++ Proxy/src/ImageProxy.java | 21 ++++++++++++++++++ Proxy/src/ImageViewer.java | 11 ++++++++++ README.md | 2 -- 7 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 Proxy/Proxy.iml create mode 100644 Proxy/src/HighResolutionImage.java create mode 100644 Proxy/src/Image.java create mode 100644 Proxy/src/ImageProxy.java create mode 100644 Proxy/src/ImageViewer.java diff --git a/.idea/modules.xml b/.idea/modules.xml index 2e45250..2ac71e3 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -20,6 +20,7 @@ + diff --git a/Proxy/Proxy.iml b/Proxy/Proxy.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Proxy/Proxy.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Proxy/src/HighResolutionImage.java b/Proxy/src/HighResolutionImage.java new file mode 100644 index 0000000..e98fc74 --- /dev/null +++ b/Proxy/src/HighResolutionImage.java @@ -0,0 +1,35 @@ +import java.net.URL; + +public class HighResolutionImage implements Image { + + private URL imageURL; + private long startTime; + private int height; + private int width; + + public int getHeight() { + return height; + } + + public int getWidth() { + return width; + } + + public HighResolutionImage(URL imageURL) { + this.imageURL = imageURL; + this.startTime = System.currentTimeMillis(); + this.width = 600; + this.height = 600; + } + + public boolean isLoad() { + // 模拟图片加载,延迟 3s 加载完成 + long endTime = System.currentTimeMillis(); + return endTime - startTime > 3000; + } + + @Override + public void showImage() { + System.out.println("Real Image: " + imageURL); + } +} \ No newline at end of file diff --git a/Proxy/src/Image.java b/Proxy/src/Image.java new file mode 100644 index 0000000..d561e1f --- /dev/null +++ b/Proxy/src/Image.java @@ -0,0 +1,3 @@ +public interface Image { + void showImage(); +} \ No newline at end of file diff --git a/Proxy/src/ImageProxy.java b/Proxy/src/ImageProxy.java new file mode 100644 index 0000000..fcb0783 --- /dev/null +++ b/Proxy/src/ImageProxy.java @@ -0,0 +1,21 @@ +public class ImageProxy implements Image { + private HighResolutionImage highResolutionImage; + + public ImageProxy(HighResolutionImage highResolutionImage) { + this.highResolutionImage = highResolutionImage; + } + + @Override + public void showImage() { + while (!highResolutionImage.isLoad()) { + try { + System.out.println("Temp Image: " + highResolutionImage.getWidth() + " " + highResolutionImage.getHeight()); + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + highResolutionImage.showImage(); + } + +} \ No newline at end of file diff --git a/Proxy/src/ImageViewer.java b/Proxy/src/ImageViewer.java new file mode 100644 index 0000000..30b0d89 --- /dev/null +++ b/Proxy/src/ImageViewer.java @@ -0,0 +1,11 @@ +import java.net.URL; + +public class ImageViewer { + public static void main(String[] args) throws Exception { + String image = "http://image.jpg"; + URL url = new URL(image); + HighResolutionImage highResolutionImage = new HighResolutionImage(url); + ImageProxy imageProxy = new ImageProxy(highResolutionImage); + imageProxy.showImage(); + } +} \ No newline at end of file diff --git a/README.md b/README.md index a7d1dab..7ec3129 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,3 @@ 笔记中的 UML 图使用 StarUML 绘制,文件可在本仓库找到。 欢迎对代码和 UML 图进行编辑改正! - -23 个设计模式目前只实现了三分之二,预计 6.6 号之前完成初版。 From d438591b9e273a7f07696a6675dbd5eba400c214 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Thu, 7 Jun 2018 09:50:41 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=B8=80=E4=BA=9B=20UM?= =?UTF-8?q?L=20=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\344\270\255\344\273\213\350\200\205.mdj" | 2196 +++++++++++ .../\344\272\253\345\205\203.mdj" | 2432 ++++++++++++ .../\344\273\243\347\220\206.mdj" | 2573 +++++++++++++ .../\345\216\237\345\236\213.mdj" | 1463 ++++++++ .../\345\244\207\345\277\230\345\275\225.mdj" | 2053 +++++++++++ .../\346\241\245\346\216\245.mdj" | 2142 +++++++++++ .../\350\247\243\351\207\212\345\231\250.mdj" | 2529 +++++++++++++ .../\350\256\277\351\227\256\350\200\205.mdj" | 3250 +++++++++++++++++ .../\350\264\243\344\273\273\351\223\276.mdj" | 1903 ++++++++++ 9 files changed, 20541 insertions(+) create mode 100644 "UML \347\273\230\345\233\276/\344\270\255\344\273\213\350\200\205.mdj" create mode 100644 "UML \347\273\230\345\233\276/\344\272\253\345\205\203.mdj" create mode 100644 "UML \347\273\230\345\233\276/\344\273\243\347\220\206.mdj" create mode 100644 "UML \347\273\230\345\233\276/\345\216\237\345\236\213.mdj" create mode 100644 "UML \347\273\230\345\233\276/\345\244\207\345\277\230\345\275\225.mdj" create mode 100644 "UML \347\273\230\345\233\276/\346\241\245\346\216\245.mdj" create mode 100644 "UML \347\273\230\345\233\276/\350\247\243\351\207\212\345\231\250.mdj" create mode 100644 "UML \347\273\230\345\233\276/\350\256\277\351\227\256\350\200\205.mdj" create mode 100644 "UML \347\273\230\345\233\276/\350\264\243\344\273\273\351\223\276.mdj" diff --git "a/UML \347\273\230\345\233\276/\344\270\255\344\273\213\350\200\205.mdj" "b/UML \347\273\230\345\233\276/\344\270\255\344\273\213\350\200\205.mdj" new file mode 100644 index 0000000..b3e9629 --- /dev/null +++ "b/UML \347\273\230\345\233\276/\344\270\255\344\273\213\350\200\205.mdj" @@ -0,0 +1,2196 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzqVQ9WAjPSc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzqVQ9mAknTo=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "model": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVQ9mAlCZM=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9mAknTo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -256, + "top": -80, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVQ9mAm2J4=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9mAknTo=" + }, + "font": "Arial;13;1", + "left": 293, + "top": 263, + "width": 71, + "height": 13, + "text": "Mediator" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVQ9mAngzg=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9mAknTo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -256, + "top": -80, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVQ9mAofww=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9mAknTo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -256, + "top": -80, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 288, + "top": 256, + "width": 81, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqVQ9mAlCZM=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzqVQ9mAm2J4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzqVQ9mAngzg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqVQ9mAofww=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzqVQ9mApW6w=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "model": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + }, + "font": "Arial;13;0", + "left": 288, + "top": 281, + "width": 81, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzqVQ9mAqe+Q=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "model": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + }, + "font": "Arial;13;0", + "left": 288, + "top": 291, + "width": 81, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzqVQ92ArUYs=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "model": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -40, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzqVQ92AsljQ=", + "_parent": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "model": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -40, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 288, + "top": 256, + "width": 81, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjzqVQ9mAknTo=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzqVQ9mApW6w=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzqVQ9mAqe+Q=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzqVQ92ArUYs=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzqVQ92AsljQ=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzqVxNGBNRjo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzqVxNGBOcRQ=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "model": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVxNGBPePU=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBOcRQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 160, + "top": -128, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVxNGBQwi8=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBOcRQ=" + }, + "font": "Arial;13;1", + "left": 541, + "top": 263, + "width": 87, + "height": 13, + "text": "Colleague" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVxNGBRqfM=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBOcRQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 160, + "top": -128, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqVxNGBSsD8=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBOcRQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 160, + "top": -128, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 536, + "top": 256, + "width": 97, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqVxNGBPePU=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzqVxNGBQwi8=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzqVxNGBRqfM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqVxNGBSsD8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzqVxNGBTAAY=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "model": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "font": "Arial;13;0", + "left": 536, + "top": 281, + "width": 97, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzqVxNGBUY/k=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "model": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "font": "Arial;13;0", + "left": 536, + "top": 291, + "width": 97, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzqVxNGBV2Os=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "model": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 80, + "top": -64, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzqVxNGBWJd0=", + "_parent": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "model": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 80, + "top": -64, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 536, + "top": 256, + "width": 97, + "height": 57, + "nameCompartment": { + "$ref": "AAAAAAFjzqVxNGBOcRQ=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzqVxNGBTAAY=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzqVxNGBUY/k=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzqVxNGBV2Os=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzqVxNGBWJd0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzqWeXGB5JmY=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzqWeXGB6LG8=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "model": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzqWeXGB7618=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB6LG8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -368, + "top": -80, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqWeXGB80zM=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB6LG8=" + }, + "font": "Arial;13;1", + "left": 445, + "top": 359, + "width": 125.70263671875, + "height": 13, + "text": "ConcreteColleague1" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqWeXGB9mXQ=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB6LG8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -368, + "top": -80, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqWeXGB+v7A=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB6LG8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -368, + "top": -80, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 440, + "top": 352, + "width": 135.70263671875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqWeXGB7618=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzqWeXGB80zM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzqWeXGB9mXQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqWeXGB+v7A=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzqWeXGB/hrs=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "model": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "font": "Arial;13;0", + "left": 440, + "top": 377, + "width": 135.70263671875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzqWeXGCA2Kk=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "model": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "font": "Arial;13;0", + "left": 440, + "top": 387, + "width": 135.70263671875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzqWeXGCBKq4=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "model": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -184, + "top": -40, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzqWeXWCCugs=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "model": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -184, + "top": -40, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 440, + "top": 352, + "width": 135.70263671875, + "height": 57, + "nameCompartment": { + "$ref": "AAAAAAFjzqWeXGB6LG8=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzqWeXGB/hrs=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzqWeXGCA2Kk=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzqWeXGCBKq4=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzqWeXWCCugs=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzqXLT2ClXIQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzqXLT2CmghI=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "model": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzqXLT2CnDXs=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2CmghI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -336, + "top": -112, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqXLT2CoVD0=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2CmghI=" + }, + "font": "Arial;13;1", + "left": 621, + "top": 359, + "width": 127, + "height": 13, + "text": "ConcreteColleague2" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqXLT2CpVK0=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2CmghI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -336, + "top": -112, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqXLT2CqBdM=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2CmghI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -336, + "top": -112, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 616, + "top": 352, + "width": 137, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqXLT2CnDXs=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzqXLT2CoVD0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzqXLT2CpVK0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqXLT2CqBdM=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzqXLT2Cr7SY=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "model": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "font": "Arial;13;0", + "left": 616, + "top": 377, + "width": 137, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzqXLT2CsAT4=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "model": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "font": "Arial;13;0", + "left": 616, + "top": 387, + "width": 137, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzqXLT2CtnNw=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "model": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -168, + "top": -56, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzqXLT2CuA44=", + "_parent": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "model": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -168, + "top": -56, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 616, + "top": 352, + "width": 137, + "height": 57, + "nameCompartment": { + "$ref": "AAAAAAFjzqXLT2CmghI=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzqXLT2Cr7SY=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzqXLT2CsAT4=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzqXLT2CtnNw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzqXLT2CuA44=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzqZS5mDasFE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzqZS52DbPcs=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "model": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzqZS52DcaWE=", + "_parent": { + "$ref": "AAAAAAFjzqZS52DbPcs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqZS52DdyWQ=", + "_parent": { + "$ref": "AAAAAAFjzqZS52DbPcs=" + }, + "font": "Arial;13;1", + "left": 277, + "top": 367, + "width": 103.2890625, + "height": 13, + "text": "ConreteMediator" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqZS52DeOhM=", + "_parent": { + "$ref": "AAAAAAFjzqZS52DbPcs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzqZS52DfA4U=", + "_parent": { + "$ref": "AAAAAAFjzqZS52DbPcs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 272, + "top": 360, + "width": 113.2890625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqZS52DcaWE=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzqZS52DdyWQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzqZS52DeOhM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqZS52DfA4U=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzqZS52DgbXs=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "model": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "font": "Arial;13;0", + "left": 272, + "top": 385, + "width": 113.2890625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzqZS52Dh/bA=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "model": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "font": "Arial;13;0", + "left": 272, + "top": 395, + "width": 113.2890625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzqZS52DiGuQ=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "model": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzqZS52DjPGs=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "model": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 272, + "top": 360, + "width": 113.2890625, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjzqZS52DbPcs=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzqZS52DgbXs=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzqZS52Dh/bA=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzqZS52DiGuQ=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzqZS52DjPGs=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzqbElWER4bY=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElWESaOY=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 451, + "top": 290, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmETSd4=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 451, + "top": 305, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEUa2w=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 452, + "top": 261, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEVmQc=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGEOpV4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 508, + "top": 291, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEWG3s=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGEOpV4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 506, + "top": 304, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEXczo=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGEOpV4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 513, + "top": 264, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEYfuM=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElWEPjLo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 394, + "top": 290, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEZOoE=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElWEPjLo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 396, + "top": 303, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbElmEacZI=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElWEPjLo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 390, + "top": 262, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzqbElWER4bY=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzqbElmEbc70=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElGEOpV4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzqbElmEcszg=", + "_parent": { + "$ref": "AAAAAAFjzqbElWER4bY=" + }, + "model": { + "$ref": "AAAAAAFjzqbElWEPjLo=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "tail": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "lineStyle": 1, + "points": "535:283;369:281", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzqbElWESaOY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqbElmETSd4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqbElmEUa2w=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzqbElmEVmQc=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzqbElmEWG3s=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzqbElmEXczo=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzqbElmEYfuM=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzqbElmEZOoE=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzqbElmEacZI=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzqbElmEbc70=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzqbElmEcszg=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzqbiOWFaAU8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOWFb21Q=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 520, + "top": 451, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOWFcRiM=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 520, + "top": 436, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOWFd69c=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 520, + "top": 481, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOWFeEoU=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFXSvg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 343, + "top": 427, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOWFfLq4=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFXSvg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 356, + "top": 430, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOmFgxpo=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFXSvg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 315, + "top": 423, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOmFhgPw=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFYFqU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 697, + "top": 427, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOmFi7co=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFYFqU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 683, + "top": 430, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqbiOmFjNdA=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFYFqU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 724, + "top": 423, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzqbiOmFkFxM=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFXSvg=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzqbiOmFla+A=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFaAU8=" + }, + "model": { + "$ref": "AAAAAAFjzqbiOWFYFqU=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "tail": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "lineStyle": 2, + "points": "328:408;328:472;712:472;712:408", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzqbiOWFb21Q=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqbiOWFcRiM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqbiOWFd69c=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzqbiOWFeEoU=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzqbiOWFfLq4=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzqbiOmFgxpo=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzqbiOmFhgPw=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzqbiOmFi7co=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzqbiOmFjNdA=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzqbiOmFkFxM=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzqbiOmFla+A=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzqfCFGU8QU8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqfCE2U6N04=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqfCFGU9nmo=", + "_parent": { + "$ref": "AAAAAAFjzqfCFGU8QU8=" + }, + "model": { + "$ref": "AAAAAAFjzqfCE2U6N04=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 313, + "top": 325, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqfCFGU8QU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqfCFWU+lxQ=", + "_parent": { + "$ref": "AAAAAAFjzqfCFGU8QU8=" + }, + "model": { + "$ref": "AAAAAAFjzqfCE2U6N04=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 298, + "top": 325, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqfCFGU8QU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqfCFWU/XvI=", + "_parent": { + "$ref": "AAAAAAFjzqfCFGU8QU8=" + }, + "model": { + "$ref": "AAAAAAFjzqfCE2U6N04=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 342, + "top": 326, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqfCFGU8QU8=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzqVQ9WAjPSc=" + }, + "tail": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "lineStyle": 1, + "points": "328:359;328:305", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzqfCFGU9nmo=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqfCFWU+lxQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqfCFWU/XvI=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzqfV5mV3LI4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqfV5WV12Ow=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqfV52V49dQ=", + "_parent": { + "$ref": "AAAAAAFjzqfV5mV3LI4=" + }, + "model": { + "$ref": "AAAAAAFjzqfV5WV12Ow=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 533, + "top": 316, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqfV5mV3LI4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqfV52V5TaE=", + "_parent": { + "$ref": "AAAAAAFjzqfV5mV3LI4=" + }, + "model": { + "$ref": "AAAAAAFjzqfV5WV12Ow=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 522, + "top": 306, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqfV5mV3LI4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqfV52V6DwU=", + "_parent": { + "$ref": "AAAAAAFjzqfV5mV3LI4=" + }, + "model": { + "$ref": "AAAAAAFjzqfV5WV12Ow=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 556, + "top": 335, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqfV5mV3LI4=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "tail": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "lineStyle": 1, + "points": "530:351;561:313", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzqfV52V49dQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqfV52V5TaE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqfV52V6DwU=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzqftW2XEhiM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqftW2XCGbA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqftW2XFhJE=", + "_parent": { + "$ref": "AAAAAAFjzqftW2XEhiM=" + }, + "model": { + "$ref": "AAAAAAFjzqftW2XCGbA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 623, + "top": 336, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqftW2XEhiM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqftW2XGELY=", + "_parent": { + "$ref": "AAAAAAFjzqftW2XEhiM=" + }, + "model": { + "$ref": "AAAAAAFjzqftW2XCGbA=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 613, + "top": 347, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqftW2XEhiM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqftW2XH4DI=", + "_parent": { + "$ref": "AAAAAAFjzqftW2XEhiM=" + }, + "model": { + "$ref": "AAAAAAFjzqftW2XCGbA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 644, + "top": 315, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqftW2XEhiM=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzqVxNGBNRjo=" + }, + "tail": { + "$ref": "AAAAAAFjzqXLT2ClXIQ=" + }, + "lineStyle": 1, + "points": "654:351;614:313", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzqftW2XFhJE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqftW2XGELY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqftW2XH4DI=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzqkCoGkCPwg=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkDdIM=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 416, + "top": 451, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkEIgc=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 416, + "top": 436, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkF6hs=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 416, + "top": 481, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkGJkk=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj/gIY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 343, + "top": 427, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkHOpA=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj/gIY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 356, + "top": 430, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkIpGk=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj/gIY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 315, + "top": 423, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkJNNg=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGkAx7A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 489, + "top": 427, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoGkKv6g=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGkAx7A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 475, + "top": 430, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzqkCoWkLbus=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGkAx7A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 516, + "top": 423, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzqkCoWkMUfo=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGj/gIY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzqkCoWkN+yc=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGkCPwg=" + }, + "model": { + "$ref": "AAAAAAFjzqkCoGkAx7A=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzqWeXGB5JmY=" + }, + "tail": { + "$ref": "AAAAAAFjzqZS5mDasFE=" + }, + "lineStyle": 2, + "points": "328:408;328:472;504:472;504:408", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzqkCoGkDdIM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzqkCoGkEIgc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzqkCoGkF6hs=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzqkCoGkGJkk=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzqkCoGkHOpA=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzqkCoGkIpGk=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzqkCoGkJNNg=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzqkCoGkKv6g=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzqkCoWkLbus=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzqkCoWkMUfo=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzqkCoWkN+yc=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqVQ82AhTsE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Mediator" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqVxM2BLsBM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Colleague", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqbElGENHPc=", + "_parent": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbElGEOpV4=", + "_parent": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "reference": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbElWEPjLo=", + "_parent": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "reference": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqWeXGB37xM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteColleague1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzqfV5WV12Ow=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "source": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "target": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqXLTGCjWb0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteColleague2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzqftW2XCGbA=", + "_parent": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "source": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "target": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqZS5mDYkjg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConreteMediator", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqbiOWFWUfs=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbiOWFXSvg=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "reference": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbiOWFYFqU=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "reference": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + } + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzqfCE2U6N04=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "source": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "target": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqf/62X9+TY=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqf/7GX+g/8=", + "_parent": { + "$ref": "AAAAAAFjzqf/62X9+TY=" + }, + "reference": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqf/7GX/RII=", + "_parent": { + "$ref": "AAAAAAFjzqf/62X9+TY=" + }, + "reference": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqkCoGj+aM0=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqkCoGj/gIY=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "reference": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqkCoGkAx7A=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "reference": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\344\272\253\345\205\203.mdj" "b/UML \347\273\230\345\233\276/\344\272\253\345\205\203.mdj" new file mode 100644 index 0000000..2d4b7a5 --- /dev/null +++ "b/UML \347\273\230\345\233\276/\344\272\253\345\205\203.mdj" @@ -0,0 +1,2432 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzxA9VMsdA0M=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzxA9VMsewrk=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "model": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzxA9VMsfYW4=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsewrk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxA9Vcsg+GE=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsewrk=" + }, + "font": "Arial;13;1", + "left": 117, + "top": 223, + "width": 236.66796875, + "height": 13, + "text": "FlyweightFactory" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxA9VcshPBM=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsewrk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxA9VcsiCJM=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsewrk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 216, + "width": 246.66796875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxA9VMsfYW4=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzxA9Vcsg+GE=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzxA9VcshPBM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxA9VcsiCJM=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzxA9VcsjxMc=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "model": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "font": "Arial;13;0", + "left": 112, + "top": 241, + "width": 246.66796875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzxA9VcskVpk=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "model": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzxB5a8tIn8o=", + "_parent": { + "$ref": "AAAAAAFjzxA9VcskVpk=" + }, + "model": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "font": "Arial;13;0", + "left": 117, + "top": 256, + "width": 236.66796875, + "height": 13, + "text": "+getFlyweight(FlyweightKey): Flyweight", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 251, + "width": 246.66796875, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzxA9VcslUzU=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "model": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzxA9VcsmUhY=", + "_parent": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "model": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 112, + "top": 216, + "width": 246.66796875, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzxA9VMsewrk=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzxA9VcsjxMc=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzxA9VcskVpk=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzxA9VcslUzU=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzxA9VcsmUhY=" + } + }, + { + "_type": "UMLInterfaceView", + "_id": "AAAAAAFjzxE9YcuWlD8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzxE9YcuXWY0=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "model": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzxE9YcuYSVY=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuXWY0=" + }, + "font": "Arial;13;0", + "left": 453, + "top": 213, + "width": 233.75244140625, + "height": 13, + "text": "«interface»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxE9YsuZwvQ=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuXWY0=" + }, + "font": "Arial;13;1", + "left": 453, + "top": 228, + "width": 233.75244140625, + "height": 13, + "text": "Flyweight" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxE9YsuamO4=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuXWY0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -112, + "top": -48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxE9Ysub/ro=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuXWY0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -112, + "top": -48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 208, + "width": 243.75244140625, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxE9YcuYSVY=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzxE9YsuZwvQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzxE9YsuamO4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxE9Ysub/ro=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzxE9Ysucq/o=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "model": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -56, + "top": -24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzxE9Ysud/dk=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "model": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzxOwF8v11ZE=", + "_parent": { + "$ref": "AAAAAAFjzxE9Ysud/dk=" + }, + "model": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "font": "Arial;13;0", + "left": 453, + "top": 251, + "width": 233.75244140625, + "height": 13, + "text": "+doOperation(state: ExtrinsicState): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 246, + "width": 243.75244140625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzxE9YsuephA=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "model": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -56, + "top": -24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzxE9YsufkB0=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "model": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -56, + "top": -24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 448, + "top": 208, + "width": 243.75244140625, + "height": 65, + "nameCompartment": { + "$ref": "AAAAAAFjzxE9YcuXWY0=" + }, + "suppressAttributes": true, + "attributeCompartment": { + "$ref": "AAAAAAFjzxE9Ysucq/o=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzxE9Ysud/dk=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzxE9YsuephA=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzxE9YsufkB0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzxFp58vCX8s=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzxFp58vD8j8=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "model": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzxFp58vEcbI=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vD8j8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxFp58vFLFI=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vD8j8=" + }, + "font": "Arial;13;1", + "left": 453, + "top": 351, + "width": 233.75244140625, + "height": 13, + "text": "ConcreteFlyweight" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxFp58vGies=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vD8j8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxFp58vH1a0=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vD8j8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 344, + "width": 243.75244140625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxFp58vEcbI=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzxFp58vFLFI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzxFp58vGies=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxFp58vH1a0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzxFp58vIVC4=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "model": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFjzxGaesvun/s=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vIVC4=" + }, + "model": { + "$ref": "AAAAAAFjzxGaX8vrdxs=" + }, + "font": "Arial;13;0", + "left": 453, + "top": 374, + "width": 233.75244140625, + "height": 13, + "text": "+state: IntrinsicState", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 369, + "width": 243.75244140625, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzxFp58vJDvg=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "model": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzxRji8wM9J8=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vJDvg=" + }, + "model": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "font": "Arial;13;0", + "left": 453, + "top": 397, + "width": 233.75244140625, + "height": 13, + "text": "+doOperation(state: ExtrinsicState): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 392, + "width": 243.75244140625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzxFp58vKcVI=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "model": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzxFp58vLSDI=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "model": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 448, + "top": 344, + "width": 243.75244140625, + "height": 71, + "nameCompartment": { + "$ref": "AAAAAAFjzxFp58vD8j8=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzxFp58vIVC4=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzxFp58vJDvg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzxFp58vKcVI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzxFp58vLSDI=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzxSgT8wXw68=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxSgT8wVWHk=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxSgUMwYJ4I=", + "_parent": { + "$ref": "AAAAAAFjzxSgT8wXw68=" + }, + "model": { + "$ref": "AAAAAAFjzxSgT8wVWHk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 554, + "top": 301, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxSgT8wXw68=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxSgUMwZdYE=", + "_parent": { + "$ref": "AAAAAAFjzxSgT8wXw68=" + }, + "model": { + "$ref": "AAAAAAFjzxSgT8wVWHk=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 539, + "top": 301, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxSgT8wXw68=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxSgUMwaPY0=", + "_parent": { + "$ref": "AAAAAAFjzxSgT8wXw68=" + }, + "model": { + "$ref": "AAAAAAFjzxSgT8wVWHk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 583, + "top": 302, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxSgT8wXw68=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "tail": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "lineStyle": 1, + "points": "569:343;569:273", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzxSgUMwYJ4I=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxSgUMwZdYE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxSgUMwaPY0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzxS1A8wpuqI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzxS1A8wq1NQ=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "model": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzxS1A8wrD4Y=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wq1NQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxS1BMwsGrk=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wq1NQ=" + }, + "font": "Arial;13;1", + "left": 189, + "top": 367, + "width": 87, + "height": 13, + "text": "Client" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxS1BMwtqk0=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wq1NQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzxS1BMwujXo=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wq1NQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 184, + "top": 360, + "width": 97, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxS1A8wrD4Y=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzxS1BMwsGrk=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzxS1BMwtqk0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxS1BMwujXo=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzxS1BMwvcJo=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "model": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "font": "Arial;13;0", + "left": 184, + "top": 385, + "width": 97, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzxS1BMwwetQ=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "model": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "font": "Arial;13;0", + "left": 184, + "top": 395, + "width": 97, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzxS1BMwxFqE=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "model": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzxS1BMwyTJE=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "model": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 184, + "top": 360, + "width": 97, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjzxS1A8wq1NQ=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzxS1BMwvcJo=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzxS1BMwwetQ=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzxS1BMwxFqE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzxS1BMwyTJE=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzxTe38xX17w=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe38xYkIE=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 403, + "top": 250, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe38xZZ5w=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 403, + "top": 265, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe38xad4k=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 402, + "top": 221, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe4MxbMwo=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxU8nE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 421, + "top": 250, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe4Mxc+nE=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxU8nE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 419, + "top": 263, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe4MxdHjQ=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxU8nE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 425, + "top": 222, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe4MxemrM=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxVSyo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 385, + "top": 251, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe4Mxfj2w=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxVSyo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 387, + "top": 264, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxTe4MxgeCE=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxVSyo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 380, + "top": 224, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzxTe38xX17w=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzxTe4MxhxvM=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxU8nE=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzxTe4MxidLA=", + "_parent": { + "$ref": "AAAAAAFjzxTe38xX17w=" + }, + "model": { + "$ref": "AAAAAAFjzxTe3sxVSyo=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "tail": { + "$ref": "AAAAAAFjzxE9YcuWlD8=" + }, + "lineStyle": 1, + "points": "447:241;359:243", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzxTe38xYkIE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxTe38xZZ5w=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxTe38xad4k=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzxTe4MxbMwo=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzxTe4Mxc+nE=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzxTe4MxdHjQ=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzxTe4MxemrM=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzxTe4Mxfj2w=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzxTe4MxgeCE=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzxTe4MxhxvM=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzxTe4MxidLA=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzxT9vszSWUo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszTTwU=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 218, + "top": 309, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszUS8Y=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 203, + "top": 309, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszV8oo=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 247, + "top": 310, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszWbk4=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszPzPg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 217, + "top": 326, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszXjbA=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszPzPg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 204, + "top": 324, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszYN+g=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszPzPg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 245, + "top": 331, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszZhi0=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszQ/9g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 218, + "top": 293, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszaVNE=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszQ/9g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 205, + "top": 295, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxT9vszboc8=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszQ/9g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 245, + "top": 289, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzxT9vszcWZE=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszPzPg=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzxT9v8zdQos=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszSWUo=" + }, + "model": { + "$ref": "AAAAAAFjzxT9vszQ/9g=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzxA9VMsdA0M=" + }, + "tail": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "lineStyle": 1, + "points": "232:359;234:274", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzxT9vszTTwU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxT9vszUS8Y=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxT9vszV8oo=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzxT9vszWbk4=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzxT9vszXjbA=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzxT9vszYN+g=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzxT9vszZhi0=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzxT9vszaVNE=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzxT9vszboc8=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzxT9vszcWZE=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzxT9v8zdQos=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzxUleM3J5EM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUleM3KVak=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 363, + "top": 361, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3LQN4=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 363, + "top": 346, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3M+Io=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 364, + "top": 390, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3NyVE=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3GZo8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 306, + "top": 361, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3OMZI=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3GZo8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 308, + "top": 348, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3PPCc=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3GZo8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 302, + "top": 389, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3Qtc0=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3HWo0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 420, + "top": 360, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3RTjQ=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3HWo0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 418, + "top": 347, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzxUlec3S54A=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3HWo0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 425, + "top": 387, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzxUlec3TEZU=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3GZo8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzxUlec3UTWQ=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3J5EM=" + }, + "model": { + "$ref": "AAAAAAFjzxUleM3HWo0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzxFp58vCX8s=" + }, + "tail": { + "$ref": "AAAAAAFjzxS1A8wpuqI=" + }, + "lineStyle": 1, + "points": "281:383;447:381", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzxUleM3KVak=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzxUlec3LQN4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzxUlec3M+Io=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzxUlec3NyVE=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzxUlec3OMZI=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzxUlec3PPCc=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzxUlec3Qtc0=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzxUlec3RTjQ=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzxUlec3S54A=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzxUlec3TEZU=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzxUlec3UTWQ=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvHyLt1O2ts=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXckOH8QWU=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH9QuM=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH+zy8=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXsSuJa24U=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsSuJbeJo=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsS+JcUkA=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJV9t15608=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Visitor", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvK+XN3OUKk=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3V7/A=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3WLEk=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvL9Ht3aFWg=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3hrCI=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3iCBc=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJ7Rt2kvsE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPeIN5Ds1g=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "source": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvMmTd3lbJo=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAN3sKZA=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAd3tYfc=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvM9/t3w+pE=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ933zkM=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ934yxg=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvNZqt39QII=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPr7d5UNiY=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "source": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOALt4oMlo=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4vyKw=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4wdLQ=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOSzt4znbw=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd46wBw=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd47lCg=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvQjXN5mIcA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ObjectStructure" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvRiW96S5AI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Element", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvSMvt68fhU=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv969aSk=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv96+fGc=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvSfkt8O6V0=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8tLcU=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8u6zs=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvTbBt9vIIg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteElementA", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYIKOME7NM=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "source": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvULTt/P530=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt/+zyw=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt//2bQ=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvUi9eA2O5U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteEmlementB", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYP5ONCSRE=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "source": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvVnGuC+tW0=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDdiaY=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDeghI=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxA9U8sbv+U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "FlyweightFactory", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxB5TstFbhY=", + "_parent": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "name": "getFlyweight", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxDpYMtMx3c=", + "_parent": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "name": "FlyweightKey", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxDpYMtNlIY=", + "_parent": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "type": "Flyweight", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxEBC8tSq7Q=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Flyweight" + }, + { + "_type": "UMLInterface", + "_id": "AAAAAAFjzxE9YcuUSvQ=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Flyweight", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxTe3sxTnaM=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxTe3sxU8nE=", + "_parent": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "reference": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxTe3sxVSyo=", + "_parent": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "reference": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxOv9cvyYX8=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxQguswEip8=", + "_parent": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "name": "state", + "type": "ExtrinsicState" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxQgu8wF1r8=", + "_parent": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxFp58vA0MI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteFlyweight", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzxSgT8wVWHk=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "source": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "target": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzxGaX8vrdxs=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "name": "state", + "type": "IntrinsicState" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxRjb8wJu3g=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxR9PMwQq1Y=", + "_parent": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "name": "state", + "type": "ExtrinsicState" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxR9PMwRdZA=", + "_parent": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxS1A8wncWo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxT9vszO4DU=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxT9vszPzPg=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "reference": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxT9vszQ/9g=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "reference": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxUleM3Fucc=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxUleM3GZo8=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "reference": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxUleM3HWo0=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "reference": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\344\273\243\347\220\206.mdj" "b/UML \347\273\230\345\233\276/\344\273\243\347\220\206.mdj" new file mode 100644 index 0000000..f2bf2c5 --- /dev/null +++ "b/UML \347\273\230\345\233\276/\344\273\243\347\220\206.mdj" @@ -0,0 +1,2573 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz+z3EjtTSFI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz+z3EjtUwF0=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtTSFI=" + }, + "model": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz+z3EjtV15I=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtUwF0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 128, + "top": -112, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+z3EjtW/Ro=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtUwF0=" + }, + "font": "Arial;13;1", + "left": 221, + "top": 159, + "width": 71, + "height": 13, + "text": "Client" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+z3EjtXS1s=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtUwF0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 128, + "top": -112, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+z3EjtYfNI=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtUwF0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 128, + "top": -112, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 216, + "top": 152, + "width": 81, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+z3EjtV15I=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz+z3EjtW/Ro=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz+z3EjtXS1s=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+z3EjtYfNI=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz+z3EjtZ62A=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtTSFI=" + }, + "model": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "font": "Arial;13;0", + "left": 216, + "top": 177, + "width": 81, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz+z3EjtaSqA=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtTSFI=" + }, + "model": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "font": "Arial;13;0", + "left": 216, + "top": 187, + "width": 81, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz+z3Ejtb1jQ=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtTSFI=" + }, + "model": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 64, + "top": -56, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz+z3Ejtcq54=", + "_parent": { + "$ref": "AAAAAAFjz+z3EjtTSFI=" + }, + "model": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 64, + "top": -56, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 216, + "top": 152, + "width": 81, + "height": 57, + "nameCompartment": { + "$ref": "AAAAAAFjz+z3EjtUwF0=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz+z3EjtZ62A=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz+z3EjtaSqA=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz+z3Ejtb1jQ=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz+z3Ejtcq54=" + } + }, + { + "_type": "UMLInterfaceView", + "_id": "AAAAAAFjz+0bODt+G/A=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz+0bODt/8SM=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "model": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz+0bODuAiQg=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt/8SM=" + }, + "font": "Arial;13;0", + "left": 453, + "top": 149, + "width": 118.87255859375, + "height": 13, + "text": "«interface»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+0bODuBPUY=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt/8SM=" + }, + "font": "Arial;13;1", + "left": 453, + "top": 164, + "width": 118.87255859375, + "height": 13, + "text": "Subject" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+0bODuCg7c=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt/8SM=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+0bODuDjO8=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt/8SM=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 144, + "width": 128.87255859375, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+0bODuAiQg=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz+0bODuBPUY=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz+0bODuCg7c=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+0bODuDjO8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz+0bODuEgso=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "model": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz+0bODuF8Ms=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "model": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz+03VjupmOU=", + "_parent": { + "$ref": "AAAAAAFjz+0bODuF8Ms=" + }, + "model": { + "$ref": "AAAAAAFjz+03OjumaMc=" + }, + "font": "Arial;13;0", + "left": 453, + "top": 187, + "width": 118.87255859375, + "height": 13, + "text": "+doOperation(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 448, + "top": 182, + "width": 128.87255859375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz+0bODuGsaE=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "model": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz+0bODuHNuI=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "model": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 448, + "top": 144, + "width": 128.87255859375, + "height": 65, + "nameCompartment": { + "$ref": "AAAAAAFjz+0bODt/8SM=" + }, + "suppressAttributes": true, + "attributeCompartment": { + "$ref": "AAAAAAFjz+0bODuEgso=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz+0bODuF8Ms=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz+0bODuGsaE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz+0bODuHNuI=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz+2HcDvBCWk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz+2HcTvCZVQ=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "model": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz+2HcTvDs5k=", + "_parent": { + "$ref": "AAAAAAFjz+2HcTvCZVQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": 48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+2HcTvE61Y=", + "_parent": { + "$ref": "AAAAAAFjz+2HcTvCZVQ=" + }, + "font": "Arial;13;1", + "left": 341, + "top": 311, + "width": 118.87255859375, + "height": 13, + "text": "Proxy" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+2HcTvFdw4=", + "_parent": { + "$ref": "AAAAAAFjz+2HcTvCZVQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": 48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+2HcTvG2UI=", + "_parent": { + "$ref": "AAAAAAFjz+2HcTvCZVQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": 48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 336, + "top": 304, + "width": 128.87255859375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+2HcTvDs5k=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz+2HcTvE61Y=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz+2HcTvFdw4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+2HcTvG2UI=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz+2HcTvHIKY=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "model": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "font": "Arial;13;0", + "left": 336, + "top": 329, + "width": 128.87255859375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz+2HcTvIN3E=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "model": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz+2jNDvsnTw=", + "_parent": { + "$ref": "AAAAAAFjz+2HcTvIN3E=" + }, + "model": { + "$ref": "AAAAAAFjz+2jGTvpgX8=" + }, + "font": "Arial;13;0", + "left": 341, + "top": 344, + "width": 118.87255859375, + "height": 13, + "text": "+doOperation(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 336, + "top": 339, + "width": 128.87255859375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz+2HcTvJkSQ=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "model": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": 24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz+2HcTvKWPY=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "model": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": 24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 336, + "top": 304, + "width": 128.87255859375, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjz+2HcTvCZVQ=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz+2HcTvHIKY=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz+2HcTvIN3E=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz+2HcTvJkSQ=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz+2HcTvKWPY=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz+3JtDv0D70=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz+3JtDv1Ctg=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "model": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz+3JtDv2tdQ=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv1Ctg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "top": 32, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+3JtDv3pPQ=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv1Ctg=" + }, + "font": "Arial;13;1", + "left": 597, + "top": 311, + "width": 118.87255859375, + "height": 13, + "text": "RealSubject" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+3JtDv4hw4=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv1Ctg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "top": 32, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz+3JtDv5fag=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv1Ctg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "top": 32, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 592, + "top": 304, + "width": 128.87255859375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+3JtDv2tdQ=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz+3JtDv3pPQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz+3JtDv4hw4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+3JtDv5fag=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz+3JtDv665E=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "model": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "font": "Arial;13;0", + "left": 592, + "top": 329, + "width": 128.87255859375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz+3JtDv7zRw=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "model": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz+3tLDwfTu4=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv7zRw=" + }, + "model": { + "$ref": "AAAAAAFjz+3tEjwcg0Q=" + }, + "font": "Arial;13;0", + "left": 597, + "top": 344, + "width": 118.87255859375, + "height": 13, + "text": "+doOperation(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 592, + "top": 339, + "width": 128.87255859375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz+3JtDv84r0=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "model": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": 16, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz+3JtDv92vs=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "model": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "top": 16, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 592, + "top": 304, + "width": 128.87255859375, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjz+3JtDv1Ctg=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz+3JtDv665E=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz+3JtDv7zRw=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz+3JtDv84r0=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz+3JtDv92vs=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjz+5TazwvZ7k=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwrMQQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TazwwmfQ=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwrMQQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 528, + "top": 311, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TazwxLzA=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwrMQQ=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 528, + "top": 296, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDwyxbo=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwrMQQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 528, + "top": 341, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDwzd5U=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwsTQw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 490, + "top": 311, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDw0pQE=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwsTQw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 493, + "top": 297, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDw1/jE=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwsTQw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 486, + "top": 338, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDw2nJU=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwtWR0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 565, + "top": 311, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDw37sY=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwtWR0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 562, + "top": 297, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5TbDw4PCo=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwtWR0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 569, + "top": 338, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjz+5TbDw5Eho=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwsTQw=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjz+5TbDw6kBo=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwvZ7k=" + }, + "model": { + "$ref": "AAAAAAFjz+5TazwtWR0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "tail": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "lineStyle": 1, + "points": "465:332;591:332", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz+5TazwwmfQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+5TazwxLzA=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+5TbDwyxbo=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjz+5TbDwzd5U=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjz+5TbDw0pQE=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjz+5TbDw1/jE=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjz+5TbDw2nJU=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjz+5TbDw37sY=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjz+5TbDw4PCo=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjz+5TbDw5Eho=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjz+5TbDw6kBo=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjz+5nRjx4yCE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx0788=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx5TTs=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx0788=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 371, + "top": 157, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx6zYI=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx0788=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 371, + "top": 142, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx7+2s=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx0788=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 372, + "top": 186, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx8ef8=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx1Le8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 322, + "top": 157, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx9EE0=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx1Le8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 324, + "top": 144, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx+D7U=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx1Le8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 318, + "top": 185, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjx/kiY=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx2ZUU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 420, + "top": 156, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjyA0xI=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx2ZUU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 418, + "top": 143, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+5nRjyBK3w=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx2ZUU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 425, + "top": 183, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjz+5nRzyCqWA=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx1Le8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjz+5nRzyDKnc=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx4yCE=" + }, + "model": { + "$ref": "AAAAAAFjz+5nRjx2ZUU=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "tail": { + "$ref": "AAAAAAFjz+z3EjtTSFI=" + }, + "lineStyle": 1, + "points": "297:179;447:177", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz+5nRjx5TTs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+5nRjx6zYI=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+5nRjx7+2s=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjz+5nRjx8ef8=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjz+5nRjx9EE0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjz+5nRjx+D7U=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjz+5nRjx/kiY=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjz+5nRjyA0xI=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjz+5nRjyBK3w=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjz+5nRzyCqWA=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjz+5nRzyDKnc=" + } + }, + { + "_type": "UMLInterfaceRealizationView", + "_id": "AAAAAAFjz+6Syj0KxHc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+6Syj0JznM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+6Syj0LknE=", + "_parent": { + "$ref": "AAAAAAFjz+6Syj0KxHc=" + }, + "model": { + "$ref": "AAAAAAFjz+6Syj0JznM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 440, + "top": 241, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+6Syj0KxHc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+6Syj0Mlco=", + "_parent": { + "$ref": "AAAAAAFjz+6Syj0KxHc=" + }, + "model": { + "$ref": "AAAAAAFjz+6Syj0JznM=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 428, + "top": 232, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+6Syj0KxHc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+6Syj0NMYo=", + "_parent": { + "$ref": "AAAAAAFjz+6Syj0KxHc=" + }, + "model": { + "$ref": "AAAAAAFjz+6Syj0JznM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 465, + "top": 258, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+6Syj0KxHc=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "tail": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "lineStyle": 1, + "points": "420:303;487:209", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz+6Syj0LknE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+6Syj0Mlco=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+6Syj0NMYo=" + } + }, + { + "_type": "UMLInterfaceRealizationView", + "_id": "AAAAAAFjz+6cCz1FLZk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz+6cCz1EOBY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+6cCz1GyKc=", + "_parent": { + "$ref": "AAAAAAFjz+6cCz1FLZk=" + }, + "model": { + "$ref": "AAAAAAFjz+6cCz1EOBY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 572, + "top": 260, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+6cCz1FLZk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+6cCz1HQlk=", + "_parent": { + "$ref": "AAAAAAFjz+6cCz1FLZk=" + }, + "model": { + "$ref": "AAAAAAFjz+6cCz1EOBY=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 561, + "top": 270, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz+6cCz1FLZk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz+6cCz1Ii5E=", + "_parent": { + "$ref": "AAAAAAFjz+6cCz1FLZk=" + }, + "model": { + "$ref": "AAAAAAFjz+6cCz1EOBY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 595, + "top": 239, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz+6cCz1FLZk=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz+0bODt+G/A=" + }, + "tail": { + "$ref": "AAAAAAFjz+3JtDv0D70=" + }, + "lineStyle": 1, + "points": "628:303;541:209", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz+6cCz1GyKc=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz+6cCz1HQlk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz+6cCz1Ii5E=" + } + }, + { + "_type": "UMLNoteView", + "_id": "AAAAAAFjz+73jz1/RtU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "fillColor": "#e2e2e2", + "font": "Arial;13;0", + "left": 112, + "top": 312, + "width": 172.470703125, + "height": 40, + "text": "realSubject.doOperation();" + }, + { + "_type": "UMLNoteLinkView", + "_id": "AAAAAAFjz+9kZj3+IwE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz+2HcDvBCWk=" + }, + "tail": { + "$ref": "AAAAAAFjz+73jz1/RtU=" + }, + "lineStyle": 1, + "points": "284:331;335:332" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvHyLt1O2ts=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXckOH8QWU=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH9QuM=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH+zy8=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXsSuJa24U=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsSuJbeJo=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsS+JcUkA=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJV9t15608=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Visitor", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvK+XN3OUKk=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3V7/A=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3WLEk=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvL9Ht3aFWg=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3hrCI=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3iCBc=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJ7Rt2kvsE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPeIN5Ds1g=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "source": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvMmTd3lbJo=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAN3sKZA=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAd3tYfc=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvM9/t3w+pE=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ933zkM=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ934yxg=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvNZqt39QII=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPr7d5UNiY=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "source": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOALt4oMlo=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4vyKw=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4wdLQ=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOSzt4znbw=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd46wBw=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd47lCg=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvQjXN5mIcA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ObjectStructure" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvRiW96S5AI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Element", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvSMvt68fhU=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv969aSk=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv96+fGc=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvSfkt8O6V0=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8tLcU=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8u6zs=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvTbBt9vIIg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteElementA", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYIKOME7NM=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "source": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvULTt/P530=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt/+zyw=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt//2bQ=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvUi9eA2O5U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteEmlementB", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYP5ONCSRE=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "source": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvVnGuC+tW0=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDdiaY=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDeghI=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxA9U8sbv+U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "FlyweightFactory", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxB5TstFbhY=", + "_parent": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "name": "getFlyweight", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxDpYMtMx3c=", + "_parent": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "name": "FlyweightKey", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxDpYMtNlIY=", + "_parent": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "type": "Flyweight", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxEBC8tSq7Q=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Flyweight" + }, + { + "_type": "UMLInterface", + "_id": "AAAAAAFjzxE9YcuUSvQ=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Flyweight", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxTe3sxTnaM=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxTe3sxU8nE=", + "_parent": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "reference": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxTe3sxVSyo=", + "_parent": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "reference": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxOv9cvyYX8=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxQguswEip8=", + "_parent": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "name": "state", + "type": "ExtrinsicState" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxQgu8wF1r8=", + "_parent": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxFp58vA0MI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteFlyweight", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzxSgT8wVWHk=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "source": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "target": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzxGaX8vrdxs=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "name": "state", + "type": "IntrinsicState" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxRjb8wJu3g=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxR9PMwQq1Y=", + "_parent": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "name": "state", + "type": "ExtrinsicState" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxR9PMwRdZA=", + "_parent": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxS1A8wncWo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxT9vszO4DU=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxT9vszPzPg=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "reference": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxT9vszQ/9g=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "reference": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxUleM3Fucc=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxUleM3GZo8=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "reference": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxUleM3HWo0=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "reference": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1LixQEdv4k=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Abstraction", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1PpkAFHlwk=", + "_parent": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "name": "operation" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1QntAFOY8Q=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "RedinedAbstraction", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjz1XE4wKsXMY=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "source": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "target": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1R75wF5mLg=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "name": "operation" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1S6GwGGRGA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Implementor", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjz1WE8wHu4f4=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz1WE8wHvAtM=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "reference": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz1WE8wHwT40=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "reference": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1TpSAGwV34=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "name": "operationImp" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1UVTQG3wLo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteImplementor", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjz1Wg4AJtCys=", + "_parent": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "source": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "target": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1VFOQHhFKo=", + "_parent": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "name": "operationImp" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz+z3ETtRrIg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjz+5nRjx0788=", + "_parent": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz+5nRjx1Le8=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx0788=" + }, + "reference": { + "$ref": "AAAAAAFjz+z3ETtRrIg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz+5nRjx2ZUU=", + "_parent": { + "$ref": "AAAAAAFjz+5nRjx0788=" + }, + "reference": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + } + } + } + ] + }, + { + "_type": "UMLInterface", + "_id": "AAAAAAFjz+0bODt8xW8=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Subject", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz+03OjumaMc=", + "_parent": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjz+17PDu9nmk=", + "_parent": { + "$ref": "AAAAAAFjz+03OjumaMc=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz+2HcDu/KO0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Proxy", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjz+5TazwrMQQ=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz+5TazwsTQw=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwrMQQ=" + }, + "reference": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz+5TazwtWR0=", + "_parent": { + "$ref": "AAAAAAFjz+5TazwrMQQ=" + }, + "reference": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + } + } + }, + { + "_type": "UMLInterfaceRealization", + "_id": "AAAAAAFjz+6Syj0JznM=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "source": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "target": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz+2jGTvpgX8=", + "_parent": { + "$ref": "AAAAAAFjz+2HcDu/KO0=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjz+290TvwFCA=", + "_parent": { + "$ref": "AAAAAAFjz+2jGTvpgX8=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz+3JtDvyoZc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "RealSubject", + "ownedElements": [ + { + "_type": "UMLInterfaceRealization", + "_id": "AAAAAAFjz+6cCz1EOBY=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "source": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "target": { + "$ref": "AAAAAAFjz+0bODt8xW8=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz+3tEjwcg0Q=", + "_parent": { + "$ref": "AAAAAAFjz+3JtDvyoZc=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjz+4IJzwjvUI=", + "_parent": { + "$ref": "AAAAAAFjz+3tEjwcg0Q=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\345\216\237\345\236\213.mdj" "b/UML \347\273\230\345\233\276/\345\216\237\345\236\213.mdj" new file mode 100644 index 0000000..588211f --- /dev/null +++ "b/UML \347\273\230\345\233\276/\345\216\237\345\236\213.mdj" @@ -0,0 +1,1463 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzaEdx9ARHzI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzaEdx9ASOsM=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "model": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzaEdx9ATg5o=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ASOsM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 224, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaEdx9AUa5c=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ASOsM=" + }, + "font": "Arial;13;1", + "left": 469, + "top": 287, + "width": 101.53076171875, + "height": 13, + "text": "Client" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaEdyNAVKY0=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ASOsM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 224, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaEdyNAWXF0=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ASOsM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 224, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 464, + "top": 280, + "width": 111.53076171875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaEdx9ATg5o=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzaEdx9AUa5c=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzaEdyNAVKY0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaEdyNAWXF0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzaEdyNAX60I=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "model": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "font": "Arial;13;0", + "left": 464, + "top": 305, + "width": 111.53076171875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzaEdyNAYrNg=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "model": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzaFgi9A9874=", + "_parent": { + "$ref": "AAAAAAFjzaEdyNAYrNg=" + }, + "model": { + "$ref": "AAAAAAFjzaFgbdA6574=" + }, + "font": "Arial;13;0", + "left": 469, + "top": 320, + "width": 101.53076171875, + "height": 13, + "text": "+operation(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 464, + "top": 315, + "width": 111.53076171875, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzaEdyNAZO70=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "model": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 112, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzaEdyNAaPec=", + "_parent": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "model": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 112, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 464, + "top": 280, + "width": 111.53076171875, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzaEdx9ASOsM=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzaEdyNAX60I=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzaEdyNAYrNg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzaEdyNAZO70=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzaEdyNAaPec=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzaHKI9BFg7U=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzaHKJNBGe2w=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "model": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzaHKJNBHdmk=", + "_parent": { + "$ref": "AAAAAAFjzaHKJNBGe2w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaHKJNBIYtQ=", + "_parent": { + "$ref": "AAAAAAFjzaHKJNBGe2w=" + }, + "font": "Arial;13;1", + "left": 701, + "top": 287, + "width": 110.1953125, + "height": 13, + "text": "Prototype" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaHKJNBJZX0=", + "_parent": { + "$ref": "AAAAAAFjzaHKJNBGe2w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaHKJNBK7Z4=", + "_parent": { + "$ref": "AAAAAAFjzaHKJNBGe2w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 696, + "top": 280, + "width": 120.1953125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaHKJNBHdmk=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzaHKJNBIYtQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzaHKJNBJZX0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaHKJNBK7Z4=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzaHKJNBLjm4=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "model": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "font": "Arial;13;0", + "left": 696, + "top": 305, + "width": 120.1953125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzaHKJNBMJ6I=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "model": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzaHrQ9BxTVY=", + "_parent": { + "$ref": "AAAAAAFjzaHKJNBMJ6I=" + }, + "model": { + "$ref": "AAAAAAFjzaHrJ9BuBmQ=" + }, + "font": "Arial;13;0", + "left": 701, + "top": 320, + "width": 110.1953125, + "height": 13, + "text": "+clone(): Prototype", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 696, + "top": 315, + "width": 120.1953125, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzaHKJNBNDdw=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "model": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzaHKJNBOudk=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "model": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 696, + "top": 280, + "width": 120.1953125, + "height": 58, + "autoResize": true, + "nameCompartment": { + "$ref": "AAAAAAFjzaHKJNBGe2w=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzaHKJNBLjm4=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzaHKJNBMJ6I=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzaHKJNBNDdw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzaHKJNBOudk=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzaI/x9B5yUk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzaI/x9B6H3A=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B5yUk=" + }, + "model": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzaI/yNB7Ego=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B6H3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaI/yNB8NAM=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B6H3A=" + }, + "font": "Arial;13;1", + "left": 621, + "top": 431, + "width": 124.2490234375, + "height": 13, + "text": "ConcretePrototype1" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaI/yNB9le0=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B6H3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaI/yNB+Sbg=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B6H3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 32, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 616, + "top": 424, + "width": 134.2490234375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaI/yNB7Ego=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzaI/yNB8NAM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzaI/yNB9le0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaI/yNB+Sbg=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzaI/yNB/Xns=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B5yUk=" + }, + "model": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "font": "Arial;13;0", + "left": 616, + "top": 449, + "width": 134.2490234375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzaI/yNCA1Q8=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B5yUk=" + }, + "model": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzaJ2atCkqco=", + "_parent": { + "$ref": "AAAAAAFjzaI/yNCA1Q8=" + }, + "model": { + "$ref": "AAAAAAFjzaJ2TtChHSE=" + }, + "font": "Arial;13;0", + "left": 621, + "top": 464, + "width": 124.2490234375, + "height": 13, + "text": "+clone(): Prototype", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 616, + "top": 459, + "width": 134.2490234375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzaI/yNCBSXc=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B5yUk=" + }, + "model": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzaI/yNCCc1Y=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B5yUk=" + }, + "model": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 16, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 616, + "top": 424, + "width": 134.2490234375, + "height": 58, + "autoResize": true, + "nameCompartment": { + "$ref": "AAAAAAFjzaI/x9B6H3A=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzaI/yNB/Xns=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzaI/yNCA1Q8=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzaI/yNCBSXc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzaI/yNCCc1Y=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzaKFDtCsMS8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzaKFD9Ct/g0=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCsMS8=" + }, + "model": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzaKFD9Cugfg=", + "_parent": { + "$ref": "AAAAAAFjzaKFD9Ct/g0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -384, + "top": -48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaKFD9Cv9hI=", + "_parent": { + "$ref": "AAAAAAFjzaKFD9Ct/g0=" + }, + "font": "Arial;13;1", + "left": 781, + "top": 431, + "width": 124.2490234375, + "height": 13, + "text": "ConcretePrototype2" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaKFD9Cw4oM=", + "_parent": { + "$ref": "AAAAAAFjzaKFD9Ct/g0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -384, + "top": -48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzaKFD9CxegM=", + "_parent": { + "$ref": "AAAAAAFjzaKFD9Ct/g0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -384, + "top": -48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 776, + "top": 424, + "width": 134.2490234375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaKFD9Cugfg=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzaKFD9Cv9hI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzaKFD9Cw4oM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaKFD9CxegM=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzaKFD9CyZu8=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCsMS8=" + }, + "model": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "font": "Arial;13;0", + "left": 776, + "top": 449, + "width": 134.2490234375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzaKFD9CzMzY=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCsMS8=" + }, + "model": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzaKqrNDXE3Y=", + "_parent": { + "$ref": "AAAAAAFjzaKFD9CzMzY=" + }, + "model": { + "$ref": "AAAAAAFjzaKqjtDUqzI=" + }, + "font": "Arial;13;0", + "left": 781, + "top": 464, + "width": 124.2490234375, + "height": 13, + "text": "+clone(): Prototype", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 776, + "top": 459, + "width": 134.2490234375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzaKFD9C00E0=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCsMS8=" + }, + "model": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -192, + "top": -24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzaKFD9C1Uy4=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCsMS8=" + }, + "model": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -192, + "top": -24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 776, + "top": 424, + "width": 134.2490234375, + "height": 58, + "autoResize": true, + "nameCompartment": { + "$ref": "AAAAAAFjzaKFD9Ct/g0=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzaKFD9CyZu8=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzaKFD9CzMzY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzaKFD9C00E0=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzaKFD9C1Uy4=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzaOBCdDqtUo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaOBCNDoOwA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaOBCdDrUPw=", + "_parent": { + "$ref": "AAAAAAFjzaOBCdDqtUo=" + }, + "model": { + "$ref": "AAAAAAFjzaOBCNDoOwA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 720, + "top": 347, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzaOBCdDqtUo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaOBCdDsjL8=", + "_parent": { + "$ref": "AAAAAAFjzaOBCdDqtUo=" + }, + "model": { + "$ref": "AAAAAAFjzaOBCNDoOwA=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 720, + "top": 332, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzaOBCdDqtUo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaOBCdDtUso=", + "_parent": { + "$ref": "AAAAAAFjzaOBCdDqtUo=" + }, + "model": { + "$ref": "AAAAAAFjzaOBCNDoOwA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 720, + "top": 377, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzaOBCdDqtUo=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "tail": { + "$ref": "AAAAAAFjzaI/x9B5yUk=" + }, + "points": "680:424;680:368;760:368;760:337", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzaOBCdDrUPw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaOBCdDsjL8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaOBCdDtUso=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzaOOKND7f5c=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaOOKND5hFE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaOOKND8F88=", + "_parent": { + "$ref": "AAAAAAFjzaOOKND7f5c=" + }, + "model": { + "$ref": "AAAAAAFjzaOOKND5hFE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 799, + "top": 377, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzaOOKND7f5c=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaOOKND9AD8=", + "_parent": { + "$ref": "AAAAAAFjzaOOKND7f5c=" + }, + "model": { + "$ref": "AAAAAAFjzaOOKND5hFE=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 799, + "top": 392, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzaOOKND7f5c=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaOOKND+duE=", + "_parent": { + "$ref": "AAAAAAFjzaOOKND7f5c=" + }, + "model": { + "$ref": "AAAAAAFjzaOOKND5hFE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 800, + "top": 347, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzaOOKND7f5c=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "tail": { + "$ref": "AAAAAAFjzaKFDtCsMS8=" + }, + "points": "840:424;840:368;760:368;760:337", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzaOOKND8F88=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaOOKND9AD8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaOOKND+duE=" + } + }, + { + "_type": "UMLNoteView", + "_id": "AAAAAAFjzaTJydEtaPI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "fillColor": "#e2e2e2", + "font": "Arial;13;0", + "left": 216, + "top": 376, + "width": 321, + "height": 49, + "text": "ConcretePrototype obj1 = new ConcretePrototype();\nConcretePrototype obj2 = obj1.clone();" + }, + { + "_type": "UMLNoteLinkView", + "_id": "AAAAAAFjzaYNatFBzMU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "tail": { + "$ref": "AAAAAAFjzaTJydEtaPI=" + }, + "lineStyle": 1, + "points": "415:375;472:338" + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzaY8PtFLQnY=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFM29U=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 635, + "top": 287, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFNdlA=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 635, + "top": 272, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFOM7s=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 635, + "top": 317, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFPnrg=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFITJY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 601, + "top": 287, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFQHZY=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFITJY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 604, + "top": 273, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFRmig=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFITJY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 597, + "top": 314, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFSUNs=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFJw4M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 669, + "top": 287, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFT4CI=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFJw4M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 666, + "top": 273, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzaY8PtFUhhw=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFJw4M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 673, + "top": 314, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzaY8PtFVQug=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFITJY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzaY8PtFWbnA=", + "_parent": { + "$ref": "AAAAAAFjzaY8PtFLQnY=" + }, + "model": { + "$ref": "AAAAAAFjzaY8PdFJw4M=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzaHKI9BFg7U=" + }, + "tail": { + "$ref": "AAAAAAFjzaEdx9ARHzI=" + }, + "lineStyle": 1, + "points": "576:308;695:308", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzaY8PtFM29U=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzaY8PtFNdlA=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzaY8PtFOM7s=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzaY8PtFPnrg=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzaY8PtFQHZY=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzaY8PtFRmig=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzaY8PtFSUNs=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzaY8PtFT4CI=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzaY8PtFUhhw=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzaY8PtFVQug=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzaY8PtFWbnA=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaEdxdAPlsI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzaY8PdFHgks=", + "_parent": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzaY8PdFITJY=", + "_parent": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "reference": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzaY8PdFJw4M=", + "_parent": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "reference": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaFgbdA6574=", + "_parent": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "name": "operation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaG799BBvhg=", + "_parent": { + "$ref": "AAAAAAFjzaFgbdA6574=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaHKI9BDoBc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Prototype", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaHrJ9BuBmQ=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaIOT9B1tPk=", + "_parent": { + "$ref": "AAAAAAFjzaHrJ9BuBmQ=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaI/x9B3mgU=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcretePrototype1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzaOBCNDoOwA=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "source": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "target": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaJ2TtChHSE=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaJ7JdCofXk=", + "_parent": { + "$ref": "AAAAAAFjzaJ2TtChHSE=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaKFDtCq5ZE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcretePrototype2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzaOOKND5hFE=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "source": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "target": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaKqjtDUqzI=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaKwVtDb4G4=", + "_parent": { + "$ref": "AAAAAAFjzaKqjtDUqzI=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\345\244\207\345\277\230\345\275\225.mdj" "b/UML \347\273\230\345\233\276/\345\244\207\345\277\230\345\275\225.mdj" new file mode 100644 index 0000000..bbd502e --- /dev/null +++ "b/UML \347\273\230\345\233\276/\345\244\207\345\277\230\345\275\225.mdj" @@ -0,0 +1,2053 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzrGIiUo/bHk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzrGIiUpAVPw=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUo/bHk=" + }, + "model": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzrGIiUpB2SE=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpAVPw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 144, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrGIiUpCqOQ=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpAVPw=" + }, + "font": "Arial;13;1", + "left": 381, + "top": 287, + "width": 180.25439453125, + "height": 13, + "text": "Originator" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrGIiUpDFkk=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpAVPw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 144, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrGIiUpEO/k=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpAVPw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 144, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 376, + "top": 280, + "width": 190.25439453125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrGIiUpB2SE=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzrGIiUpCqOQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzrGIiUpDFkk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrGIiUpEO/k=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzrGIiUpFQHM=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUo/bHk=" + }, + "model": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFjzrNSO0qp9+8=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpFQHM=" + }, + "model": { + "$ref": "AAAAAAFjzrNSHUqmseE=" + }, + "font": "Arial;13;0", + "left": 381, + "top": 310, + "width": 180.25439453125, + "height": 13, + "text": "+State", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 376, + "top": 305, + "width": 190.25439453125, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzrGIiUpGb98=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUo/bHk=" + }, + "model": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzrIoR0pqA8I=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpGb98=" + }, + "model": { + "$ref": "AAAAAAFjzrIoKEpnc5w=" + }, + "font": "Arial;13;0", + "left": 381, + "top": 333, + "width": 180.25439453125, + "height": 13, + "text": "+setMemento(Memnto m): void", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzrJ6N0pztyo=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUpGb98=" + }, + "model": { + "$ref": "AAAAAAFjzrJ6HUpw3AY=" + }, + "font": "Arial;13;0", + "left": 381, + "top": 348, + "width": 180.25439453125, + "height": 13, + "text": "+createMemento(): Memento", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 376, + "top": 328, + "width": 190.25439453125, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzrGIiUpHqEI=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUo/bHk=" + }, + "model": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 72, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzrGIiUpIt2A=", + "_parent": { + "$ref": "AAAAAAFjzrGIiUo/bHk=" + }, + "model": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 72, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 376, + "top": 280, + "width": 190.25439453125, + "height": 86, + "nameCompartment": { + "$ref": "AAAAAAFjzrGIiUpAVPw=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzrGIiUpFQHM=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzrGIiUpGb98=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzrGIiUpHqEI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzrGIiUpIt2A=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzrMbUEp+an8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzrMbUEp/y8c=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "model": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzrMbUUqAUns=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp/y8c=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrMbUUqB7WI=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp/y8c=" + }, + "font": "Arial;13;1", + "left": 645, + "top": 287, + "width": 138.37890625, + "height": 13, + "text": "Menento" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrMbUUqCPf8=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp/y8c=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrMbUUqDGME=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp/y8c=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 640, + "top": 280, + "width": 148.37890625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrMbUUqAUns=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzrMbUUqB7WI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzrMbUUqCPf8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrMbUUqDGME=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzrMbUUqEhUw=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "model": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFjzrSxpErv25I=", + "_parent": { + "$ref": "AAAAAAFjzrMbUUqEhUw=" + }, + "model": { + "$ref": "AAAAAAFjzrSxiErsnT0=" + }, + "font": "Arial;13;0", + "left": 645, + "top": 310, + "width": 138.37890625, + "height": 13, + "text": "+State", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 640, + "top": 305, + "width": 148.37890625, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzrMbUUqFPxY=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "model": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzrOUCUqwlTw=", + "_parent": { + "$ref": "AAAAAAFjzrMbUUqFPxY=" + }, + "model": { + "$ref": "AAAAAAFjzrOT7kqt7VU=" + }, + "font": "Arial;13;0", + "left": 645, + "top": 333, + "width": 138.37890625, + "height": 13, + "text": "+getState(): State", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzrRAYEq6/0Y=", + "_parent": { + "$ref": "AAAAAAFjzrMbUUqFPxY=" + }, + "model": { + "$ref": "AAAAAAFjzrRAQ0q3j5g=" + }, + "font": "Arial;13;0", + "left": 645, + "top": 348, + "width": 138.37890625, + "height": 13, + "text": "+setState(Meneto): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 640, + "top": 328, + "width": 148.37890625, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzrMbUUqG5ok=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "model": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzrMbUUqHlDo=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "model": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 640, + "top": 280, + "width": 148.37890625, + "height": 86, + "nameCompartment": { + "$ref": "AAAAAAFjzrMbUEp/y8c=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzrMbUUqEhUw=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzrMbUUqFPxY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzrMbUUqG5ok=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzrMbUUqHlDo=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzrRvqkrCv08=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzrRvqkrDR1w=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "model": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzrRvq0rE594=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrDR1w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrRvq0rF5W0=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrDR1w=" + }, + "font": "Arial;13;1", + "left": 861, + "top": 295, + "width": 71, + "height": 13, + "text": "Caretaker" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrRvq0rGXgM=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrDR1w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzrRvq0rHdOo=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrDR1w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 856, + "top": 288, + "width": 81, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrRvq0rE594=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzrRvq0rF5W0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzrRvq0rGXgM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrRvq0rHdOo=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzrRvq0rIZU0=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "model": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "font": "Arial;13;0", + "left": 856, + "top": 313, + "width": 81, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzrRvq0rJaNA=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "model": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "font": "Arial;13;0", + "left": 856, + "top": 323, + "width": 81, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzrRvq0rK4pk=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "model": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzrRvq0rLCVc=", + "_parent": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "model": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 856, + "top": 288, + "width": 81, + "height": 65, + "nameCompartment": { + "$ref": "AAAAAAFjzrRvqkrDR1w=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzrRvq0rIZU0=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzrRvq0rJaNA=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzrRvq0rK4pk=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzrRvq0rLCVc=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzrU5ektB7ao=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks9Yxw=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrU5ektCJ90=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks9Yxw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 787, + "top": 302, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrU5ektDYd4=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks9Yxw=" + }, + "font": "Arial;13;0", + "left": 787, + "top": 287, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrU5ektEi28=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks9Yxw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 786, + "top": 331, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrU5e0tIxGA=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks/S4o=" + }, + "font": "Arial;13;0", + "left": 790, + "top": 302, + "width": 14.82177734375, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "text": "+1" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrU5e0tJahw=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks/S4o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 795, + "top": 289, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrU5e0tKm38=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks/S4o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 801, + "top": 330, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzrU5e0tM/LI=", + "_parent": { + "$ref": "AAAAAAFjzrU5ektB7ao=" + }, + "model": { + "$ref": "AAAAAAFjzrU5eks/S4o=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "tail": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "lineStyle": 1, + "points": "752:323;823:324", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzrU5ektCJ90=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrU5ektDYd4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrU5ektEi28=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzrU5e0tIxGA=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzrU5e0tJahw=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzrU5e0tKm38=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzrU5e0tM/LI=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzrY0aU1NaHU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aE1J1t4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrY0aU1O0ng=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aE1J1t4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 795, + "top": 299, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrY0aU1PUYw=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aE1J1t4=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 795, + "top": 284, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrY0aU1QpxE=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aE1J1t4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 795, + "top": 329, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrY0aU1UhdE=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aU1Lnj8=" + }, + "font": "Arial;13;0", + "left": 805, + "top": 299, + "width": 14.82177734375, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "text": "+1" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrY0aU1VF2M=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aU1Lnj8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 810, + "top": 286, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrY0aU1WNN8=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aU1Lnj8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 817, + "top": 326, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzrY0aU1YcyE=", + "_parent": { + "$ref": "AAAAAAFjzrY0aU1NaHU=" + }, + "model": { + "$ref": "AAAAAAFjzrY0aU1Lnj8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "tail": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "lineStyle": 1, + "points": "752:321;839:320", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzrY0aU1O0ng=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrY0aU1PUYw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrY0aU1QpxE=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzrY0aU1UhdE=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzrY0aU1VF2M=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzrY0aU1WNN8=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzrY0aU1YcyE=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzrbNIk9lW60=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9hb6Q=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9m0N4=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9hb6Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 602, + "top": 301, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9njrw=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9hb6Q=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 602, + "top": 286, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9oUvs=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9hb6Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 602, + "top": 331, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9pNCg=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9iXUs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 591, + "top": 301, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9qFJk=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9iXUs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 594, + "top": 287, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9rRmE=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9iXUs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 587, + "top": 328, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9sUwo=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9jovg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 613, + "top": 301, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9tvjo=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9jovg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 610, + "top": 287, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrbNIk9uy9s=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9jovg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 617, + "top": 328, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzrbNIk9vsOQ=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9iXUs=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzrbNIk9wtFM=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9lW60=" + }, + "model": { + "$ref": "AAAAAAFjzrbNIk9jovg=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "tail": { + "$ref": "AAAAAAFjzrGIiUo/bHk=" + }, + "lineStyle": 1, + "points": "566:322;639:322", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzrbNIk9m0N4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrbNIk9njrw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrbNIk9oUvs=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzrbNIk9pNCg=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzrbNIk9qFJk=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzrbNIk9rRmE=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzrbNIk9sUwo=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzrbNIk9tvjo=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzrbNIk9uy9s=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzrbNIk9vsOQ=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzrbNIk9wtFM=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzrhoO1AX7Xc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzrhoOlATSPI=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1AYvvA=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoOlATSPI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 821, + "top": 299, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1AZXNg=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoOlATSPI=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 821, + "top": 284, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1Aa7Ow=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoOlATSPI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 821, + "top": 329, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1Abcmk=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AUHnU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 813, + "top": 299, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1Ac+dI=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AUHnU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 815, + "top": 286, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1AdY38=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AUHnU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 809, + "top": 327, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1AesSM=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AVjiI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 828, + "top": 299, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1AfZsw=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AVjiI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 826, + "top": 286, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzrhoO1AgdfA=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AVjiI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 833, + "top": 326, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzrhoO1Ah1PE=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AUHnU=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzrhoO1AiDEg=", + "_parent": { + "$ref": "AAAAAAFjzrhoO1AX7Xc=" + }, + "model": { + "$ref": "AAAAAAFjzrhoO1AVjiI=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzrRvqkrCv08=" + }, + "tail": { + "$ref": "AAAAAAFjzrMbUEp+an8=" + }, + "lineStyle": 1, + "points": "788:321;855:320", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzrhoO1AYvvA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzrhoO1AZXNg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzrhoO1Aa7Ow=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzrhoO1Abcmk=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzrhoO1Ac+dI=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzrhoO1AdY38=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzrhoO1AesSM=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzrhoO1AfZsw=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzrhoO1AgdfA=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzrhoO1Ah1PE=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzrhoO1AiDEg=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqVQ82AhTsE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Mediator" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqVxM2BLsBM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Colleague", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqbElGENHPc=", + "_parent": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbElGEOpV4=", + "_parent": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "reference": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbElWEPjLo=", + "_parent": { + "$ref": "AAAAAAFjzqbElGENHPc=" + }, + "reference": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqWeXGB37xM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteColleague1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzqfV5WV12Ow=", + "_parent": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "source": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + }, + "target": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqXLTGCjWb0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteColleague2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzqftW2XCGbA=", + "_parent": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "source": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + }, + "target": { + "$ref": "AAAAAAFjzqVxM2BLsBM=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzqZS5mDYkjg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConreteMediator", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqbiOWFWUfs=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbiOWFXSvg=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "reference": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqbiOWFYFqU=", + "_parent": { + "$ref": "AAAAAAFjzqbiOWFWUfs=" + }, + "reference": { + "$ref": "AAAAAAFjzqXLTGCjWb0=" + } + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzqfCE2U6N04=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "source": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "target": { + "$ref": "AAAAAAFjzqVQ82AhTsE=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqf/62X9+TY=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqf/7GX+g/8=", + "_parent": { + "$ref": "AAAAAAFjzqf/62X9+TY=" + }, + "reference": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqf/7GX/RII=", + "_parent": { + "$ref": "AAAAAAFjzqf/62X9+TY=" + }, + "reference": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzqkCoGj+aM0=", + "_parent": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqkCoGj/gIY=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "reference": { + "$ref": "AAAAAAFjzqZS5mDYkjg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzqkCoGkAx7A=", + "_parent": { + "$ref": "AAAAAAFjzqkCoGj+aM0=" + }, + "reference": { + "$ref": "AAAAAAFjzqWeXGB37xM=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzrGIiEo9V7s=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Originator", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzrUFGEr0FcE=", + "_parent": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrUFGEr1IZs=", + "_parent": { + "$ref": "AAAAAAFjzrUFGEr0FcE=" + }, + "reference": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrUFGEr2sLo=", + "_parent": { + "$ref": "AAAAAAFjzrUFGEr0FcE=" + }, + "reference": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzra8lE7QzxE=", + "_parent": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzra8lE7R6oo=", + "_parent": { + "$ref": "AAAAAAFjzra8lE7QzxE=" + }, + "reference": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzra8lE7Sbhk=", + "_parent": { + "$ref": "AAAAAAFjzra8lE7QzxE=" + }, + "reference": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzrbNIk9hb6Q=", + "_parent": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrbNIk9iXUs=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9hb6Q=" + }, + "reference": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrbNIk9jovg=", + "_parent": { + "$ref": "AAAAAAFjzrbNIk9hb6Q=" + }, + "reference": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + } + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzrNSHUqmseE=", + "_parent": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "name": "State" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzrIoKEpnc5w=", + "_parent": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "name": "setMemento", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzrJthkpuubQ=", + "_parent": { + "$ref": "AAAAAAFjzrIoKEpnc5w=" + }, + "name": "Memnto m" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzrL680p6TRI=", + "_parent": { + "$ref": "AAAAAAFjzrIoKEpnc5w=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzrJ6HUpw3AY=", + "_parent": { + "$ref": "AAAAAAFjzrGIiEo9V7s=" + }, + "name": "createMemento", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzrLqekp33h0=", + "_parent": { + "$ref": "AAAAAAFjzrJ6HUpw3AY=" + }, + "type": "Memento", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzrMbUEp8+Xc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Menento", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzrU5eks9Yxw=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrU5eks/S4o=", + "_parent": { + "$ref": "AAAAAAFjzrU5eks9Yxw=" + }, + "name": "1", + "reference": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "aggregation": "shared" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzrY0aE1J1t4=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrY0aU1Lnj8=", + "_parent": { + "$ref": "AAAAAAFjzrY0aE1J1t4=" + }, + "name": "1", + "reference": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "aggregation": "shared" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzrhoOlATSPI=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrhoO1AUHnU=", + "_parent": { + "$ref": "AAAAAAFjzrhoOlATSPI=" + }, + "reference": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzrhoO1AVjiI=", + "_parent": { + "$ref": "AAAAAAFjzrhoOlATSPI=" + }, + "reference": { + "$ref": "AAAAAAFjzrRvqkrAg/o=" + }, + "aggregation": "shared" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzrSxiErsnT0=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "name": "State" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzrOT7kqt7VU=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "name": "getState", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzrPXQkq0Wts=", + "_parent": { + "$ref": "AAAAAAFjzrOT7kqt7VU=" + }, + "type": "State", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzrRAQ0q3j5g=", + "_parent": { + "$ref": "AAAAAAFjzrMbUEp8+Xc=" + }, + "name": "setState", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzrReC0q+EDU=", + "_parent": { + "$ref": "AAAAAAFjzrRAQ0q3j5g=" + }, + "type": "void", + "direction": "return" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzrixUVCihlY=", + "_parent": { + "$ref": "AAAAAAFjzrRAQ0q3j5g=" + }, + "name": "Meneto", + "type": "" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzrRvqkrAg/o=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Caretaker" + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\346\241\245\346\216\245.mdj" "b/UML \347\273\230\345\233\276/\346\241\245\346\216\245.mdj" new file mode 100644 index 0000000..fa2ac7f --- /dev/null +++ "b/UML \347\273\230\345\233\276/\346\241\245\346\216\245.mdj" @@ -0,0 +1,2142 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz1LixwEfXs0=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz1LixwEgpYI=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "model": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz1LixwEhriA=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEgpYI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": 112, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1LixwEiX7E=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEgpYI=" + }, + "font": "Arial;13;1", + "left": 405, + "top": 319, + "width": 111, + "height": 13, + "text": "Abstraction" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1LixwEjgAo=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEgpYI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": 112, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1LixwEkNmc=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEgpYI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": 112, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 400, + "top": 312, + "width": 121, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1LixwEhriA=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz1LixwEiX7E=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz1LixwEjgAo=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1LixwEkNmc=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz1LixwElu94=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "model": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "font": "Arial;13;0", + "left": 400, + "top": 337, + "width": 121, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz1LiyAEm3Ss=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "model": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz1PpqwFKE70=", + "_parent": { + "$ref": "AAAAAAFjz1LiyAEm3Ss=" + }, + "model": { + "$ref": "AAAAAAFjz1PpkAFHlwk=" + }, + "font": "Arial;13;0", + "left": 405, + "top": 352, + "width": 111, + "height": 13, + "text": "+operation()", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 400, + "top": 347, + "width": 121, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz1LiyQEn+sI=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "model": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 104, + "top": 56, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz1LiyQEoupQ=", + "_parent": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "model": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 104, + "top": 56, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 400, + "top": 312, + "width": 121, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjz1LixwEgpYI=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz1LixwElu94=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz1LiyAEm3Ss=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz1LiyQEn+sI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz1LiyQEoupQ=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz1QntAFQzl4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz1QntQFRRaI=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFQzl4=" + }, + "model": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz1QntQFSBsw=", + "_parent": { + "$ref": "AAAAAAFjz1QntQFRRaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 112, + "top": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1QntQFT+1c=", + "_parent": { + "$ref": "AAAAAAFjz1QntQFRRaI=" + }, + "font": "Arial;13;1", + "left": 397, + "top": 423, + "width": 123.5126953125, + "height": 13, + "text": "RedinedAbstraction" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1QntQFUziw=", + "_parent": { + "$ref": "AAAAAAFjz1QntQFRRaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 112, + "top": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1QntQFVmds=", + "_parent": { + "$ref": "AAAAAAFjz1QntQFRRaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 112, + "top": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 392, + "top": 416, + "width": 133.5126953125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1QntQFSBsw=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz1QntQFT+1c=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz1QntQFUziw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1QntQFVmds=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz1QntQFW7vE=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFQzl4=" + }, + "model": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "font": "Arial;13;0", + "left": 392, + "top": 441, + "width": 133.5126953125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz1QntQFXgJY=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFQzl4=" + }, + "model": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz1R8BQF8hko=", + "_parent": { + "$ref": "AAAAAAFjz1QntQFXgJY=" + }, + "model": { + "$ref": "AAAAAAFjz1R75wF5mLg=" + }, + "font": "Arial;13;0", + "left": 397, + "top": 456, + "width": 123.5126953125, + "height": 13, + "text": "+operation()", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 392, + "top": 451, + "width": 133.5126953125, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz1QntQFY0Vc=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFQzl4=" + }, + "model": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 56, + "top": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz1QntQFZrrU=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFQzl4=" + }, + "model": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 56, + "top": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 392, + "top": 416, + "width": 133.5126953125, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjz1QntQFRRaI=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz1QntQFW7vE=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz1QntQFXgJY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz1QntQFY0Vc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz1QntQFZrrU=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz1S6GwGINXI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz1S6GwGJYIw=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "model": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz1S6GwGKa70=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGJYIw=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1S6GwGLGa4=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGJYIw=" + }, + "font": "Arial;13;1", + "left": 661, + "top": 319, + "width": 92.1298828125, + "height": 13, + "text": "Implementor" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1S6GwGMkqw=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGJYIw=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1S6GwGNSqw=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGJYIw=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 656, + "top": 312, + "width": 102.1298828125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1S6GwGKa70=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz1S6GwGLGa4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz1S6GwGMkqw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1S6GwGNSqw=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz1S6GwGO+rQ=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "model": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "font": "Arial;13;0", + "left": 656, + "top": 337, + "width": 102.1298828125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz1S6GwGPWH4=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "model": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz1TpZQGzUqw=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGPWH4=" + }, + "model": { + "$ref": "AAAAAAFjz1TpSAGwV34=" + }, + "font": "Arial;13;0", + "left": 661, + "top": 352, + "width": 92.1298828125, + "height": 13, + "text": "+operationImp()", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 656, + "top": 347, + "width": 102.1298828125, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz1S6GwGQ+Lc=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "model": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz1S6GwGRtCM=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "model": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 656, + "top": 312, + "width": 102.1298828125, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjz1S6GwGJYIw=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz1S6GwGO+rQ=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz1S6GwGPWH4=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz1S6GwGQ+Lc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz1S6GwGRtCM=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjz1UVTgG5k1E=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjz1UVTgG6n0s=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG5k1E=" + }, + "model": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjz1UVTgG7E+Q=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG6n0s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -160, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1UVTgG8OoM=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG6n0s=" + }, + "font": "Arial;13;1", + "left": 637, + "top": 423, + "width": 134.36083984375, + "height": 13, + "text": "ConcreteImplementor" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1UVTgG9afk=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG6n0s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -160, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjz1UVTgG+i6g=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG6n0s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -160, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 632, + "top": 416, + "width": 144.36083984375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1UVTgG7E+Q=" + }, + "nameLabel": { + "$ref": "AAAAAAFjz1UVTgG8OoM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjz1UVTgG9afk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1UVTgG+i6g=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjz1UVTgG/Mcg=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG5k1E=" + }, + "model": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "font": "Arial;13;0", + "left": 632, + "top": 441, + "width": 144.36083984375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjz1UVTgHAUdc=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG5k1E=" + }, + "model": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjz1VFVQHkwpg=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgHAUdc=" + }, + "model": { + "$ref": "AAAAAAFjz1VFOQHhFKo=" + }, + "font": "Arial;13;0", + "left": 637, + "top": 456, + "width": 134.36083984375, + "height": 13, + "text": "+operationImp()", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 632, + "top": 451, + "width": 144.36083984375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjz1UVTgHB8DE=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG5k1E=" + }, + "model": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjz1UVTgHCxZo=", + "_parent": { + "$ref": "AAAAAAFjz1UVTgG5k1E=" + }, + "model": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 632, + "top": 416, + "width": 144.36083984375, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjz1UVTgG6n0s=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjz1UVTgG/Mcg=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjz1UVTgHAUdc=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjz1UVTgHB8DE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjz1UVTgHCxZo=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjz1WE8wHy0l4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wHztRY=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 587, + "top": 349, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH0wO0=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 587, + "top": 364, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH1wao=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 588, + "top": 319, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH2qn8=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHvAtM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 629, + "top": 348, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH3Hho=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHvAtM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 626, + "top": 362, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH4BzA=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHvAtM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 633, + "top": 321, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH5J9o=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHwT40=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 546, + "top": 348, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE8wH6nMc=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHwT40=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 549, + "top": 362, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1WE9AH7DZc=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHwT40=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 542, + "top": 321, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjz1WE9AH8gtM=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHvAtM=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjz1WE9AH9NSI=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHy0l4=" + }, + "model": { + "$ref": "AAAAAAFjz1WE8wHwT40=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "tail": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "lineStyle": 1, + "points": "655:340;521:340", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz1WE8wHztRY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1WE8wH0wO0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1WE8wH1wao=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjz1WE8wH2qn8=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjz1WE8wH3Hho=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjz1WE8wH4BzA=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjz1WE8wH5J9o=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjz1WE8wH6nMc=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjz1WE9AH7DZc=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjz1WE9AH8gtM=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjz1WE9AH9NSI=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjz1Wg4AJvm2k=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1Wg4AJtCys=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1Wg4AJwPog=", + "_parent": { + "$ref": "AAAAAAFjz1Wg4AJvm2k=" + }, + "model": { + "$ref": "AAAAAAFjz1Wg4AJtCys=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 689, + "top": 385, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz1Wg4AJvm2k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1Wg4AJxEFY=", + "_parent": { + "$ref": "AAAAAAFjz1Wg4AJvm2k=" + }, + "model": { + "$ref": "AAAAAAFjz1Wg4AJtCys=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 674, + "top": 384, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz1Wg4AJvm2k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1Wg4AJy7xU=", + "_parent": { + "$ref": "AAAAAAFjz1Wg4AJvm2k=" + }, + "model": { + "$ref": "AAAAAAFjz1Wg4AJtCys=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 718, + "top": 386, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz1Wg4AJvm2k=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz1S6GwGINXI=" + }, + "tail": { + "$ref": "AAAAAAFjz1UVTgG5k1E=" + }, + "lineStyle": 1, + "points": "704:415;705:370", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz1Wg4AJwPog=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1Wg4AJxEFY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1Wg4AJy7xU=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjz1XE5AKuZ9A=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjz1XE4wKsXMY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1XE5AKvQ14=", + "_parent": { + "$ref": "AAAAAAFjz1XE5AKuZ9A=" + }, + "model": { + "$ref": "AAAAAAFjz1XE4wKsXMY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 444, + "top": 385, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz1XE5AKuZ9A=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1XE5AKw1M0=", + "_parent": { + "$ref": "AAAAAAFjz1XE5AKuZ9A=" + }, + "model": { + "$ref": "AAAAAAFjz1XE4wKsXMY=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 429, + "top": 385, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjz1XE5AKuZ9A=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjz1XE5AKx9o4=", + "_parent": { + "$ref": "AAAAAAFjz1XE5AKuZ9A=" + }, + "model": { + "$ref": "AAAAAAFjz1XE4wKsXMY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 473, + "top": 386, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjz1XE5AKuZ9A=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "tail": { + "$ref": "AAAAAAFjz1QntAFQzl4=" + }, + "lineStyle": 1, + "points": "459:415;459:370", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjz1XE5AKvQ14=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjz1XE5AKw1M0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjz1XE5AKx9o4=" + } + }, + { + "_type": "UMLNoteView", + "_id": "AAAAAAFjz9NvYgL7EuA=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "fillColor": "#e2e2e2", + "font": "Arial;13;0", + "left": 176, + "top": 360, + "width": 178.9580078125, + "height": 40, + "text": "implementor.operationImp()" + }, + { + "_type": "UMLNoteLinkView", + "_id": "AAAAAAFjz9PHIgMlDnM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjz1LixwEfXs0=" + }, + "tail": { + "$ref": "AAAAAAFjz9NvYgL7EuA=" + }, + "lineStyle": 1, + "points": "355:361;399:352" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvHyLt1O2ts=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXckOH8QWU=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH9QuM=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH+zy8=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXsSuJa24U=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsSuJbeJo=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsS+JcUkA=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJV9t15608=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Visitor", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvK+XN3OUKk=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3V7/A=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3WLEk=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvL9Ht3aFWg=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3hrCI=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3iCBc=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJ7Rt2kvsE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPeIN5Ds1g=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "source": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvMmTd3lbJo=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAN3sKZA=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAd3tYfc=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvM9/t3w+pE=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ933zkM=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ934yxg=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvNZqt39QII=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPr7d5UNiY=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "source": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOALt4oMlo=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4vyKw=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4wdLQ=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOSzt4znbw=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd46wBw=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd47lCg=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvQjXN5mIcA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ObjectStructure" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvRiW96S5AI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Element", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvSMvt68fhU=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv969aSk=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv96+fGc=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvSfkt8O6V0=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8tLcU=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8u6zs=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvTbBt9vIIg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteElementA", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYIKOME7NM=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "source": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvULTt/P530=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt/+zyw=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt//2bQ=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvUi9eA2O5U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteEmlementB", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYP5ONCSRE=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "source": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvVnGuC+tW0=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDdiaY=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDeghI=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxA9U8sbv+U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "FlyweightFactory", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxB5TstFbhY=", + "_parent": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "name": "getFlyweight", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxDpYMtMx3c=", + "_parent": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "name": "FlyweightKey", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxDpYMtNlIY=", + "_parent": { + "$ref": "AAAAAAFjzxB5TstFbhY=" + }, + "type": "Flyweight", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxEBC8tSq7Q=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Flyweight" + }, + { + "_type": "UMLInterface", + "_id": "AAAAAAFjzxE9YcuUSvQ=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Flyweight", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxTe3sxTnaM=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxTe3sxU8nE=", + "_parent": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "reference": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxTe3sxVSyo=", + "_parent": { + "$ref": "AAAAAAFjzxTe3sxTnaM=" + }, + "reference": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxOv9cvyYX8=", + "_parent": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxQguswEip8=", + "_parent": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "name": "state", + "type": "ExtrinsicState" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxQgu8wF1r8=", + "_parent": { + "$ref": "AAAAAAFjzxOv9cvyYX8=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxFp58vA0MI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteFlyweight", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzxSgT8wVWHk=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "source": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "target": { + "$ref": "AAAAAAFjzxE9YcuUSvQ=" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzxGaX8vrdxs=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "name": "state", + "type": "IntrinsicState" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzxRjb8wJu3g=", + "_parent": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + }, + "name": "doOperation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxR9PMwQq1Y=", + "_parent": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "name": "state", + "type": "ExtrinsicState" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzxR9PMwRdZA=", + "_parent": { + "$ref": "AAAAAAFjzxRjb8wJu3g=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzxS1A8wncWo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxT9vszO4DU=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxT9vszPzPg=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "reference": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxT9vszQ/9g=", + "_parent": { + "$ref": "AAAAAAFjzxT9vszO4DU=" + }, + "reference": { + "$ref": "AAAAAAFjzxA9U8sbv+U=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzxUleM3Fucc=", + "_parent": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxUleM3GZo8=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "reference": { + "$ref": "AAAAAAFjzxS1A8wncWo=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzxUleM3HWo0=", + "_parent": { + "$ref": "AAAAAAFjzxUleM3Fucc=" + }, + "reference": { + "$ref": "AAAAAAFjzxFp58vA0MI=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1LixQEdv4k=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Abstraction", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1PpkAFHlwk=", + "_parent": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "name": "operation" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1QntAFOY8Q=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "RedinedAbstraction", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjz1XE4wKsXMY=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "source": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "target": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1R75wF5mLg=", + "_parent": { + "$ref": "AAAAAAFjz1QntAFOY8Q=" + }, + "name": "operation" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1S6GwGGRGA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Implementor", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjz1WE8wHu4f4=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz1WE8wHvAtM=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "reference": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjz1WE8wHwT40=", + "_parent": { + "$ref": "AAAAAAFjz1WE8wHu4f4=" + }, + "reference": { + "$ref": "AAAAAAFjz1LixQEdv4k=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1TpSAGwV34=", + "_parent": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + }, + "name": "operationImp" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjz1UVTQG3wLo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteImplementor", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjz1Wg4AJtCys=", + "_parent": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "source": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "target": { + "$ref": "AAAAAAFjz1S6GwGGRGA=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjz1VFOQHhFKo=", + "_parent": { + "$ref": "AAAAAAFjz1UVTQG3wLo=" + }, + "name": "operationImp" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\350\247\243\351\207\212\345\231\250.mdj" "b/UML \347\273\230\345\233\276/\350\247\243\351\207\212\345\231\250.mdj" new file mode 100644 index 0000000..5a7b423 --- /dev/null +++ "b/UML \347\273\230\345\233\276/\350\247\243\351\207\212\345\231\250.mdj" @@ -0,0 +1,2529 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjze+ezu6oL2U=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjze+ezu6pEho=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "model": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjze+ez+6qvyM=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6pEho=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze+ez+6rexQ=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6pEho=" + }, + "font": "Arial;13;1", + "left": 309, + "top": 335, + "width": 79, + "height": 13, + "text": "Client" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze+ez+6sUYk=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6pEho=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze+ez+6tpaE=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6pEho=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 304, + "top": 328, + "width": 89, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjze+ez+6qvyM=" + }, + "nameLabel": { + "$ref": "AAAAAAFjze+ez+6rexQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjze+ez+6sUYk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjze+ez+6tpaE=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjze+ez+6u7nI=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "model": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "font": "Arial;13;0", + "left": 304, + "top": 353, + "width": 89, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjze+ez+6vWe0=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "model": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "font": "Arial;13;0", + "left": 304, + "top": 363, + "width": 89, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjze+ez+6wVkg=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "model": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjze+ez+6xp6E=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "model": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 304, + "top": 328, + "width": 89, + "height": 57, + "nameCompartment": { + "$ref": "AAAAAAFjze+ezu6pEho=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjze+ez+6u7nI=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjze+ez+6vWe0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjze+ez+6wVkg=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjze+ez+6xp6E=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjze/Pp+7ThSA=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjze/Pp+7U/Fg=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7ThSA=" + }, + "model": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjze/Pp+7VICI=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7U/Fg=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze/Pp+7W5iI=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7U/Fg=" + }, + "font": "Arial;13;1", + "left": 549, + "top": 295, + "width": 79, + "height": 13, + "text": "Context" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze/Pp+7Xx1A=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7U/Fg=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze/Pp+7YGH0=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7U/Fg=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 544, + "top": 288, + "width": 89, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjze/Pp+7VICI=" + }, + "nameLabel": { + "$ref": "AAAAAAFjze/Pp+7W5iI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjze/Pp+7Xx1A=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjze/Pp+7YGH0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjze/Pp+7Zu14=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7ThSA=" + }, + "model": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + }, + "font": "Arial;13;0", + "left": 544, + "top": 313, + "width": 89, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjze/Pp+7a550=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7ThSA=" + }, + "model": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + }, + "font": "Arial;13;0", + "left": 544, + "top": 323, + "width": 89, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjze/Pp+7bZlk=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7ThSA=" + }, + "model": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjze/Pp+7cNX0=", + "_parent": { + "$ref": "AAAAAAFjze/Pp+7ThSA=" + }, + "model": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 544, + "top": 288, + "width": 89, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjze/Pp+7U/Fg=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjze/Pp+7Zu14=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjze/Pp+7a550=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjze/Pp+7bZlk=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjze/Pp+7cNX0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjze/uDO7+5h4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjze/uDO7/LCI=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "model": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjze/uDO8Agk0=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7/LCI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -32, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze/uDO8BMH0=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7/LCI=" + }, + "font": "Arial;13;1", + "left": 525, + "top": 399, + "width": 127, + "height": 13, + "text": "AbstractExpression" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze/uDO8C7a8=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7/LCI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -32, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjze/uDO8D4Jg=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7/LCI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -32, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 520, + "top": 392, + "width": 137, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjze/uDO8Agk0=" + }, + "nameLabel": { + "$ref": "AAAAAAFjze/uDO8BMH0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjze/uDO8C7a8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjze/uDO8D4Jg=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjze/uDO8EcBk=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "model": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "font": "Arial;13;0", + "left": 520, + "top": 417, + "width": 137, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjze/uDO8FkrM=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "model": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzfCC9u8rK70=", + "_parent": { + "$ref": "AAAAAAFjze/uDO8FkrM=" + }, + "model": { + "$ref": "AAAAAAFjzfCC2e8oZL0=" + }, + "font": "Arial;13;0", + "left": 525, + "top": 432, + "width": 127, + "height": 13, + "text": "+interpret(Context)", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 520, + "top": 427, + "width": 137, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjze/uDO8G+iU=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "model": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "top": -16, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjze/uDO8HWJY=", + "_parent": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "model": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "top": -16, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 520, + "top": 392, + "width": 137, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjze/uDO7/LCI=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjze/uDO8EcBk=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjze/uDO8FkrM=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjze/uDO8G+iU=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjze/uDO8HWJY=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzfD+Eu84+Bs=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzfD+Eu851fA=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu84+Bs=" + }, + "model": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzfD+Eu86m+I=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu851fA=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzfD+Eu87Bx4=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu851fA=" + }, + "font": "Arial;13;1", + "left": 413, + "top": 519, + "width": 123.30322265625, + "height": 13, + "text": "TerminalExpression" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzfD+Eu88OsQ=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu851fA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzfD+E+89qt8=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu851fA=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 408, + "top": 512, + "width": 133.30322265625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfD+Eu86m+I=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzfD+Eu87Bx4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzfD+Eu88OsQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfD+E+89qt8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzfD+E+8+FYo=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu84+Bs=" + }, + "model": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "font": "Arial;13;0", + "left": 408, + "top": 537, + "width": 133.30322265625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzfD+E+8/9RU=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu84+Bs=" + }, + "model": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzfElgO9j+V8=", + "_parent": { + "$ref": "AAAAAAFjzfD+E+8/9RU=" + }, + "model": { + "$ref": "AAAAAAFjzfElYu9gTJs=" + }, + "font": "Arial;13;0", + "left": 413, + "top": 552, + "width": 123.30322265625, + "height": 13, + "text": "+interpret(Context)", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 408, + "top": 547, + "width": 133.30322265625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzfD+E+9Ax1U=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu84+Bs=" + }, + "model": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzfD+E+9BHxQ=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu84+Bs=" + }, + "model": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 408, + "top": 512, + "width": 133.30322265625, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzfD+Eu851fA=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzfD+E+8+FYo=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzfD+E+8/9RU=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzfD+E+9Ax1U=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzfD+E+9BHxQ=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzfEwje9r+4o=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzfEwje9sGHU=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "model": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzfEwje9tbgQ=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9sGHU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -208, + "top": 48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzfEwje9ukiw=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9sGHU=" + }, + "font": "Arial;13;1", + "left": 645, + "top": 519, + "width": 156.51416015625, + "height": 13, + "text": "NonTerminnalExpression" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzfEwje9vS4M=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9sGHU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -208, + "top": 48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzfEwje9wiPo=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9sGHU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -208, + "top": 48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 640, + "top": 512, + "width": 166.51416015625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfEwje9tbgQ=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzfEwje9ukiw=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzfEwje9vS4M=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfEwje9wiPo=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzfEwje9xqiU=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "model": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "font": "Arial;13;0", + "left": 640, + "top": 537, + "width": 166.51416015625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzfEwje9yHnE=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "model": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzfFlpe+WQac=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9yHnE=" + }, + "model": { + "$ref": "AAAAAAFjzfFlge+TJVo=" + }, + "font": "Arial;13;0", + "left": 645, + "top": 552, + "width": 156.51416015625, + "height": 13, + "text": "+interpret(Context)", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 640, + "top": 547, + "width": 166.51416015625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzfEwje9zR+U=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "model": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -104, + "top": 24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzfEwje90TTQ=", + "_parent": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "model": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -104, + "top": 24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 640, + "top": 512, + "width": 166.51416015625, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzfEwje9sGHU=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzfEwje9xqiU=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzfEwje9yHnE=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzfEwje9zR+U=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzfEwje90TTQ=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzfGYmu+heyU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+df38=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+iS9c=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+df38=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 465, + "top": 313, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+jZrM=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+df38=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 462, + "top": 298, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+koT0=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+df38=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 470, + "top": 342, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+l39k=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+eZ10=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 415, + "top": 322, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+mNb0=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+eZ10=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 415, + "top": 309, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+nrZ4=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+eZ10=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 416, + "top": 350, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+ozOs=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+fmow=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 514, + "top": 304, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYmu+pHsY=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+fmow=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 510, + "top": 291, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGYm++qCxA=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+fmow=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 524, + "top": 330, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzfGYm++r6gk=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+eZ10=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzfGYm++s25A=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+heyU=" + }, + "model": { + "$ref": "AAAAAAFjzfGYmu+fmow=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjze/Pp+7ThSA=" + }, + "tail": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "lineStyle": 1, + "points": "393:348;543:320", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzfGYmu+iS9c=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfGYmu+jZrM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfGYmu+koT0=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzfGYmu+l39k=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzfGYmu+mNb0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzfGYmu+nrZ4=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzfGYmu+ozOs=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzfGYmu+pHsY=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzfGYm++qCxA=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzfGYm++r6gk=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzfGYm++s25A=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzfGkW+/k0YQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/grhw=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkW+/lQps=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/grhw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 459, + "top": 364, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkW+/mMCU=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/grhw=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 463, + "top": 350, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/nwUg=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/grhw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 452, + "top": 393, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/ooEY=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/hMvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 421, + "top": 354, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/pg3U=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/hMvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 427, + "top": 342, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/qUj0=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/hMvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 410, + "top": 379, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/r50g=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/iQUQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 497, + "top": 374, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/s0tc=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/iQUQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 499, + "top": 361, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfGkXO/tTKU=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/iQUQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 494, + "top": 402, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzfGkXO/uM7w=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/hMvQ=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzfGkXO/vmKk=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/k0YQ=" + }, + "model": { + "$ref": "AAAAAAFjzfGkW+/iQUQ=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "tail": { + "$ref": "AAAAAAFjze+ezu6oL2U=" + }, + "lineStyle": 1, + "points": "393:368;519:402", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzfGkW+/lQps=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfGkW+/mMCU=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfGkXO/nwUg=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzfGkXO/ooEY=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzfGkXO/pg3U=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzfGkXO/qUj0=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzfGkXO/r50g=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzfGkXO/s0tc=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzfGkXO/tTKU=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzfGkXO/uM7w=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzfGkXO/vmKk=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzfG+rvBAdHQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfG+rvA+I+0=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfG+rvBBHyI=", + "_parent": { + "$ref": "AAAAAAFjzfG+rvBAdHQ=" + }, + "model": { + "$ref": "AAAAAAFjzfG+rvA+I+0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 520, + "top": 463, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfG+rvBAdHQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfG+rvBC2x4=", + "_parent": { + "$ref": "AAAAAAFjzfG+rvBAdHQ=" + }, + "model": { + "$ref": "AAAAAAFjzfG+rvA+I+0=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 509, + "top": 453, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfG+rvBAdHQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfG+rvBDcBM=", + "_parent": { + "$ref": "AAAAAAFjzfG+rvBAdHQ=" + }, + "model": { + "$ref": "AAAAAAFjzfG+rvA+I+0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 541, + "top": 484, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfG+rvBAdHQ=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "tail": { + "$ref": "AAAAAAFjzfD+Eu84+Bs=" + }, + "lineStyle": 1, + "points": "502:511;560:450", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzfG+rvBBHyI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfG+rvBC2x4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfG+rvBDcBM=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzfHJQPBvLpE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfHJP/Bte+A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfHJQPBwW4c=", + "_parent": { + "$ref": "AAAAAAFjzfHJQPBvLpE=" + }, + "model": { + "$ref": "AAAAAAFjzfHJP/Bte+A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 646, + "top": 485, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfHJQPBvLpE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfHJQPBxreI=", + "_parent": { + "$ref": "AAAAAAFjzfHJQPBvLpE=" + }, + "model": { + "$ref": "AAAAAAFjzfHJP/Bte+A=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 636, + "top": 496, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfHJQPBvLpE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfHJQPByt80=", + "_parent": { + "$ref": "AAAAAAFjzfHJQPBvLpE=" + }, + "model": { + "$ref": "AAAAAAFjzfHJP/Bte+A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 665, + "top": 462, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfHJQPBvLpE=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "tail": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "lineStyle": 1, + "points": "690:511;622:450", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzfHJQPBwW4c=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfHJQPBxreI=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfHJQPByt80=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzfH1GPDjS/I=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DfNf8=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDkQXI=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DfNf8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 751, + "top": 409, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDlo2U=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DfNf8=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 766, + "top": 409, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDmIFI=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DfNf8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 721, + "top": 410, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDnwlo=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DgFHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 681, + "top": 395, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDoqAE=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DgFHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 684, + "top": 381, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDpQ30=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DgFHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 677, + "top": 422, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GPDq50Q=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DhXl4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 751, + "top": 480, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GfDr3LU=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DhXl4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 764, + "top": 477, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzfH1GfDs1tg=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DhXl4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 723, + "top": 484, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzfH1GfDtEwQ=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DgFHA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzfH1GfDuJew=", + "_parent": { + "$ref": "AAAAAAFjzfH1GPDjS/I=" + }, + "model": { + "$ref": "AAAAAAFjzfH1F/DhXl4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzfEwje9r+4o=" + }, + "tail": { + "$ref": "AAAAAAFjze/uDO7+5h4=" + }, + "points": "656:416;736:416;736:512", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzfH1GPDkQXI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzfH1GPDlo2U=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzfH1GPDmIFI=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzfH1GPDnwlo=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzfH1GPDoqAE=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzfH1GPDpQ30=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzfH1GPDq50Q=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzfH1GfDr3LU=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzfH1GfDs1tg=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzfH1GfDtEwQ=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzfH1GfDuJew=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaEdxdAPlsI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzaY8PdFHgks=", + "_parent": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzaY8PdFITJY=", + "_parent": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "reference": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzaY8PdFJw4M=", + "_parent": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "reference": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaFgbdA6574=", + "_parent": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "name": "operation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaG799BBvhg=", + "_parent": { + "$ref": "AAAAAAFjzaFgbdA6574=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaHKI9BDoBc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Prototype", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaHrJ9BuBmQ=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaIOT9B1tPk=", + "_parent": { + "$ref": "AAAAAAFjzaHrJ9BuBmQ=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaI/x9B3mgU=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcretePrototype1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzaOBCNDoOwA=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "source": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "target": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaJ2TtChHSE=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaJ7JdCofXk=", + "_parent": { + "$ref": "AAAAAAFjzaJ2TtChHSE=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaKFDtCq5ZE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcretePrototype2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzaOOKND5hFE=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "source": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "target": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaKqjtDUqzI=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaKwVtDb4G4=", + "_parent": { + "$ref": "AAAAAAFjzaKqjtDUqzI=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcElEuufyFg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Handler", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzcKi8expM3A=", + "_parent": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcKi8exqHto=", + "_parent": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "reference": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcKi8exrW7E=", + "_parent": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "reference": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzcFH8evJzNo=", + "_parent": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "name": "successor", + "type": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzcF/i+vQp7M=", + "_parent": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "name": "handleRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzcG3iuvXnvk=", + "_parent": { + "$ref": "AAAAAAFjzcF/i+vQp7M=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcHIVuvZfHo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteHandler1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzcJuvexDa/Y=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "source": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "target": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzcH8SewDNHY=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "name": "handleRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzcID0uwKkrU=", + "_parent": { + "$ref": "AAAAAAFjzcH8SewDNHY=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcIZR+wOBQE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteHandler2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzcJ40+xU22I=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "source": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "target": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzcIwDew4cYQ=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "name": "handleRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzcI0Uew/MsU=", + "_parent": { + "$ref": "AAAAAAFjzcIwDew4cYQ=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcNUQOzigUs=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzcOAke1K8UI=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcOAke1L9J4=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "reference": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcOAke1MJik=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "reference": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjze+ezu6md7U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzfGYmu+df38=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzfGYmu+eZ10=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+df38=" + }, + "reference": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzfGYmu+fmow=", + "_parent": { + "$ref": "AAAAAAFjzfGYmu+df38=" + }, + "reference": { + "$ref": "AAAAAAFjze/Pp+7RtDM=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzfGkW+/grhw=", + "_parent": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzfGkW+/hMvQ=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/grhw=" + }, + "reference": { + "$ref": "AAAAAAFjze+ezu6md7U=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzfGkW+/iQUQ=", + "_parent": { + "$ref": "AAAAAAFjzfGkW+/grhw=" + }, + "reference": { + "$ref": "AAAAAAFjze/uDO78tGc=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjze/Pp+7RtDM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Context" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjze/uDO78tGc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "AbstractExpression", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzfH1F/DfNf8=", + "_parent": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzfH1F/DgFHA=", + "_parent": { + "$ref": "AAAAAAFjzfH1F/DfNf8=" + }, + "reference": { + "$ref": "AAAAAAFjze/uDO78tGc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzfH1F/DhXl4=", + "_parent": { + "$ref": "AAAAAAFjzfH1F/DfNf8=" + }, + "reference": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzfCC2e8oZL0=", + "_parent": { + "$ref": "AAAAAAFjze/uDO78tGc=" + }, + "name": "interpret", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzfDJd+8v01c=", + "_parent": { + "$ref": "AAAAAAFjzfCC2e8oZL0=" + }, + "name": "Context" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzfD+Eu82Jww=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "TerminalExpression", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzfG+rvA+I+0=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "source": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "target": { + "$ref": "AAAAAAFjze/uDO78tGc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzfElYu9gTJs=", + "_parent": { + "$ref": "AAAAAAFjzfD+Eu82Jww=" + }, + "name": "interpret", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzfEp1u9n7k4=", + "_parent": { + "$ref": "AAAAAAFjzfElYu9gTJs=" + }, + "name": "Context", + "type": "" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzfEwjO9pCHA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "NonTerminnalExpression", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzfHJP/Bte+A=", + "_parent": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "source": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "target": { + "$ref": "AAAAAAFjze/uDO78tGc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzfFlge+TJVo=", + "_parent": { + "$ref": "AAAAAAFjzfEwjO9pCHA=" + }, + "name": "interpret", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzfFspu+aV3I=", + "_parent": { + "$ref": "AAAAAAFjzfFlge+TJVo=" + }, + "name": "Context", + "type": "" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\350\256\277\351\227\256\350\200\205.mdj" "b/UML \347\273\230\345\233\276/\350\256\277\351\227\256\350\200\205.mdj" new file mode 100644 index 0000000..d1f05e2 --- /dev/null +++ "b/UML \347\273\230\345\233\276/\350\256\277\351\227\256\350\200\205.mdj" @@ -0,0 +1,3250 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvHyMN1QyHU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvHyMd1ROzA=", + "_parent": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "model": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvHyMd1SYJE=", + "_parent": { + "$ref": "AAAAAAFjzvHyMd1ROzA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 48, + "top": 80, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvHyMd1Tj44=", + "_parent": { + "$ref": "AAAAAAFjzvHyMd1ROzA=" + }, + "font": "Arial;13;1", + "left": 237, + "top": 231, + "width": 63, + "height": 13, + "text": "Client" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvHyMd1UnOU=", + "_parent": { + "$ref": "AAAAAAFjzvHyMd1ROzA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 48, + "top": 80, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvHyMd1VAPM=", + "_parent": { + "$ref": "AAAAAAFjzvHyMd1ROzA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 48, + "top": 80, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 232, + "top": 224, + "width": 73, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvHyMd1SYJE=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvHyMd1Tj44=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvHyMd1UnOU=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvHyMd1VAPM=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvHyMd1W274=", + "_parent": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "model": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "font": "Arial;13;0", + "left": 232, + "top": 249, + "width": 73, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvHyMd1X58g=", + "_parent": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "model": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "font": "Arial;13;0", + "left": 232, + "top": 259, + "width": 73, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvHyMt1YmY4=", + "_parent": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "model": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 24, + "top": 40, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvHyMt1ZEdk=", + "_parent": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "model": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 24, + "top": 40, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 232, + "top": 224, + "width": 73, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjzvHyMd1ROzA=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvHyMd1W274=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvHyMd1X58g=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvHyMt1YmY4=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvHyMt1ZEdk=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvJV9t17/7Q=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvJV9t18fyE=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "model": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJV9t19GOI=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t18fyE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": 32, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJV9t1+ylc=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t18fyE=" + }, + "font": "Arial;13;1", + "left": 429, + "top": 215, + "width": 178.81982421875, + "height": 13, + "text": "Visitor" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJV9t1/Elw=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t18fyE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": 32, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJV9t2AR7o=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t18fyE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -80, + "top": 32, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 424, + "top": 208, + "width": 188.81982421875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvJV9t19GOI=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvJV9t1+ylc=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvJV9t1/Elw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvJV9t2AR7o=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvJV9t2B8qg=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "model": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "font": "Arial;13;0", + "left": 424, + "top": 233, + "width": 188.81982421875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvJV992CrRY=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "model": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvK+ft3RQOM=", + "_parent": { + "$ref": "AAAAAAFjzvJV992CrRY=" + }, + "model": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "font": "Arial;13;0", + "left": 429, + "top": 248, + "width": 178.81982421875, + "height": 13, + "text": "+visit(ConcreteElementA): void", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvL9O93dYDg=", + "_parent": { + "$ref": "AAAAAAFjzvJV992CrRY=" + }, + "model": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "font": "Arial;13;0", + "left": 429, + "top": 263, + "width": 178.81982421875, + "height": 13, + "text": "+visit(ConcreteElementB): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 424, + "top": 243, + "width": 188.81982421875, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvJV992DdKw=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "model": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": 16, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvJV992EUn0=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "model": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -40, + "top": 16, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 424, + "top": 208, + "width": 188.81982421875, + "height": 73, + "nameCompartment": { + "$ref": "AAAAAAFjzvJV9t18fyE=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvJV9t2B8qg=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvJV992CrRY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvJV992DdKw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvJV992EUn0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvJ7Rt2mZCY=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvJ7Rt2nHCw=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2mZCY=" + }, + "model": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJ7Rt2ooKE=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2nHCw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 32, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJ7Rt2pYv4=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2nHCw=" + }, + "font": "Arial;13;1", + "left": 325, + "top": 343, + "width": 178.81982421875, + "height": 13, + "text": "ConcreteVisitor1" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJ7Rt2q2Do=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2nHCw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 32, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvJ7Rt2rid8=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2nHCw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 32, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 320, + "top": 336, + "width": 188.81982421875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvJ7Rt2ooKE=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvJ7Rt2pYv4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvJ7Rt2q2Do=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvJ7Rt2rid8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvJ7R92sa1A=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2mZCY=" + }, + "model": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "font": "Arial;13;0", + "left": 320, + "top": 361, + "width": 188.81982421875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvJ7R92tt7Y=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2mZCY=" + }, + "model": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvMmad3oEGA=", + "_parent": { + "$ref": "AAAAAAFjzvJ7R92tt7Y=" + }, + "model": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "font": "Arial;13;0", + "left": 325, + "top": 376, + "width": 178.81982421875, + "height": 13, + "text": "+visit(ConcreteElementA): void", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvM+Gt3zwBU=", + "_parent": { + "$ref": "AAAAAAFjzvJ7R92tt7Y=" + }, + "model": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "font": "Arial;13;0", + "left": 325, + "top": 391, + "width": 178.81982421875, + "height": 13, + "text": "+visit(ConcreteElementB): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 320, + "top": 371, + "width": 188.81982421875, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvJ7R92ug1E=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2mZCY=" + }, + "model": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": 16, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvJ7R92vSOA=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2mZCY=" + }, + "model": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": 16, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 320, + "top": 336, + "width": 188.81982421875, + "height": 73, + "nameCompartment": { + "$ref": "AAAAAAFjzvJ7Rt2nHCw=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvJ7R92sa1A=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvJ7R92tt7Y=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvJ7R92ug1E=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvJ7R92vSOA=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvNZqt3/80k=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvNZqt4Ah/s=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt3/80k=" + }, + "model": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvNZqt4BGUg=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt4Ah/s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -192, + "top": 48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvNZqt4ClYs=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt4Ah/s=" + }, + "font": "Arial;13;1", + "left": 541, + "top": 343, + "width": 178.81982421875, + "height": 13, + "text": "ConcreteVisitor2" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvNZqt4DZVA=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt4Ah/s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -192, + "top": 48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvNZqt4EQIo=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt4Ah/s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -192, + "top": 48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 536, + "top": 336, + "width": 188.81982421875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvNZqt4BGUg=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvNZqt4ClYs=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvNZqt4DZVA=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvNZqt4EQIo=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvNZqt4F0F4=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt3/80k=" + }, + "model": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "font": "Arial;13;0", + "left": 536, + "top": 361, + "width": 188.81982421875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvNZqt4GV84=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt3/80k=" + }, + "model": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvOATt4rmQw=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt4GV84=" + }, + "model": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "font": "Arial;13;0", + "left": 541, + "top": 376, + "width": 178.81982421875, + "height": 13, + "text": "+visit(ConcreteElementA): void", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvOS7t42PfI=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt4GV84=" + }, + "model": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "font": "Arial;13;0", + "left": 541, + "top": 391, + "width": 178.81982421875, + "height": 13, + "text": "+visit(ConcreteElementB): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 536, + "top": 371, + "width": 188.81982421875, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvNZqt4H+Mw=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt3/80k=" + }, + "model": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvNZqt4IF/A=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt3/80k=" + }, + "model": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -96, + "top": 24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 536, + "top": 336, + "width": 188.81982421875, + "height": 73, + "nameCompartment": { + "$ref": "AAAAAAFjzvNZqt4Ah/s=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvNZqt4F0F4=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvNZqt4GV84=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvNZqt4H+Mw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvNZqt4IF/A=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzvPeId5FGbU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvPeIN5Ds1g=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvPeId5GmLk=", + "_parent": { + "$ref": "AAAAAAFjzvPeId5FGbU=" + }, + "model": { + "$ref": "AAAAAAFjzvPeIN5Ds1g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 453, + "top": 292, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvPeId5FGbU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvPeId5HOiM=", + "_parent": { + "$ref": "AAAAAAFjzvPeId5FGbU=" + }, + "model": { + "$ref": "AAAAAAFjzvPeIN5Ds1g=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 441, + "top": 283, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvPeId5FGbU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvPeId5Ir/Y=", + "_parent": { + "$ref": "AAAAAAFjzvPeId5FGbU=" + }, + "model": { + "$ref": "AAAAAAFjzvPeIN5Ds1g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 476, + "top": 311, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvPeId5FGbU=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "tail": { + "$ref": "AAAAAAFjzvJ7Rt2mZCY=" + }, + "lineStyle": 1, + "points": "443:335;487:281", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvPeId5GmLk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvPeId5HOiM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvPeId5Ir/Y=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzvPr7d5WTFc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvPr7d5UNiY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvPr7d5Xcqo=", + "_parent": { + "$ref": "AAAAAAFjzvPr7d5WTFc=" + }, + "model": { + "$ref": "AAAAAAFjzvPr7d5UNiY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 561, + "top": 311, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvPr7d5WTFc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvPr7d5Y1nk=", + "_parent": { + "$ref": "AAAAAAFjzvPr7d5WTFc=" + }, + "model": { + "$ref": "AAAAAAFjzvPr7d5UNiY=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 550, + "top": 321, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvPr7d5WTFc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvPr7d5ZO+8=", + "_parent": { + "$ref": "AAAAAAFjzvPr7d5WTFc=" + }, + "model": { + "$ref": "AAAAAAFjzvPr7d5UNiY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 584, + "top": 292, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvPr7d5WTFc=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "tail": { + "$ref": "AAAAAAFjzvNZqt3/80k=" + }, + "lineStyle": 1, + "points": "597:335;549:281", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvPr7d5Xcqo=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvPr7d5Y1nk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvPr7d5ZO+8=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvQjXN5os4U=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvQjXN5pfCQ=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "model": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvQjXN5q4SA=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5pfCQ=" + }, + "visible": false, + "font": "Arial;13;0", + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvQjXN5rXA8=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5pfCQ=" + }, + "font": "Arial;13;1", + "left": 333, + "top": 471, + "width": 98.24267578125, + "height": 13, + "text": "ObjectStructure" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvQjXN5sKBc=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5pfCQ=" + }, + "visible": false, + "font": "Arial;13;0", + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvQjXN5tIC8=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5pfCQ=" + }, + "visible": false, + "font": "Arial;13;0", + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 328, + "top": 464, + "width": 108.24267578125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvQjXN5q4SA=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvQjXN5rXA8=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvQjXN5sKBc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvQjXN5tIC8=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvQjXN5uZs8=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "model": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "font": "Arial;13;0", + "left": 328, + "top": 489, + "width": 108.24267578125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvQjXN5viqA=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "model": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "font": "Arial;13;0", + "left": 328, + "top": 499, + "width": 108.24267578125, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvQjXN5wod0=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "model": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "visible": false, + "font": "Arial;13;0", + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvQjXN5x7JA=", + "_parent": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "model": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "visible": false, + "font": "Arial;13;0", + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 328, + "top": 464, + "width": 108.24267578125, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAFjzvQjXN5pfCQ=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvQjXN5uZs8=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvQjXN5viqA=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvQjXN5wod0=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvQjXN5x7JA=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvRiXN6UzIA=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvRiXN6VmiY=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "model": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvRiXN6Wvls=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6VmiY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvRiXN6XuEA=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6VmiY=" + }, + "font": "Arial;13;1", + "left": 557, + "top": 463, + "width": 121.5068359375, + "height": 13, + "text": "Element" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvRiXN6YACc=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6VmiY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvRiXN6Zve0=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6VmiY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -48, + "top": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 552, + "top": 456, + "width": 131.5068359375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvRiXN6Wvls=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvRiXN6XuEA=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvRiXN6YACc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvRiXN6Zve0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvRiXN6a/Es=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "model": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "font": "Arial;13;0", + "left": 552, + "top": 481, + "width": 131.5068359375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvRiXd6b48g=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "model": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvSfsd8R39k=", + "_parent": { + "$ref": "AAAAAAFjzvRiXd6b48g=" + }, + "model": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "font": "Arial;13;0", + "left": 557, + "top": 496, + "width": 121.5068359375, + "height": 13, + "text": "+accept(Visitor): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 552, + "top": 491, + "width": 131.5068359375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvRiXd6cOCg=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "model": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvRiXd6dRDo=", + "_parent": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "model": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -24, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 552, + "top": 456, + "width": 131.5068359375, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzvRiXN6VmiY=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvRiXN6a/Es=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvRiXd6b48g=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvRiXd6cOCg=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvRiXd6dRDo=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzvSMwN7AU9s=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7BQ1M=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 493, + "top": 493, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7CAlQ=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 493, + "top": 508, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7Dcio=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 492, + "top": 464, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7Eymw=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv969aSk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 525, + "top": 494, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7FZEs=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv969aSk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 522, + "top": 507, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7GTVU=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv969aSk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 529, + "top": 466, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7H654=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv96+fGc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 462, + "top": 494, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7IiKk=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv96+fGc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 464, + "top": 508, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvSMwN7JjS4=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv96+fGc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 457, + "top": 467, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzvSMwN7KJFE=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv969aSk=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzvSMwN7LzNc=", + "_parent": { + "$ref": "AAAAAAFjzvSMwN7AU9s=" + }, + "model": { + "$ref": "AAAAAAFjzvSMv96+fGc=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "tail": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "lineStyle": 1, + "points": "551:485;436:486", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvSMwN7BQ1M=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvSMwN7CAlQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvSMwN7Dcio=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzvSMwN7Eymw=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzvSMwN7FZEs=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzvSMwN7GTVU=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzvSMwN7H654=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzvSMwN7IiKk=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzvSMwN7JjS4=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzvSMwN7KJFE=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzvSMwN7LzNc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvTbB99xE5k=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvTbB99yvn0=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99xE5k=" + }, + "model": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvTbB99zGtk=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99yvn0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvTbB990Btc=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99yvn0=" + }, + "font": "Arial;13;1", + "left": 501, + "top": 575, + "width": 121.5068359375, + "height": 13, + "text": "ConcreteElementA" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvTbCN91mMo=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99yvn0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvTbCN92XYU=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99yvn0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 496, + "top": 568, + "width": 131.5068359375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvTbB99zGtk=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvTbB990Btc=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvTbCN91mMo=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvTbCN92XYU=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvTbCN93BEE=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99xE5k=" + }, + "model": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "font": "Arial;13;0", + "left": 496, + "top": 593, + "width": 131.5068359375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvTbCN94rUI=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99xE5k=" + }, + "model": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvULbd/VC0A=", + "_parent": { + "$ref": "AAAAAAFjzvTbCN94rUI=" + }, + "model": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "font": "Arial;13;0", + "left": 501, + "top": 608, + "width": 121.5068359375, + "height": 13, + "text": "+accept(Visitor): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 496, + "top": 603, + "width": 131.5068359375, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvTbCN95la8=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99xE5k=" + }, + "model": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvTbCN96lpI=", + "_parent": { + "$ref": "AAAAAAFjzvTbB99xE5k=" + }, + "model": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 496, + "top": 568, + "width": 131.5068359375, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzvTbB99yvn0=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvTbCN93BEE=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvTbCN94rUI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvTbCN95la8=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvTbCN96lpI=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzvUi9eA4u90=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzvUi9eA5k/Y=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA4u90=" + }, + "model": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzvUi9eA60mo=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA5k/Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -32, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvUi9eA78fM=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA5k/Y=" + }, + "font": "Arial;13;1", + "left": 661, + "top": 575, + "width": 127.8671875, + "height": 13, + "text": "ConcreteEmlementB" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvUi9eA8ZQY=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA5k/Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -32, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzvUi9eA9NGA=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA5k/Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -32, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 656, + "top": 568, + "width": 137.8671875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvUi9eA60mo=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzvUi9eA78fM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzvUi9eA8ZQY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvUi9eA9NGA=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzvUi9eA+jUo=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA4u90=" + }, + "model": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "font": "Arial;13;0", + "left": 656, + "top": 593, + "width": 137.8671875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzvUi9eA/kOU=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA4u90=" + }, + "model": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzvVnO+DE9kQ=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA/kOU=" + }, + "model": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "font": "Arial;13;0", + "left": 661, + "top": 608, + "width": 127.8671875, + "height": 13, + "text": "+accept(Visitor): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 656, + "top": 603, + "width": 137.8671875, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzvUi9eBAYxA=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA4u90=" + }, + "model": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": -16, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzvUi9eBBt6c=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA4u90=" + }, + "model": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "top": -16, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 656, + "top": 568, + "width": 137.8671875, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzvUi9eA5k/Y=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzvUi9eA+jUo=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzvUi9eA/kOU=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzvUi9eBAYxA=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzvUi9eBBt6c=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzvXckeIAWAo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeIBOys=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 364, + "top": 225, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeICAGU=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 364, + "top": 210, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeIDd4M=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 364, + "top": 255, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeIE2HA=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH9QuM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 330, + "top": 225, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeIFp+w=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH9QuM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 333, + "top": 212, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeIGKeE=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH9QuM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 326, + "top": 253, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeIHodU=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH+zy8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 396, + "top": 225, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckeII8H8=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH+zy8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 394, + "top": 211, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXckuIJDeo=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH+zy8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 401, + "top": 252, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzvXckuIKn2g=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH9QuM=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzvXckuILY3U=", + "_parent": { + "$ref": "AAAAAAFjzvXckeIAWAo=" + }, + "model": { + "$ref": "AAAAAAFjzvXckeH+zy8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvJV9t17/7Q=" + }, + "tail": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "lineStyle": 1, + "points": "305:247;423:246", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvXckeIBOys=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvXckeICAGU=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvXckeIDd4M=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzvXckeIE2HA=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzvXckeIFp+w=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzvXckeIGKeE=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzvXckeIHodU=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzvXckeII8H8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzvXckuIJDeo=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzvXckuIKn2g=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzvXckuILY3U=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzvXsS+Jeiwg=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+JfZ1A=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 280, + "top": 465, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+JgJbs=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 280, + "top": 450, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+JhDIM=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 280, + "top": 495, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+JiiEg=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJbeJo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 295, + "top": 291, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+JjO38=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJbeJo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 308, + "top": 294, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+JkjTw=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJbeJo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 267, + "top": 287, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+Jl6Hg=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsS+JcUkA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 302, + "top": 465, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+Jm/2w=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsS+JcUkA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 299, + "top": 451, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvXsS+Jne1M=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsS+JcUkA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 306, + "top": 492, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzvXsS+Jo+ck=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsSuJbeJo=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzvXsS+Jpez4=", + "_parent": { + "$ref": "AAAAAAFjzvXsS+Jeiwg=" + }, + "model": { + "$ref": "AAAAAAFjzvXsS+JcUkA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvQjXN5os4U=" + }, + "tail": { + "$ref": "AAAAAAFjzvHyMN1QyHU=" + }, + "lineStyle": 2, + "points": "280:272;280:486;328:486", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvXsS+JfZ1A=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvXsS+JgJbs=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvXsS+JhDIM=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzvXsS+JiiEg=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzvXsS+JjO38=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzvXsS+JkjTw=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzvXsS+Jl6Hg=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzvXsS+Jm/2w=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzvXsS+Jne1M=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzvXsS+Jo+ck=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzvXsS+Jpez4=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzvYIKOMG+TQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvYIKOME7NM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvYIKOMHc9E=", + "_parent": { + "$ref": "AAAAAAFjzvYIKOMG+TQ=" + }, + "model": { + "$ref": "AAAAAAFjzvYIKOME7NM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 575, + "top": 527, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvYIKOMG+TQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvYIKOMIHfI=", + "_parent": { + "$ref": "AAAAAAFjzvYIKOMG+TQ=" + }, + "model": { + "$ref": "AAAAAAFjzvYIKOME7NM=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 562, + "top": 520, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvYIKOMG+TQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvYIKOMJi/I=", + "_parent": { + "$ref": "AAAAAAFjzvYIKOMG+TQ=" + }, + "model": { + "$ref": "AAAAAAFjzvYIKOME7NM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 602, + "top": 540, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvYIKOMG+TQ=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "tail": { + "$ref": "AAAAAAFjzvTbB99xE5k=" + }, + "lineStyle": 1, + "points": "576:567;602:514", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvYIKOMHc9E=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvYIKOMIHfI=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvYIKOMJi/I=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzvYP5ONEj0E=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzvYP5ONCSRE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvYP5ONFp6M=", + "_parent": { + "$ref": "AAAAAAFjzvYP5ONEj0E=" + }, + "model": { + "$ref": "AAAAAAFjzvYP5ONCSRE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 660, + "top": 544, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvYP5ONEj0E=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvYP5ONGVRY=", + "_parent": { + "$ref": "AAAAAAFjzvYP5ONEj0E=" + }, + "model": { + "$ref": "AAAAAAFjzvYP5ONCSRE=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 649, + "top": 554, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzvYP5ONEj0E=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzvYP5ONHPs4=", + "_parent": { + "$ref": "AAAAAAFjzvYP5ONEj0E=" + }, + "model": { + "$ref": "AAAAAAFjzvYP5ONCSRE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 681, + "top": 523, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzvYP5ONEj0E=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzvRiXN6UzIA=" + }, + "tail": { + "$ref": "AAAAAAFjzvUi9eA4u90=" + }, + "lineStyle": 1, + "points": "696:567;646:514", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzvYP5ONFp6M=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzvYP5ONGVRY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzvYP5ONHPs4=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvHyLt1O2ts=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXckOH8QWU=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH9QuM=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXckeH+zy8=", + "_parent": { + "$ref": "AAAAAAFjzvXckOH8QWU=" + }, + "reference": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvXsSuJa24U=", + "_parent": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsSuJbeJo=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvHyLt1O2ts=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvXsS+JcUkA=", + "_parent": { + "$ref": "AAAAAAFjzvXsSuJa24U=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + } + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJV9t15608=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Visitor", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvK+XN3OUKk=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3V7/A=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvLrnt3WLEk=", + "_parent": { + "$ref": "AAAAAAFjzvK+XN3OUKk=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvL9Ht3aFWg=", + "_parent": { + "$ref": "AAAAAAFjzvJV9t15608=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3hrCI=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMSGd3iCBc=", + "_parent": { + "$ref": "AAAAAAFjzvL9Ht3aFWg=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvJ7Rt2kvsE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPeIN5Ds1g=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "source": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvMmTd3lbJo=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAN3sKZA=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvMrAd3tYfc=", + "_parent": { + "$ref": "AAAAAAFjzvMmTd3lbJo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvM9/t3w+pE=", + "_parent": { + "$ref": "AAAAAAFjzvJ7Rt2kvsE=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ933zkM=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvNDZ934yxg=", + "_parent": { + "$ref": "AAAAAAFjzvM9/t3w+pE=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvNZqt39QII=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteVisitor2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvPr7d5UNiY=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "source": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "target": { + "$ref": "AAAAAAFjzvJV9t15608=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOALt4oMlo=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4vyKw=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "name": "ConcreteElementA", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOFat4wdLQ=", + "_parent": { + "$ref": "AAAAAAFjzvOALt4oMlo=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvOSzt4znbw=", + "_parent": { + "$ref": "AAAAAAFjzvNZqt39QII=" + }, + "name": "visit", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd46wBw=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "name": "ConcreteElementB", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvOXrd47lCg=", + "_parent": { + "$ref": "AAAAAAFjzvOSzt4znbw=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvQjXN5mIcA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ObjectStructure" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvRiW96S5AI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Element", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzvSMvt68fhU=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv969aSk=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzvSMv96+fGc=", + "_parent": { + "$ref": "AAAAAAFjzvSMvt68fhU=" + }, + "reference": { + "$ref": "AAAAAAFjzvQjXN5mIcA=" + }, + "aggregation": "shared" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvSfkt8O6V0=", + "_parent": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8tLcU=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvTDTN8u6zs=", + "_parent": { + "$ref": "AAAAAAFjzvSfkt8O6V0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvTbBt9vIIg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteElementA", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYIKOME7NM=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "source": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvULTt/P530=", + "_parent": { + "$ref": "AAAAAAFjzvTbBt9vIIg=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt/+zyw=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvUWEt//2bQ=", + "_parent": { + "$ref": "AAAAAAFjzvULTt/P530=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzvUi9eA2O5U=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteEmlementB", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzvYP5ONCSRE=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "source": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "target": { + "$ref": "AAAAAAFjzvRiW96S5AI=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzvVnGuC+tW0=", + "_parent": { + "$ref": "AAAAAAFjzvUi9eA2O5U=" + }, + "name": "accept", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDdiaY=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "name": "Visitor", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzvVsOeDeghI=", + "_parent": { + "$ref": "AAAAAAFjzvVnGuC+tW0=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/UML \347\273\230\345\233\276/\350\264\243\344\273\273\351\223\276.mdj" "b/UML \347\273\230\345\233\276/\350\264\243\344\273\273\351\223\276.mdj" new file mode 100644 index 0000000..d9842d1 --- /dev/null +++ "b/UML \347\273\230\345\233\276/\350\264\243\344\273\273\351\223\276.mdj" @@ -0,0 +1,1903 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzcElE+uhM6M=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzcElE+uivWM=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "model": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzcElE+ujUt0=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uivWM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcElE+ukowk=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uivWM=" + }, + "font": "Arial;13;1", + "left": 381, + "top": 271, + "width": 134.77978515625, + "height": 13, + "text": "Handler" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcElFOulWA8=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uivWM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcElFOumLBI=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uivWM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 376, + "top": 264, + "width": 144.77978515625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcElE+ujUt0=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzcElE+ukowk=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzcElFOulWA8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcElFOumLBI=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzcElFOunaMg=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "model": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFjzcFIEOvMC1g=", + "_parent": { + "$ref": "AAAAAAFjzcElFOunaMg=" + }, + "model": { + "$ref": "AAAAAAFjzcFH8evJzNo=" + }, + "font": "Arial;13;0", + "left": 381, + "top": 294, + "width": 134.77978515625, + "height": 13, + "text": "+successor: Handler", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 376, + "top": 289, + "width": 144.77978515625, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzcElFOuoZLM=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "model": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzcF/puvTEBs=", + "_parent": { + "$ref": "AAAAAAFjzcElFOuoZLM=" + }, + "model": { + "$ref": "AAAAAAFjzcF/i+vQp7M=" + }, + "font": "Arial;13;0", + "left": 381, + "top": 317, + "width": 134.77978515625, + "height": 13, + "text": "+handleRequest(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 376, + "top": 312, + "width": 144.77978515625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzcElFOup2GQ=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "model": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzcElFOuqSyE=", + "_parent": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "model": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 376, + "top": 264, + "width": 144.77978515625, + "height": 71, + "nameCompartment": { + "$ref": "AAAAAAFjzcElE+uivWM=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzcElFOunaMg=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzcElFOuoZLM=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzcElFOup2GQ=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzcElFOuqSyE=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzcHIVuvbN0w=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzcHIVuvcM18=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvbN0w=" + }, + "model": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzcHIVuvdUrU=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvcM18=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "top": -80, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcHIVuveeGU=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvcM18=" + }, + "font": "Arial;13;1", + "left": 253, + "top": 407, + "width": 134.77978515625, + "height": 13, + "text": "ConcreteHandler1" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcHIV+vf7/s=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvcM18=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "top": -80, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcHIWOvg32s=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvcM18=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "top": -80, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 248, + "top": 400, + "width": 144.77978515625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcHIVuvdUrU=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzcHIVuveeGU=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzcHIV+vf7/s=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcHIWOvg32s=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzcHIWOvhqpM=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvbN0w=" + }, + "model": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "font": "Arial;13;0", + "left": 248, + "top": 425, + "width": 144.77978515625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzcHIWOviAsg=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvbN0w=" + }, + "model": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzcH8ZOwGiLo=", + "_parent": { + "$ref": "AAAAAAFjzcHIWOviAsg=" + }, + "model": { + "$ref": "AAAAAAFjzcH8SewDNHY=" + }, + "font": "Arial;13;0", + "left": 253, + "top": 440, + "width": 134.77978515625, + "height": 13, + "text": "+handleRequest(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 248, + "top": 435, + "width": 144.77978515625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzcHIWOvj6/8=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvbN0w=" + }, + "model": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "top": -40, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzcHIWOvktRY=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvbN0w=" + }, + "model": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "top": -40, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 248, + "top": 400, + "width": 144.77978515625, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzcHIVuvcM18=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzcHIWOvhqpM=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzcHIWOviAsg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzcHIWOvj6/8=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzcHIWOvktRY=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzcIZR+wQVhQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzcIZR+wRkZk=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wQVhQ=" + }, + "model": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzcIZR+wSnMw=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wRkZk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -64, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcIZR+wTM2s=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wRkZk=" + }, + "font": "Arial;13;1", + "left": 501, + "top": 407, + "width": 134.77978515625, + "height": 13, + "text": "ConcreteHandler2" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcIZR+wULI8=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wRkZk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -64, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcIZR+wV08Y=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wRkZk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -128, + "top": -64, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 496, + "top": 400, + "width": 144.77978515625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcIZR+wSnMw=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzcIZR+wTM2s=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzcIZR+wULI8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcIZR+wV08Y=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzcIZR+wWorw=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wQVhQ=" + }, + "model": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "font": "Arial;13;0", + "left": 496, + "top": 425, + "width": 144.77978515625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzcIZR+wXiak=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wQVhQ=" + }, + "model": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFjzcIwLOw72v8=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wXiak=" + }, + "model": { + "$ref": "AAAAAAFjzcIwDew4cYQ=" + }, + "font": "Arial;13;0", + "left": 501, + "top": 440, + "width": 134.77978515625, + "height": 13, + "text": "+handleRequest(): void", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 496, + "top": 435, + "width": 144.77978515625, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzcIZR+wYxPw=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wQVhQ=" + }, + "model": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -32, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzcIZR+wZ14Y=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wQVhQ=" + }, + "model": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "top": -32, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 496, + "top": 400, + "width": 144.77978515625, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAFjzcIZR+wRkZk=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzcIZR+wWorw=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzcIZR+wXiak=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzcIZR+wYxPw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzcIZR+wZ14Y=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzcJuvexFo1k=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcJuvexDa/Y=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcJuvexGO+U=", + "_parent": { + "$ref": "AAAAAAFjzcJuvexFo1k=" + }, + "model": { + "$ref": "AAAAAAFjzcJuvexDa/Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 368, + "top": 350, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcJuvexFo1k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcJuvexHj+Q=", + "_parent": { + "$ref": "AAAAAAFjzcJuvexFo1k=" + }, + "model": { + "$ref": "AAAAAAFjzcJuvexDa/Y=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 357, + "top": 339, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcJuvexFo1k=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcJuvexIb10=", + "_parent": { + "$ref": "AAAAAAFjzcJuvexFo1k=" + }, + "model": { + "$ref": "AAAAAAFjzcJuvexDa/Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 389, + "top": 371, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcJuvexFo1k=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "tail": { + "$ref": "AAAAAAFjzcHIVuvbN0w=" + }, + "lineStyle": 1, + "points": "348:399;411:335", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzcJuvexGO+U=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcJuvexHj+Q=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcJuvexIb10=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFjzcJ40+xWWRs=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcJ40+xU22I=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcJ40+xXXp4=", + "_parent": { + "$ref": "AAAAAAFjzcJ40+xWWRs=" + }, + "model": { + "$ref": "AAAAAAFjzcJ40+xU22I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 499, + "top": 371, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcJ40+xWWRs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcJ40+xYxcQ=", + "_parent": { + "$ref": "AAAAAAFjzcJ40+xWWRs=" + }, + "model": { + "$ref": "AAAAAAFjzcJ40+xU22I=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 488, + "top": 381, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcJ40+xWWRs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcJ40+xZaPM=", + "_parent": { + "$ref": "AAAAAAFjzcJ40+xWWRs=" + }, + "model": { + "$ref": "AAAAAAFjzcJ40+xU22I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 520, + "top": 350, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcJ40+xWWRs=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "tail": { + "$ref": "AAAAAAFjzcIZR+wQVhQ=" + }, + "lineStyle": 1, + "points": "540:399;480:335", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzcJ40+xXXp4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcJ40+xYxcQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcJ40+xZaPM=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzcKi8extkls=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8exu+Ks=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 574, + "top": 217, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8exvfag=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 589, + "top": 217, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8exw0C4=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 545, + "top": 218, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8exxWHE=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exqHto=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 432, + "top": 232, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8exyhJI=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exqHto=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 418, + "top": 229, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8exz0M4=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exqHto=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 459, + "top": 236, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8ex0HIw=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exrW7E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 545, + "top": 307, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8ux11K0=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exrW7E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 548, + "top": 321, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcKi8ux2+r0=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exrW7E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 541, + "top": 280, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzcKi8extkls=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzcKi8ux3yRs=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exqHto=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzcKi8ux4Zz0=", + "_parent": { + "$ref": "AAAAAAFjzcKi8extkls=" + }, + "model": { + "$ref": "AAAAAAFjzcKi8exrW7E=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "tail": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "points": "447:264;447:224;560:224;560:299;520:299", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzcKi8exu+Ks=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcKi8exvfag=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcKi8exw0C4=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzcKi8exxWHE=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzcKi8exyhJI=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzcKi8exz0M4=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzcKi8ex0HIw=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzcKi8ux11K0=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzcKi8ux2+r0=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzcKi8ux3yRs=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzcKi8ux4Zz0=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFjzcNUQOzkYxc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFjzcNUQezlyyk=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzkYxc=" + }, + "model": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFjzcNUQezmty0=", + "_parent": { + "$ref": "AAAAAAFjzcNUQezlyyk=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcNUQeznXcw=", + "_parent": { + "$ref": "AAAAAAFjzcNUQezlyyk=" + }, + "font": "Arial;13;1", + "left": 189, + "top": 279, + "width": 71, + "height": 13, + "text": "Client" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcNUQezo6FU=", + "_parent": { + "$ref": "AAAAAAFjzcNUQezlyyk=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAFjzcNUQezpuNE=", + "_parent": { + "$ref": "AAAAAAFjzcNUQezlyyk=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 184, + "top": 272, + "width": 81, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcNUQezmty0=" + }, + "nameLabel": { + "$ref": "AAAAAAFjzcNUQeznXcw=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFjzcNUQezo6FU=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcNUQezpuNE=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFjzcNUQezqVBs=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzkYxc=" + }, + "model": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "font": "Arial;13;0", + "left": 184, + "top": 297, + "width": 81, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFjzcNUQezrseQ=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzkYxc=" + }, + "model": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "font": "Arial;13;0", + "left": 184, + "top": 307, + "width": 81, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFjzcNUQezsOsY=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzkYxc=" + }, + "model": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFjzcNUQezte/A=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzkYxc=" + }, + "model": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "visible": false, + "font": "Arial;13;0", + "top": 8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 184, + "top": 272, + "width": 81, + "height": 49, + "nameCompartment": { + "$ref": "AAAAAAFjzcNUQezlyyk=" + }, + "attributeCompartment": { + "$ref": "AAAAAAFjzcNUQezqVBs=" + }, + "operationCompartment": { + "$ref": "AAAAAAFjzcNUQezrseQ=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFjzcNUQezsOsY=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFjzcNUQezte/A=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFjzcOAke1Oazc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAke1PO+M=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 320, + "top": 276, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAke1Q+Ec=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 320, + "top": 261, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAke1RiC0=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 319, + "top": 305, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAke1Sm9w=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1L9J4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 291, + "top": 276, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAke1Tjbc=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1L9J4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 293, + "top": 262, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAke1UWWc=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1L9J4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 286, + "top": 303, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAku1VofQ=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1MJik=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 349, + "top": 276, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAku1Wv7w=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1MJik=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 346, + "top": 263, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFjzcOAku1X8tw=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1MJik=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 353, + "top": 304, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzcOAku1YrfE=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1L9J4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFjzcOAku1Z6Y4=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1Oazc=" + }, + "model": { + "$ref": "AAAAAAFjzcOAke1MJik=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAFjzcElE+uhM6M=" + }, + "tail": { + "$ref": "AAAAAAFjzcNUQOzkYxc=" + }, + "lineStyle": 1, + "points": "265:297;375:298", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAFjzcOAke1PO+M=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFjzcOAke1Q+Ec=" + }, + "propertyLabel": { + "$ref": "AAAAAAFjzcOAke1RiC0=" + }, + "tailRoleNameLabel": { + "$ref": "AAAAAAFjzcOAke1Sm9w=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFjzcOAke1Tjbc=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFjzcOAke1UWWc=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFjzcOAku1VofQ=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFjzcOAku1Wv7w=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFjzcOAku1X8tw=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFjzcOAku1YrfE=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFjzcOAku1Z6Y4=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaEdxdAPlsI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzaY8PdFHgks=", + "_parent": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzaY8PdFITJY=", + "_parent": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "reference": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzaY8PdFJw4M=", + "_parent": { + "$ref": "AAAAAAFjzaY8PdFHgks=" + }, + "reference": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaFgbdA6574=", + "_parent": { + "$ref": "AAAAAAFjzaEdxdAPlsI=" + }, + "name": "operation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaG799BBvhg=", + "_parent": { + "$ref": "AAAAAAFjzaFgbdA6574=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaHKI9BDoBc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Prototype", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaHrJ9BuBmQ=", + "_parent": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaIOT9B1tPk=", + "_parent": { + "$ref": "AAAAAAFjzaHrJ9BuBmQ=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaI/x9B3mgU=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcretePrototype1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzaOBCNDoOwA=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "source": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "target": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaJ2TtChHSE=", + "_parent": { + "$ref": "AAAAAAFjzaI/x9B3mgU=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaJ7JdCofXk=", + "_parent": { + "$ref": "AAAAAAFjzaJ2TtChHSE=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzaKFDtCq5ZE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcretePrototype2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzaOOKND5hFE=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "source": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "target": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzaKqjtDUqzI=", + "_parent": { + "$ref": "AAAAAAFjzaKFDtCq5ZE=" + }, + "name": "clone", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzaKwVtDb4G4=", + "_parent": { + "$ref": "AAAAAAFjzaKqjtDUqzI=" + }, + "type": { + "$ref": "AAAAAAFjzaHKI9BDoBc=" + }, + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcElEuufyFg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Handler", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzcKi8expM3A=", + "_parent": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcKi8exqHto=", + "_parent": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "reference": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcKi8exrW7E=", + "_parent": { + "$ref": "AAAAAAFjzcKi8expM3A=" + }, + "reference": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFjzcFH8evJzNo=", + "_parent": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "name": "successor", + "type": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzcF/i+vQp7M=", + "_parent": { + "$ref": "AAAAAAFjzcElEuufyFg=" + }, + "name": "handleRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzcG3iuvXnvk=", + "_parent": { + "$ref": "AAAAAAFjzcF/i+vQp7M=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcHIVuvZfHo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteHandler1", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzcJuvexDa/Y=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "source": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "target": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzcH8SewDNHY=", + "_parent": { + "$ref": "AAAAAAFjzcHIVuvZfHo=" + }, + "name": "handleRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzcID0uwKkrU=", + "_parent": { + "$ref": "AAAAAAFjzcH8SewDNHY=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcIZR+wOBQE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ConcreteHandler2", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFjzcJ40+xU22I=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "source": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "target": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFjzcIwDew4cYQ=", + "_parent": { + "$ref": "AAAAAAFjzcIZR+wOBQE=" + }, + "name": "handleRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFjzcI0Uew/MsU=", + "_parent": { + "$ref": "AAAAAAFjzcIwDew4cYQ=" + }, + "type": "void", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFjzcNUQOzigUs=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Client", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFjzcOAke1K8UI=", + "_parent": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcOAke1L9J4=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "reference": { + "$ref": "AAAAAAFjzcNUQOzigUs=" + }, + "navigable": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFjzcOAke1MJik=", + "_parent": { + "$ref": "AAAAAAFjzcOAke1K8UI=" + }, + "reference": { + "$ref": "AAAAAAFjzcElEuufyFg=" + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file From 375e01f3efc6f0dac7b39e609041a292eec7cec0 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Fri, 29 Jun 2018 22:49:12 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 12 +++++++ AbstractFactory/src/AbstractFactory.java | 4 ++- AbstractFactory/src/AbstractProductA.java | 3 +- AbstractFactory/src/AbstractProductB.java | 3 +- AbstractFactory/src/Client.java | 6 ++-- AbstractFactory/src/ConcreteFactory1.java | 9 +++-- AbstractFactory/src/ConcreteFactory2.java | 9 +++-- AbstractFactory/src/ProductA1.java | 3 +- AbstractFactory/src/ProductA2.java | 3 +- AbstractFactory/src/ProductB1.java | 3 +- AbstractFactory/src/ProductB2.java | 3 +- Adapter/src/Client.java | 6 ++-- Adapter/src/Duck.java | 3 +- Adapter/src/Turkey.java | 3 +- Adapter/src/TurkeyAdapter.java | 9 +++-- Adapter/src/WildTurkey.java | 6 ++-- Bridge/src/Client.java | 6 ++-- Bridge/src/ConcreteRemoteControl1.java | 15 +++++--- Bridge/src/ConcreteRemoteControl2.java | 15 +++++--- Bridge/src/RCA.java | 12 ++++--- Bridge/src/RemoteControl.java | 6 ++-- Bridge/src/Sony.java | 12 ++++--- Bridge/src/TV.java | 3 +- Builder/src/AbstractStringBuilder.java | 15 +++++--- Builder/src/Client.java | 6 ++-- Builder/src/StringBuilder.java | 9 +++-- ChainOfResponsibility/src/Client.java | 6 ++-- .../src/ConcreteHandler1.java | 9 +++-- .../src/ConcreteHandler2.java | 9 +++-- ChainOfResponsibility/src/Handler.java | 6 ++-- ChainOfResponsibility/src/Request.java | 12 ++++--- ChainOfResponsibility/src/RequestType.java | 3 +- Command/src/Client.java | 6 ++-- Command/src/Command.java | 3 +- Command/src/Invoker.java | 18 ++++++---- Command/src/Light.java | 9 +++-- Command/src/LightOffCommand.java | 9 +++-- Command/src/LightOnCommand.java | 9 +++-- Composite/src/Client.java | 6 ++-- Composite/src/Component.java | 9 +++-- Composite/src/Composite.java | 15 +++++--- Composite/src/Leaf.java | 15 +++++--- Decorator/src/Beverage.java | 3 +- Decorator/src/Client.java | 6 ++-- Decorator/src/CondimentDecorator.java | 3 +- Decorator/src/DarkRoast.java | 6 ++-- Decorator/src/HouseBlend.java | 6 ++-- Decorator/src/Milk.java | 9 +++-- Decorator/src/Mocha.java | 9 +++-- Facade/src/Client.java | 6 ++-- Facade/src/Facade.java | 6 ++-- Facade/src/SubSystem.java | 12 ++++--- FactoryMethod/src/ConcreteFactory.java | 6 ++-- FactoryMethod/src/ConcreteFactory1.java | 6 ++-- FactoryMethod/src/ConcreteFactory2.java | 6 ++-- FactoryMethod/src/ConcreteProduct.java | 3 +- FactoryMethod/src/ConcreteProduct1.java | 3 +- FactoryMethod/src/ConcreteProduct2.java | 3 +- FactoryMethod/src/Factory.java | 7 ++-- FactoryMethod/src/Product.java | 3 +- Flyweight/src/Client.java | 6 ++-- Flyweight/src/ConcreteFlyweight.java | 9 +++-- Flyweight/src/Flyweight.java | 3 +- Flyweight/src/FlyweightFactory.java | 6 ++-- Interpreter/src/AndExpression.java | 9 +++-- Interpreter/src/Client.java | 9 +++-- Interpreter/src/Expression.java | 3 +- Interpreter/src/OrExpression.java | 9 +++-- Interpreter/src/TerminalExpression.java | 9 +++-- Iterator/src/Aggregate.java | 3 +- Iterator/src/Client.java | 6 ++-- Iterator/src/ConcreteAggregate.java | 9 +++-- Iterator/src/ConcreteIterator.java | 12 ++++--- Iterator/src/Iterator.java | 3 +- Mediator/src/Alarm.java | 9 +++-- Mediator/src/Calender.java | 9 +++-- Mediator/src/Client.java | 6 ++-- Mediator/src/CoffeePot.java | 9 +++-- Mediator/src/Colleague.java | 3 +- Mediator/src/ConcreteMediator.java | 21 +++++++---- Mediator/src/Mediator.java | 3 +- Mediator/src/Sprinkler.java | 9 +++-- Menento/src/Calculator.java | 3 +- Menento/src/CalculatorImp.java | 18 ++++++---- Menento/src/Client.java | 6 ++-- Menento/src/PreviousCalculationImp.java | 12 ++++--- .../src/PreviousCalculationToCareTaker.java | 7 ++-- .../src/PreviousCalculationToOriginator.java | 10 +++--- Null/src/AbstractOperation.java | 3 +- Null/src/Client.java | 9 +++-- Null/src/NullOperation.java | 6 ++-- Null/src/RealOperation.java | 6 ++-- Observer/src/CurrentConditionsDisplay.java | 9 +++-- Observer/src/Observer.java | 3 +- Observer/src/StatisticsDisplay.java | 9 +++-- Observer/src/Subject.java | 3 +- Observer/src/WeatherData.java | 18 ++++++---- Observer/src/WeatherStation.java | 6 ++-- Prototype/src/Client.java | 6 ++-- Prototype/src/ConcretePrototype.java | 12 ++++--- Prototype/src/Prototype.java | 3 +- Proxy/src/HighResolutionImage.java | 30 +++++++++------- Proxy/src/Image.java | 3 +- Proxy/src/ImageProxy.java | 9 +++-- Proxy/src/ImageViewer.java | 6 ++-- SimpleFactory/src/Client.java | 6 ++-- SimpleFactory/src/ConcreteProduct.java | 3 +- SimpleFactory/src/ConcreteProduct1.java | 3 +- SimpleFactory/src/ConcreteProduct2.java | 3 +- SimpleFactory/src/Product.java | 3 +- SimpleFactory/src/SimpleFactory.java | 6 ++-- Singleton/src/imp1/Singleton.java | 9 +++-- Singleton/src/imp2/Singleton.java | 9 +++-- Singleton/src/imp3/Singleton.java | 9 +++-- Singleton/src/imp4/Singleton.java | 9 +++-- Singleton/src/imp5/Singleton.java | 3 +- State/src/Client.java | 6 ++-- State/src/GumballMachine.java | 36 ++++++++++++------- State/src/HasQuarterState.java | 18 ++++++---- State/src/NoQuarterState.java | 18 ++++++---- State/src/SoldOutState.java | 18 ++++++---- State/src/SoldState.java | 18 ++++++---- State/src/State.java | 3 +- Strategy/src/Client.java | 6 ++-- Strategy/src/Duck.java | 9 +++-- Strategy/src/Quack.java | 6 ++-- Strategy/src/QuackBehavior.java | 3 +- Strategy/src/Squeak.java | 6 ++-- TemplateMethod/src/CaffeineBeverage.java | 12 ++++--- TemplateMethod/src/Client.java | 6 ++-- TemplateMethod/src/Coffee.java | 9 +++-- TemplateMethod/src/Tea.java | 9 +++-- Visitor/src/Client.java | 6 ++-- Visitor/src/Customer.java | 15 +++++--- Visitor/src/CustomerGroup.java | 9 +++-- Visitor/src/Element.java | 5 +-- Visitor/src/GeneralReport.java | 15 +++++--- Visitor/src/Item.java | 12 ++++--- Visitor/src/Order.java | 18 ++++++---- Visitor/src/Visitor.java | 3 +- 140 files changed, 749 insertions(+), 373 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5808138 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Intellij +.idea/* +*.iml +*.iws +out/* + +# Mac +.DS_Store + +# Maven +log/* +target/* \ No newline at end of file diff --git a/AbstractFactory/src/AbstractFactory.java b/AbstractFactory/src/AbstractFactory.java index 9f8b4c4..d7cd547 100644 --- a/AbstractFactory/src/AbstractFactory.java +++ b/AbstractFactory/src/AbstractFactory.java @@ -1,4 +1,6 @@ -public abstract class AbstractFactory { +public abstract class AbstractFactory +{ abstract AbstractProductA createProductA(); + abstract AbstractProductB createProductB(); } diff --git a/AbstractFactory/src/AbstractProductA.java b/AbstractFactory/src/AbstractProductA.java index 853e3bd..92df1d3 100644 --- a/AbstractFactory/src/AbstractProductA.java +++ b/AbstractFactory/src/AbstractProductA.java @@ -1,2 +1,3 @@ -public class AbstractProductA { +public class AbstractProductA +{ } diff --git a/AbstractFactory/src/AbstractProductB.java b/AbstractFactory/src/AbstractProductB.java index 4e235c9..1306dac 100644 --- a/AbstractFactory/src/AbstractProductB.java +++ b/AbstractFactory/src/AbstractProductB.java @@ -1,2 +1,3 @@ -public class AbstractProductB { +public class AbstractProductB +{ } diff --git a/AbstractFactory/src/Client.java b/AbstractFactory/src/Client.java index 6f6bae0..7a3c356 100644 --- a/AbstractFactory/src/Client.java +++ b/AbstractFactory/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { AbstractFactory abstractFactory = new ConcreteFactory1(); AbstractProductA productA = abstractFactory.createProductA(); AbstractProductB productB = abstractFactory.createProductB(); diff --git a/AbstractFactory/src/ConcreteFactory1.java b/AbstractFactory/src/ConcreteFactory1.java index 8e3edd5..68db394 100644 --- a/AbstractFactory/src/ConcreteFactory1.java +++ b/AbstractFactory/src/ConcreteFactory1.java @@ -1,9 +1,12 @@ -public class ConcreteFactory1 extends AbstractFactory{ - AbstractProductA createProductA() { +public class ConcreteFactory1 extends AbstractFactory +{ + AbstractProductA createProductA() + { return new ProductA1(); } - AbstractProductB createProductB() { + AbstractProductB createProductB() + { return new ProductB1(); } } diff --git a/AbstractFactory/src/ConcreteFactory2.java b/AbstractFactory/src/ConcreteFactory2.java index d2924d9..da90bc1 100644 --- a/AbstractFactory/src/ConcreteFactory2.java +++ b/AbstractFactory/src/ConcreteFactory2.java @@ -1,9 +1,12 @@ -public class ConcreteFactory2 extends AbstractFactory { - AbstractProductA createProductA() { +public class ConcreteFactory2 extends AbstractFactory +{ + AbstractProductA createProductA() + { return new ProductA2(); } - AbstractProductB createProductB() { + AbstractProductB createProductB() + { return new ProductB2(); } } diff --git a/AbstractFactory/src/ProductA1.java b/AbstractFactory/src/ProductA1.java index 70c0180..bf17dd7 100644 --- a/AbstractFactory/src/ProductA1.java +++ b/AbstractFactory/src/ProductA1.java @@ -1,2 +1,3 @@ -public class ProductA1 extends AbstractProductA { +public class ProductA1 extends AbstractProductA +{ } diff --git a/AbstractFactory/src/ProductA2.java b/AbstractFactory/src/ProductA2.java index 0d6895a..0509ad0 100644 --- a/AbstractFactory/src/ProductA2.java +++ b/AbstractFactory/src/ProductA2.java @@ -1,2 +1,3 @@ -public class ProductA2 extends AbstractProductA { +public class ProductA2 extends AbstractProductA +{ } diff --git a/AbstractFactory/src/ProductB1.java b/AbstractFactory/src/ProductB1.java index b59382a..a9f3bdd 100644 --- a/AbstractFactory/src/ProductB1.java +++ b/AbstractFactory/src/ProductB1.java @@ -1,2 +1,3 @@ -public class ProductB1 extends AbstractProductB{ +public class ProductB1 extends AbstractProductB +{ } diff --git a/AbstractFactory/src/ProductB2.java b/AbstractFactory/src/ProductB2.java index d321663..990457c 100644 --- a/AbstractFactory/src/ProductB2.java +++ b/AbstractFactory/src/ProductB2.java @@ -1,2 +1,3 @@ -public class ProductB2 extends AbstractProductB{ +public class ProductB2 extends AbstractProductB +{ } diff --git a/Adapter/src/Client.java b/Adapter/src/Client.java index 49a9556..abdaa3a 100644 --- a/Adapter/src/Client.java +++ b/Adapter/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Turkey turkey = new WildTurkey(); Duck duck = new TurkeyAdapter(turkey); duck.quack(); diff --git a/Adapter/src/Duck.java b/Adapter/src/Duck.java index daedc91..3c5f842 100644 --- a/Adapter/src/Duck.java +++ b/Adapter/src/Duck.java @@ -1,3 +1,4 @@ -public interface Duck { +public interface Duck +{ void quack(); } \ No newline at end of file diff --git a/Adapter/src/Turkey.java b/Adapter/src/Turkey.java index 31d7eea..0b6e8de 100644 --- a/Adapter/src/Turkey.java +++ b/Adapter/src/Turkey.java @@ -1,3 +1,4 @@ -public interface Turkey { +public interface Turkey +{ void gobble(); } \ No newline at end of file diff --git a/Adapter/src/TurkeyAdapter.java b/Adapter/src/TurkeyAdapter.java index 2a92826..3ef3bb9 100644 --- a/Adapter/src/TurkeyAdapter.java +++ b/Adapter/src/TurkeyAdapter.java @@ -1,12 +1,15 @@ -public class TurkeyAdapter implements Duck { +public class TurkeyAdapter implements Duck +{ Turkey turkey; - public TurkeyAdapter(Turkey turkey) { + public TurkeyAdapter(Turkey turkey) + { this.turkey = turkey; } @Override - public void quack() { + public void quack() + { turkey.gobble(); } } \ No newline at end of file diff --git a/Adapter/src/WildTurkey.java b/Adapter/src/WildTurkey.java index 3f6db9e..0348b5a 100644 --- a/Adapter/src/WildTurkey.java +++ b/Adapter/src/WildTurkey.java @@ -1,6 +1,8 @@ -public class WildTurkey implements Turkey { +public class WildTurkey implements Turkey +{ @Override - public void gobble() { + public void gobble() + { System.out.println("gobble!"); } } \ No newline at end of file diff --git a/Bridge/src/Client.java b/Bridge/src/Client.java index ccac8a3..53c0481 100644 --- a/Bridge/src/Client.java +++ b/Bridge/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { RemoteControl remoteControl1 = new ConcreteRemoteControl1(new RCA()); remoteControl1.on(); remoteControl1.off(); diff --git a/Bridge/src/ConcreteRemoteControl1.java b/Bridge/src/ConcreteRemoteControl1.java index 72d2b70..f939d3a 100644 --- a/Bridge/src/ConcreteRemoteControl1.java +++ b/Bridge/src/ConcreteRemoteControl1.java @@ -1,22 +1,27 @@ -public class ConcreteRemoteControl1 extends RemoteControl { - public ConcreteRemoteControl1(TV tv) { +public class ConcreteRemoteControl1 extends RemoteControl +{ + public ConcreteRemoteControl1(TV tv) + { super(tv); } @Override - public void on() { + public void on() + { System.out.println("ConcreteRemoteControl1.on()"); tv.on(); } @Override - public void off() { + public void off() + { System.out.println("ConcreteRemoteControl1.off()"); tv.off(); } @Override - public void tuneChannel() { + public void tuneChannel() + { System.out.println("ConcreteRemoteControl1.tuneChannel()"); tv.tuneChannel(); } diff --git a/Bridge/src/ConcreteRemoteControl2.java b/Bridge/src/ConcreteRemoteControl2.java index 4ee8103..2d9b8bd 100644 --- a/Bridge/src/ConcreteRemoteControl2.java +++ b/Bridge/src/ConcreteRemoteControl2.java @@ -1,22 +1,27 @@ -public class ConcreteRemoteControl2 extends RemoteControl { - public ConcreteRemoteControl2(TV tv) { +public class ConcreteRemoteControl2 extends RemoteControl +{ + public ConcreteRemoteControl2(TV tv) + { super(tv); } @Override - public void on() { + public void on() + { System.out.println("ConcreteRemoteControl2.on()"); tv.on(); } @Override - public void off() { + public void off() + { System.out.println("ConcreteRemoteControl2.off()"); tv.off(); } @Override - public void tuneChannel() { + public void tuneChannel() + { System.out.println("ConcreteRemoteControl2.tuneChannel()"); tv.tuneChannel(); } diff --git a/Bridge/src/RCA.java b/Bridge/src/RCA.java index 7f65b73..77e217b 100644 --- a/Bridge/src/RCA.java +++ b/Bridge/src/RCA.java @@ -1,16 +1,20 @@ -public class RCA extends TV{ +public class RCA extends TV +{ @Override - public void on() { + public void on() + { System.out.println("RCA.on()"); } @Override - public void off() { + public void off() + { System.out.println("RCA.off()"); } @Override - public void tuneChannel() { + public void tuneChannel() + { System.out.println("RCA.tuneChannel()"); } } diff --git a/Bridge/src/RemoteControl.java b/Bridge/src/RemoteControl.java index 97c80bd..8974df2 100644 --- a/Bridge/src/RemoteControl.java +++ b/Bridge/src/RemoteControl.java @@ -1,7 +1,9 @@ -public abstract class RemoteControl { +public abstract class RemoteControl +{ protected TV tv; - public RemoteControl(TV tv) { + public RemoteControl(TV tv) + { this.tv = tv; } diff --git a/Bridge/src/Sony.java b/Bridge/src/Sony.java index 81bd673..70ca8ce 100644 --- a/Bridge/src/Sony.java +++ b/Bridge/src/Sony.java @@ -1,16 +1,20 @@ -public class Sony extends TV{ +public class Sony extends TV +{ @Override - public void on() { + public void on() + { System.out.println("Sony.on()"); } @Override - public void off() { + public void off() + { System.out.println("Sony.off()"); } @Override - public void tuneChannel() { + public void tuneChannel() + { System.out.println("Sony.tuneChannel()"); } } diff --git a/Bridge/src/TV.java b/Bridge/src/TV.java index 47ee166..da22830 100644 --- a/Bridge/src/TV.java +++ b/Bridge/src/TV.java @@ -1,4 +1,5 @@ -public abstract class TV { +public abstract class TV +{ public abstract void on(); public abstract void off(); diff --git a/Builder/src/AbstractStringBuilder.java b/Builder/src/AbstractStringBuilder.java index 230c78f..543ce6f 100644 --- a/Builder/src/AbstractStringBuilder.java +++ b/Builder/src/AbstractStringBuilder.java @@ -1,28 +1,33 @@ import java.util.Arrays; -public class AbstractStringBuilder { +public class AbstractStringBuilder +{ protected char[] value; protected int count; - public AbstractStringBuilder(int capacity) { + public AbstractStringBuilder(int capacity) + { count = 0; value = new char[capacity]; } - public AbstractStringBuilder append(char c) { + public AbstractStringBuilder append(char c) + { ensureCapacityInternal(count + 1); value[count++] = c; return this; } - private void ensureCapacityInternal(int minimumCapacity) { + private void ensureCapacityInternal(int minimumCapacity) + { // overflow-conscious code if (minimumCapacity - value.length > 0) expandCapacity(minimumCapacity); } - void expandCapacity(int minimumCapacity) { + void expandCapacity(int minimumCapacity) + { int newCapacity = value.length * 2 + 2; if (newCapacity - minimumCapacity < 0) newCapacity = minimumCapacity; diff --git a/Builder/src/Client.java b/Builder/src/Client.java index e58e26b..5878731 100644 --- a/Builder/src/Client.java +++ b/Builder/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { StringBuilder sb = new StringBuilder(); final int count = 26; for (int i = 0; i < count; i++) { diff --git a/Builder/src/StringBuilder.java b/Builder/src/StringBuilder.java index 2cae4ed..d44c53a 100644 --- a/Builder/src/StringBuilder.java +++ b/Builder/src/StringBuilder.java @@ -1,10 +1,13 @@ -public class StringBuilder extends AbstractStringBuilder { - public StringBuilder() { +public class StringBuilder extends AbstractStringBuilder +{ + public StringBuilder() + { super(16); } @Override - public String toString() { + public String toString() + { // Create a copy, don't share the array return new String(value, 0, count); } diff --git a/ChainOfResponsibility/src/Client.java b/ChainOfResponsibility/src/Client.java index 6d13e71..b2cf22a 100644 --- a/ChainOfResponsibility/src/Client.java +++ b/ChainOfResponsibility/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Handler handler1 = new ConcreteHandler1(null); Handler handler2 = new ConcreteHandler2(handler1); Request request1 = new Request(RequestType.type1, "request1"); diff --git a/ChainOfResponsibility/src/ConcreteHandler1.java b/ChainOfResponsibility/src/ConcreteHandler1.java index e56acb6..5c9c903 100644 --- a/ChainOfResponsibility/src/ConcreteHandler1.java +++ b/ChainOfResponsibility/src/ConcreteHandler1.java @@ -1,10 +1,13 @@ -public class ConcreteHandler1 extends Handler { - public ConcreteHandler1(Handler successor) { +public class ConcreteHandler1 extends Handler +{ + public ConcreteHandler1(Handler successor) + { super(successor); } @Override - protected void handleRequest(Request request) { + protected void handleRequest(Request request) + { if (request.getType() == RequestType.type1) { System.out.println(request.getName() + " is handle by ConcreteHandler1"); return; diff --git a/ChainOfResponsibility/src/ConcreteHandler2.java b/ChainOfResponsibility/src/ConcreteHandler2.java index a4ac8fa..a28ce17 100644 --- a/ChainOfResponsibility/src/ConcreteHandler2.java +++ b/ChainOfResponsibility/src/ConcreteHandler2.java @@ -1,10 +1,13 @@ -public class ConcreteHandler2 extends Handler{ - public ConcreteHandler2(Handler successor) { +public class ConcreteHandler2 extends Handler +{ + public ConcreteHandler2(Handler successor) + { super(successor); } @Override - protected void handleRequest(Request request) { + protected void handleRequest(Request request) + { if (request.getType() == RequestType.type2) { System.out.println(request.getName() + " is handle by ConcreteHandler2"); return; diff --git a/ChainOfResponsibility/src/Handler.java b/ChainOfResponsibility/src/Handler.java index 025d5ee..5dd4649 100644 --- a/ChainOfResponsibility/src/Handler.java +++ b/ChainOfResponsibility/src/Handler.java @@ -1,7 +1,9 @@ -public abstract class Handler { +public abstract class Handler +{ protected Handler successor; - public Handler(Handler successor) { + public Handler(Handler successor) + { this.successor = successor; } diff --git a/ChainOfResponsibility/src/Request.java b/ChainOfResponsibility/src/Request.java index 1270aec..51e9743 100644 --- a/ChainOfResponsibility/src/Request.java +++ b/ChainOfResponsibility/src/Request.java @@ -1,17 +1,21 @@ -public class Request { +public class Request +{ private RequestType type; private String name; - public Request(RequestType type, String name) { + public Request(RequestType type, String name) + { this.type = type; this.name = name; } - public RequestType getType() { + public RequestType getType() + { return type; } - public String getName() { + public String getName() + { return name; } } diff --git a/ChainOfResponsibility/src/RequestType.java b/ChainOfResponsibility/src/RequestType.java index 35aa237..869f632 100644 --- a/ChainOfResponsibility/src/RequestType.java +++ b/ChainOfResponsibility/src/RequestType.java @@ -1,3 +1,4 @@ -public enum RequestType { +public enum RequestType +{ type1, type2 } diff --git a/Command/src/Client.java b/Command/src/Client.java index 9df941c..ce86083 100644 --- a/Command/src/Client.java +++ b/Command/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Invoker invoker = new Invoker(); Light light = new Light(); Command lightOnCommand = new LightOnCommand(light); diff --git a/Command/src/Command.java b/Command/src/Command.java index f8adbda..3893ede 100644 --- a/Command/src/Command.java +++ b/Command/src/Command.java @@ -1,3 +1,4 @@ -public interface Command { +public interface Command +{ void execute(); } \ No newline at end of file diff --git a/Command/src/Invoker.java b/Command/src/Invoker.java index 2ac2016..aa3e0b1 100644 --- a/Command/src/Invoker.java +++ b/Command/src/Invoker.java @@ -1,29 +1,35 @@ /** * 遥控器 */ -public class Invoker { +public class Invoker +{ private Command[] onCommands; private Command[] offCommands; - public Invoker() { + public Invoker() + { int slotNum = 7; this.onCommands = new Command[slotNum]; this.offCommands = new Command[slotNum]; } - public void setOnCommand(Command command, int slot) { + public void setOnCommand(Command command, int slot) + { onCommands[slot] = command; } - public void setOffCommand(Command command, int slot) { + public void setOffCommand(Command command, int slot) + { offCommands[slot] = command; } - public void onButtonWasPushed(int slot) { + public void onButtonWasPushed(int slot) + { onCommands[slot].execute(); } - public void offButtonWasPushed(int slot) { + public void offButtonWasPushed(int slot) + { offCommands[slot].execute(); } } \ No newline at end of file diff --git a/Command/src/Light.java b/Command/src/Light.java index fd6e0f5..e7a36c1 100644 --- a/Command/src/Light.java +++ b/Command/src/Light.java @@ -1,10 +1,13 @@ -public class Light { +public class Light +{ - public void on() { + public void on() + { System.out.println("Light is on!"); } - public void off() { + public void off() + { System.out.println("Light is off!"); } } \ No newline at end of file diff --git a/Command/src/LightOffCommand.java b/Command/src/LightOffCommand.java index daa8d96..001e493 100644 --- a/Command/src/LightOffCommand.java +++ b/Command/src/LightOffCommand.java @@ -1,12 +1,15 @@ -public class LightOffCommand implements Command { +public class LightOffCommand implements Command +{ Light light; - public LightOffCommand(Light light) { + public LightOffCommand(Light light) + { this.light = light; } @Override - public void execute() { + public void execute() + { light.off(); } } diff --git a/Command/src/LightOnCommand.java b/Command/src/LightOnCommand.java index d953c23..47b65e1 100644 --- a/Command/src/LightOnCommand.java +++ b/Command/src/LightOnCommand.java @@ -1,12 +1,15 @@ -public class LightOnCommand implements Command { +public class LightOnCommand implements Command +{ Light light; - public LightOnCommand(Light light) { + public LightOnCommand(Light light) + { this.light = light; } @Override - public void execute() { + public void execute() + { light.on(); } } \ No newline at end of file diff --git a/Composite/src/Client.java b/Composite/src/Client.java index 1be779c..75df87f 100644 --- a/Composite/src/Client.java +++ b/Composite/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Composite root = new Composite("root"); Component node1 = new Leaf("1"); Component node2 = new Composite("2"); diff --git a/Composite/src/Component.java b/Composite/src/Component.java index 15bf838..9a8e6df 100644 --- a/Composite/src/Component.java +++ b/Composite/src/Component.java @@ -1,11 +1,14 @@ -public abstract class Component { +public abstract class Component +{ protected String name; - public Component(String name) { + public Component(String name) + { this.name = name; } - public void print() { + public void print() + { print(0); } diff --git a/Composite/src/Composite.java b/Composite/src/Composite.java index 256f2e7..35a1b46 100644 --- a/Composite/src/Composite.java +++ b/Composite/src/Composite.java @@ -1,17 +1,20 @@ import java.util.ArrayList; import java.util.List; -public class Composite extends Component { +public class Composite extends Component +{ private List child; - public Composite(String name) { + public Composite(String name) + { super(name); child = new ArrayList<>(); } @Override - void print(int level) { + void print(int level) + { for (int i = 0; i < level; i++) { System.out.print("--"); } @@ -22,12 +25,14 @@ void print(int level) { } @Override - public void add(Component component) { + public void add(Component component) + { child.add(component); } @Override - public void remove(Component component) { + public void remove(Component component) + { child.remove(component); } } diff --git a/Composite/src/Leaf.java b/Composite/src/Leaf.java index b08336e..fb0bae4 100644 --- a/Composite/src/Leaf.java +++ b/Composite/src/Leaf.java @@ -1,10 +1,13 @@ -public class Leaf extends Component { - public Leaf(String name) { +public class Leaf extends Component +{ + public Leaf(String name) + { super(name); } @Override - void print(int level) { + void print(int level) + { for (int i = 0; i < level; i++) { System.out.print("--"); } @@ -13,12 +16,14 @@ void print(int level) { @Override - public void add(Component component) { + public void add(Component component) + { throw new UnsupportedOperationException(); // 牺牲透明性换取单一职责原则,这样就不用考虑是叶子节点还是组合节点 } @Override - public void remove(Component component) { + public void remove(Component component) + { throw new UnsupportedOperationException(); } } diff --git a/Decorator/src/Beverage.java b/Decorator/src/Beverage.java index dffc023..c050c7a 100644 --- a/Decorator/src/Beverage.java +++ b/Decorator/src/Beverage.java @@ -1,3 +1,4 @@ -public interface Beverage { +public interface Beverage +{ double cost(); } \ No newline at end of file diff --git a/Decorator/src/Client.java b/Decorator/src/Client.java index ac6188d..b6dd2d6 100644 --- a/Decorator/src/Client.java +++ b/Decorator/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Beverage beverage = new HouseBlend(); beverage = new Mocha(beverage); beverage = new Milk(beverage); diff --git a/Decorator/src/CondimentDecorator.java b/Decorator/src/CondimentDecorator.java index 6974d87..09f9ca4 100644 --- a/Decorator/src/CondimentDecorator.java +++ b/Decorator/src/CondimentDecorator.java @@ -1,3 +1,4 @@ -public abstract class CondimentDecorator implements Beverage { +public abstract class CondimentDecorator implements Beverage +{ protected Beverage beverage; } \ No newline at end of file diff --git a/Decorator/src/DarkRoast.java b/Decorator/src/DarkRoast.java index 17b620c..7be7e0b 100644 --- a/Decorator/src/DarkRoast.java +++ b/Decorator/src/DarkRoast.java @@ -1,6 +1,8 @@ -public class DarkRoast implements Beverage{ +public class DarkRoast implements Beverage +{ @Override - public double cost() { + public double cost() + { return 1; } } \ No newline at end of file diff --git a/Decorator/src/HouseBlend.java b/Decorator/src/HouseBlend.java index 5844c05..c6284aa 100644 --- a/Decorator/src/HouseBlend.java +++ b/Decorator/src/HouseBlend.java @@ -1,6 +1,8 @@ -public class HouseBlend implements Beverage { +public class HouseBlend implements Beverage +{ @Override - public double cost() { + public double cost() + { return 1; } } \ No newline at end of file diff --git a/Decorator/src/Milk.java b/Decorator/src/Milk.java index e2585c4..c4d1153 100644 --- a/Decorator/src/Milk.java +++ b/Decorator/src/Milk.java @@ -1,11 +1,14 @@ -public class Milk extends CondimentDecorator { +public class Milk extends CondimentDecorator +{ - public Milk(Beverage beverage) { + public Milk(Beverage beverage) + { this.beverage = beverage; } @Override - public double cost() { + public double cost() + { return 1 + beverage.cost(); } } \ No newline at end of file diff --git a/Decorator/src/Mocha.java b/Decorator/src/Mocha.java index ba30e25..b56f5a8 100644 --- a/Decorator/src/Mocha.java +++ b/Decorator/src/Mocha.java @@ -1,11 +1,14 @@ -public class Mocha extends CondimentDecorator { +public class Mocha extends CondimentDecorator +{ - public Mocha(Beverage beverage) { + public Mocha(Beverage beverage) + { this.beverage = beverage; } @Override - public double cost() { + public double cost() + { return 1 + beverage.cost(); } } \ No newline at end of file diff --git a/Facade/src/Client.java b/Facade/src/Client.java index aeaf5a9..e02d99c 100644 --- a/Facade/src/Client.java +++ b/Facade/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Facade facade = new Facade(); facade.watchMovie(); } diff --git a/Facade/src/Facade.java b/Facade/src/Facade.java index f5d7e12..7aaea54 100644 --- a/Facade/src/Facade.java +++ b/Facade/src/Facade.java @@ -1,8 +1,10 @@ -public class Facade { +public class Facade +{ private SubSystem subSystem = new SubSystem(); - public void watchMovie() { + public void watchMovie() + { subSystem.turnOnTV(); subSystem.setCD("a movie"); subSystem.starWatching(); diff --git a/Facade/src/SubSystem.java b/Facade/src/SubSystem.java index eb900c1..f4ac752 100644 --- a/Facade/src/SubSystem.java +++ b/Facade/src/SubSystem.java @@ -1,13 +1,17 @@ -public class SubSystem { - public void turnOnTV() { +public class SubSystem +{ + public void turnOnTV() + { System.out.println("turnOnTV()"); } - public void setCD(String cd) { + public void setCD(String cd) + { System.out.println("setCD( " + cd + " )"); } - public void starWatching(){ + public void starWatching() + { System.out.println("starWatching()"); } } diff --git a/FactoryMethod/src/ConcreteFactory.java b/FactoryMethod/src/ConcreteFactory.java index 60a613b..3819b50 100644 --- a/FactoryMethod/src/ConcreteFactory.java +++ b/FactoryMethod/src/ConcreteFactory.java @@ -1,5 +1,7 @@ -public class ConcreteFactory extends Factory { - public Product factoryMethod() { +public class ConcreteFactory extends Factory +{ + public Product factoryMethod() + { return new ConcreteProduct(); } } diff --git a/FactoryMethod/src/ConcreteFactory1.java b/FactoryMethod/src/ConcreteFactory1.java index c21e687..debcfee 100644 --- a/FactoryMethod/src/ConcreteFactory1.java +++ b/FactoryMethod/src/ConcreteFactory1.java @@ -1,5 +1,7 @@ -public class ConcreteFactory1 extends Factory{ - public Product factoryMethod() { +public class ConcreteFactory1 extends Factory +{ + public Product factoryMethod() + { return new ConcreteProduct1(); } } diff --git a/FactoryMethod/src/ConcreteFactory2.java b/FactoryMethod/src/ConcreteFactory2.java index 06c0590..473467c 100644 --- a/FactoryMethod/src/ConcreteFactory2.java +++ b/FactoryMethod/src/ConcreteFactory2.java @@ -1,5 +1,7 @@ -public class ConcreteFactory2 extends Factory { - public Product factoryMethod() { +public class ConcreteFactory2 extends Factory +{ + public Product factoryMethod() + { return new ConcreteProduct2(); } } diff --git a/FactoryMethod/src/ConcreteProduct.java b/FactoryMethod/src/ConcreteProduct.java index aa9f661..4c1d03b 100644 --- a/FactoryMethod/src/ConcreteProduct.java +++ b/FactoryMethod/src/ConcreteProduct.java @@ -1,2 +1,3 @@ -public class ConcreteProduct implements Product{ +public class ConcreteProduct implements Product +{ } diff --git a/FactoryMethod/src/ConcreteProduct1.java b/FactoryMethod/src/ConcreteProduct1.java index a1b23c2..8683a80 100644 --- a/FactoryMethod/src/ConcreteProduct1.java +++ b/FactoryMethod/src/ConcreteProduct1.java @@ -1,2 +1,3 @@ -public class ConcreteProduct1 implements Product{ +public class ConcreteProduct1 implements Product +{ } diff --git a/FactoryMethod/src/ConcreteProduct2.java b/FactoryMethod/src/ConcreteProduct2.java index d5f2b1d..dc2c3aa 100644 --- a/FactoryMethod/src/ConcreteProduct2.java +++ b/FactoryMethod/src/ConcreteProduct2.java @@ -1,2 +1,3 @@ -public class ConcreteProduct2 implements Product{ +public class ConcreteProduct2 implements Product +{ } diff --git a/FactoryMethod/src/Factory.java b/FactoryMethod/src/Factory.java index 37f92df..c30b566 100644 --- a/FactoryMethod/src/Factory.java +++ b/FactoryMethod/src/Factory.java @@ -1,6 +1,9 @@ -public abstract class Factory { +public abstract class Factory +{ abstract public Product factoryMethod(); - public void doSomething() { + + public void doSomething() + { Product product = factoryMethod(); // do something with the product } diff --git a/FactoryMethod/src/Product.java b/FactoryMethod/src/Product.java index 1237950..8ec1a6b 100644 --- a/FactoryMethod/src/Product.java +++ b/FactoryMethod/src/Product.java @@ -1,2 +1,3 @@ -public interface Product { +public interface Product +{ } diff --git a/Flyweight/src/Client.java b/Flyweight/src/Client.java index 8c9fa5e..757b723 100644 --- a/Flyweight/src/Client.java +++ b/Flyweight/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { FlyweightFactory factory = new FlyweightFactory(); Flyweight flyweight1 = factory.getFlyweight("aa"); Flyweight flyweight2 = factory.getFlyweight("aa"); diff --git a/Flyweight/src/ConcreteFlyweight.java b/Flyweight/src/ConcreteFlyweight.java index 9bbeb72..d98b305 100644 --- a/Flyweight/src/ConcreteFlyweight.java +++ b/Flyweight/src/ConcreteFlyweight.java @@ -1,13 +1,16 @@ -public class ConcreteFlyweight implements Flyweight { +public class ConcreteFlyweight implements Flyweight +{ private String intrinsicState; - public ConcreteFlyweight(String intrinsicState) { + public ConcreteFlyweight(String intrinsicState) + { this.intrinsicState = intrinsicState; } @Override - public void doOperation(String extrinsicState) { + public void doOperation(String extrinsicState) + { System.out.println("Object address: " + System.identityHashCode(this)); System.out.println("IntrinsicState: " + intrinsicState); System.out.println("ExtrinsicState: " + extrinsicState); diff --git a/Flyweight/src/Flyweight.java b/Flyweight/src/Flyweight.java index 832a935..2aed495 100644 --- a/Flyweight/src/Flyweight.java +++ b/Flyweight/src/Flyweight.java @@ -1,3 +1,4 @@ -public interface Flyweight { +public interface Flyweight +{ void doOperation(String extrinsicState); } diff --git a/Flyweight/src/FlyweightFactory.java b/Flyweight/src/FlyweightFactory.java index f5608da..a2b2069 100644 --- a/Flyweight/src/FlyweightFactory.java +++ b/Flyweight/src/FlyweightFactory.java @@ -1,10 +1,12 @@ import java.util.HashMap; -public class FlyweightFactory { +public class FlyweightFactory +{ private HashMap flyweights = new HashMap<>(); - Flyweight getFlyweight(String intrinsicState) { + Flyweight getFlyweight(String intrinsicState) + { if (!flyweights.containsKey(intrinsicState)) { Flyweight flyweight = new ConcreteFlyweight(intrinsicState); flyweights.put(intrinsicState, flyweight); diff --git a/Interpreter/src/AndExpression.java b/Interpreter/src/AndExpression.java index 772b11a..31f87cf 100644 --- a/Interpreter/src/AndExpression.java +++ b/Interpreter/src/AndExpression.java @@ -1,14 +1,17 @@ -public class AndExpression extends Expression { +public class AndExpression extends Expression +{ private Expression expression1 = null; private Expression expression2 = null; - public AndExpression(Expression expression1, Expression expression2) { + public AndExpression(Expression expression1, Expression expression2) + { this.expression1 = expression1; this.expression2 = expression2; } - public boolean interpret(String str) { + public boolean interpret(String str) + { return expression1.interpret(str) && expression2.interpret(str); } } \ No newline at end of file diff --git a/Interpreter/src/Client.java b/Interpreter/src/Client.java index 38485e8..c7383c2 100644 --- a/Interpreter/src/Client.java +++ b/Interpreter/src/Client.java @@ -1,9 +1,11 @@ -public class Client { +public class Client +{ /** * 构建解析树 */ - public static Expression buildInterpreterTree() { + public static Expression buildInterpreterTree() + { // Literal Expression terminal1 = new TerminalExpression("A"); Expression terminal2 = new TerminalExpression("B"); @@ -17,7 +19,8 @@ public static Expression buildInterpreterTree() { return new AndExpression(terminal4, alternation2); } - public static void main(String[] args) { + public static void main(String[] args) + { Expression define = buildInterpreterTree(); String context1 = "D A"; String context2 = "A B"; diff --git a/Interpreter/src/Expression.java b/Interpreter/src/Expression.java index 285e8d4..c242b15 100644 --- a/Interpreter/src/Expression.java +++ b/Interpreter/src/Expression.java @@ -1,4 +1,5 @@ -public abstract class Expression { +public abstract class Expression +{ public abstract boolean interpret(String str); } diff --git a/Interpreter/src/OrExpression.java b/Interpreter/src/OrExpression.java index 2e1678a..e08f3df 100644 --- a/Interpreter/src/OrExpression.java +++ b/Interpreter/src/OrExpression.java @@ -1,13 +1,16 @@ -public class OrExpression extends Expression { +public class OrExpression extends Expression +{ private Expression expression1 = null; private Expression expression2 = null; - public OrExpression(Expression expression1, Expression expression2) { + public OrExpression(Expression expression1, Expression expression2) + { this.expression1 = expression1; this.expression2 = expression2; } - public boolean interpret(String str) { + public boolean interpret(String str) + { return expression1.interpret(str) || expression2.interpret(str); } } diff --git a/Interpreter/src/TerminalExpression.java b/Interpreter/src/TerminalExpression.java index 61682a6..0d30b62 100644 --- a/Interpreter/src/TerminalExpression.java +++ b/Interpreter/src/TerminalExpression.java @@ -1,14 +1,17 @@ import java.util.StringTokenizer; -public class TerminalExpression extends Expression { +public class TerminalExpression extends Expression +{ private String literal = null; - public TerminalExpression(String str) { + public TerminalExpression(String str) + { literal = str; } - public boolean interpret(String str) { + public boolean interpret(String str) + { StringTokenizer st = new StringTokenizer(str); while (st.hasMoreTokens()) { String test = st.nextToken(); diff --git a/Iterator/src/Aggregate.java b/Iterator/src/Aggregate.java index 19df019..a75d61f 100644 --- a/Iterator/src/Aggregate.java +++ b/Iterator/src/Aggregate.java @@ -1,3 +1,4 @@ -public interface Aggregate { +public interface Aggregate +{ Iterator createIterator(); } diff --git a/Iterator/src/Client.java b/Iterator/src/Client.java index 12a6781..f56254f 100644 --- a/Iterator/src/Client.java +++ b/Iterator/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Aggregate aggregate = new ConcreteAggregate(); Iterator iterator = aggregate.createIterator(); while (iterator.hasNext()) { diff --git a/Iterator/src/ConcreteAggregate.java b/Iterator/src/ConcreteAggregate.java index f73d9db..0ba8699 100644 --- a/Iterator/src/ConcreteAggregate.java +++ b/Iterator/src/ConcreteAggregate.java @@ -1,8 +1,10 @@ -public class ConcreteAggregate implements Aggregate { +public class ConcreteAggregate implements Aggregate +{ private Integer[] items; - public ConcreteAggregate() { + public ConcreteAggregate() + { items = new Integer[10]; for (int i = 0; i < items.length; i++) { items[i] = i; @@ -10,7 +12,8 @@ public ConcreteAggregate() { } @Override - public Iterator createIterator() { + public Iterator createIterator() + { return new ConcreteIterator(items); } } diff --git a/Iterator/src/ConcreteIterator.java b/Iterator/src/ConcreteIterator.java index a9e127a..a2e299e 100644 --- a/Iterator/src/ConcreteIterator.java +++ b/Iterator/src/ConcreteIterator.java @@ -1,19 +1,23 @@ -public class ConcreteIterator implements Iterator { +public class ConcreteIterator implements Iterator +{ private Item[] items; private int position = 0; - public ConcreteIterator(Item[] items) { + public ConcreteIterator(Item[] items) + { this.items = items; } @Override - public Object next() { + public Object next() + { return items[position++]; } @Override - public boolean hasNext() { + public boolean hasNext() + { return position < items.length; } } diff --git a/Iterator/src/Iterator.java b/Iterator/src/Iterator.java index b7634b1..94c5562 100644 --- a/Iterator/src/Iterator.java +++ b/Iterator/src/Iterator.java @@ -1,4 +1,5 @@ -public interface Iterator { +public interface Iterator +{ Item next(); boolean hasNext(); diff --git a/Mediator/src/Alarm.java b/Mediator/src/Alarm.java index 388a603..4500df8 100644 --- a/Mediator/src/Alarm.java +++ b/Mediator/src/Alarm.java @@ -1,11 +1,14 @@ -public class Alarm extends Colleague { +public class Alarm extends Colleague +{ @Override - public void onEvent(Mediator mediator) { + public void onEvent(Mediator mediator) + { mediator.doEvent("alarm"); } - public void doAlarm() { + public void doAlarm() + { System.out.println("doAlarm()"); } } diff --git a/Mediator/src/Calender.java b/Mediator/src/Calender.java index 579ca8a..e638784 100644 --- a/Mediator/src/Calender.java +++ b/Mediator/src/Calender.java @@ -1,10 +1,13 @@ -public class Calender extends Colleague { +public class Calender extends Colleague +{ @Override - public void onEvent(Mediator mediator) { + public void onEvent(Mediator mediator) + { mediator.doEvent("calender"); } - public void doCalender() { + public void doCalender() + { System.out.println("doCalender()"); } } diff --git a/Mediator/src/Client.java b/Mediator/src/Client.java index a734346..0c687e8 100644 --- a/Mediator/src/Client.java +++ b/Mediator/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Alarm alarm = new Alarm(); CoffeePot coffeePot = new CoffeePot(); Calender calender = new Calender(); diff --git a/Mediator/src/CoffeePot.java b/Mediator/src/CoffeePot.java index 6facf46..a056ed2 100644 --- a/Mediator/src/CoffeePot.java +++ b/Mediator/src/CoffeePot.java @@ -1,10 +1,13 @@ -public class CoffeePot extends Colleague { +public class CoffeePot extends Colleague +{ @Override - public void onEvent(Mediator mediator) { + public void onEvent(Mediator mediator) + { mediator.doEvent("coffeePot"); } - public void doCoffeePot() { + public void doCoffeePot() + { System.out.println("doCoffeePot()"); } } diff --git a/Mediator/src/Colleague.java b/Mediator/src/Colleague.java index 15aef81..284efd1 100644 --- a/Mediator/src/Colleague.java +++ b/Mediator/src/Colleague.java @@ -1,3 +1,4 @@ -public abstract class Colleague { +public abstract class Colleague +{ public abstract void onEvent(Mediator mediator); } diff --git a/Mediator/src/ConcreteMediator.java b/Mediator/src/ConcreteMediator.java index b170cf2..e8fc9f3 100644 --- a/Mediator/src/ConcreteMediator.java +++ b/Mediator/src/ConcreteMediator.java @@ -1,10 +1,12 @@ -public class ConcreteMediator extends Mediator { +public class ConcreteMediator extends Mediator +{ private Alarm alarm; private CoffeePot coffeePot; private Calender calender; private Sprinkler sprinkler; - public ConcreteMediator(Alarm alarm, CoffeePot coffeePot, Calender calender, Sprinkler sprinkler) { + public ConcreteMediator(Alarm alarm, CoffeePot coffeePot, Calender calender, Sprinkler sprinkler) + { this.alarm = alarm; this.coffeePot = coffeePot; this.calender = calender; @@ -12,7 +14,8 @@ public ConcreteMediator(Alarm alarm, CoffeePot coffeePot, Calender calender, Spr } @Override - public void doEvent(String eventType) { + public void doEvent(String eventType) + { switch (eventType) { case "alarm": doAlarmEvent(); @@ -28,22 +31,26 @@ public void doEvent(String eventType) { } } - public void doAlarmEvent() { + public void doAlarmEvent() + { alarm.doAlarm(); coffeePot.doCoffeePot(); calender.doCalender(); sprinkler.doSprinkler(); } - public void doCoffeePotEvent() { + public void doCoffeePotEvent() + { // ... } - public void doCalenderEvent() { + public void doCalenderEvent() + { // ... } - public void doSprinklerEvent() { + public void doSprinklerEvent() + { // ... } } diff --git a/Mediator/src/Mediator.java b/Mediator/src/Mediator.java index 0cb9ed4..fd52d36 100644 --- a/Mediator/src/Mediator.java +++ b/Mediator/src/Mediator.java @@ -1,3 +1,4 @@ -public abstract class Mediator { +public abstract class Mediator +{ public abstract void doEvent(String eventType); } diff --git a/Mediator/src/Sprinkler.java b/Mediator/src/Sprinkler.java index 77c3bc3..c6ed705 100644 --- a/Mediator/src/Sprinkler.java +++ b/Mediator/src/Sprinkler.java @@ -1,10 +1,13 @@ -public class Sprinkler extends Colleague { +public class Sprinkler extends Colleague +{ @Override - public void onEvent(Mediator mediator) { + public void onEvent(Mediator mediator) + { mediator.doEvent("sprinkler"); } - public void doSprinkler() { + public void doSprinkler() + { System.out.println("doSprinkler()"); } } diff --git a/Menento/src/Calculator.java b/Menento/src/Calculator.java index fec8737..4b06f4d 100644 --- a/Menento/src/Calculator.java +++ b/Menento/src/Calculator.java @@ -1,7 +1,8 @@ /** * Originator Interface */ -public interface Calculator { +public interface Calculator +{ // Create Memento PreviousCalculationToCareTaker backupLastCalculation(); diff --git a/Menento/src/CalculatorImp.java b/Menento/src/CalculatorImp.java index 8b6f37f..0e7ce8b 100644 --- a/Menento/src/CalculatorImp.java +++ b/Menento/src/CalculatorImp.java @@ -1,36 +1,42 @@ /** * Originator Implementation */ -public class CalculatorImp implements Calculator { +public class CalculatorImp implements Calculator +{ private int firstNumber; private int secondNumber; @Override - public PreviousCalculationToCareTaker backupLastCalculation() { + public PreviousCalculationToCareTaker backupLastCalculation() + { // create a memento object used for restoring two numbers return new PreviousCalculationImp(firstNumber, secondNumber); } @Override - public void restorePreviousCalculation(PreviousCalculationToCareTaker memento) { + public void restorePreviousCalculation(PreviousCalculationToCareTaker memento) + { this.firstNumber = ((PreviousCalculationToOriginator) memento).getFirstNumber(); this.secondNumber = ((PreviousCalculationToOriginator) memento).getSecondNumber(); } @Override - public int getCalculationResult() { + public int getCalculationResult() + { // result is adding two numbers return firstNumber + secondNumber; } @Override - public void setFirstNumber(int firstNumber) { + public void setFirstNumber(int firstNumber) + { this.firstNumber = firstNumber; } @Override - public void setSecondNumber(int secondNumber) { + public void setSecondNumber(int secondNumber) + { this.secondNumber = secondNumber; } } \ No newline at end of file diff --git a/Menento/src/Client.java b/Menento/src/Client.java index c5a0d2b..052535b 100644 --- a/Menento/src/Client.java +++ b/Menento/src/Client.java @@ -1,9 +1,11 @@ /** * CareTaker object */ -public class Client { +public class Client +{ - public static void main(String[] args) { + public static void main(String[] args) + { // program starts Calculator calculator = new CalculatorImp(); diff --git a/Menento/src/PreviousCalculationImp.java b/Menento/src/PreviousCalculationImp.java index 0654b80..e118772 100644 --- a/Menento/src/PreviousCalculationImp.java +++ b/Menento/src/PreviousCalculationImp.java @@ -4,23 +4,27 @@ * Note that this object implements both interfaces to Originator and CareTaker */ public class PreviousCalculationImp implements PreviousCalculationToCareTaker, - PreviousCalculationToOriginator { + PreviousCalculationToOriginator +{ private int firstNumber; private int secondNumber; - public PreviousCalculationImp(int firstNumber, int secondNumber) { + public PreviousCalculationImp(int firstNumber, int secondNumber) + { this.firstNumber = firstNumber; this.secondNumber = secondNumber; } @Override - public int getFirstNumber() { + public int getFirstNumber() + { return firstNumber; } @Override - public int getSecondNumber() { + public int getSecondNumber() + { return secondNumber; } } \ No newline at end of file diff --git a/Menento/src/PreviousCalculationToCareTaker.java b/Menento/src/PreviousCalculationToCareTaker.java index ce6167f..e14d4b7 100644 --- a/Menento/src/PreviousCalculationToCareTaker.java +++ b/Menento/src/PreviousCalculationToCareTaker.java @@ -1,6 +1,7 @@ /** - * Memento interface to CalculatorOperator (Caretaker) + * Memento interface to CalculatorOperator (Caretaker) */ -public interface PreviousCalculationToCareTaker { - // no operations permitted for the caretaker +public interface PreviousCalculationToCareTaker +{ + // no operations permitted for the caretaker } \ No newline at end of file diff --git a/Menento/src/PreviousCalculationToOriginator.java b/Menento/src/PreviousCalculationToOriginator.java index 111f154..83e63b2 100644 --- a/Menento/src/PreviousCalculationToOriginator.java +++ b/Menento/src/PreviousCalculationToOriginator.java @@ -1,9 +1,11 @@ /** * Memento Interface to Originator - * + *

* This interface allows the originator to restore its state */ -public interface PreviousCalculationToOriginator { - int getFirstNumber(); - int getSecondNumber(); +public interface PreviousCalculationToOriginator +{ + int getFirstNumber(); + + int getSecondNumber(); } \ No newline at end of file diff --git a/Null/src/AbstractOperation.java b/Null/src/AbstractOperation.java index d20b7c1..6231bfc 100644 --- a/Null/src/AbstractOperation.java +++ b/Null/src/AbstractOperation.java @@ -1,3 +1,4 @@ -public abstract class AbstractOperation { +public abstract class AbstractOperation +{ abstract void request(); } diff --git a/Null/src/Client.java b/Null/src/Client.java index 5f45f5c..265564a 100644 --- a/Null/src/Client.java +++ b/Null/src/Client.java @@ -1,10 +1,13 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { AbstractOperation abstractOperation = func(-1); abstractOperation.request(); } - public static AbstractOperation func(int para) { + public static AbstractOperation func(int para) + { if (para < 0) { return new NullOperation(); } diff --git a/Null/src/NullOperation.java b/Null/src/NullOperation.java index cad980c..b093f6a 100644 --- a/Null/src/NullOperation.java +++ b/Null/src/NullOperation.java @@ -1,6 +1,8 @@ -public class NullOperation extends AbstractOperation{ +public class NullOperation extends AbstractOperation +{ @Override - void request() { + void request() + { // do nothing } } diff --git a/Null/src/RealOperation.java b/Null/src/RealOperation.java index f72bb05..6c0d2a0 100644 --- a/Null/src/RealOperation.java +++ b/Null/src/RealOperation.java @@ -1,6 +1,8 @@ -public class RealOperation extends AbstractOperation { +public class RealOperation extends AbstractOperation +{ @Override - void request() { + void request() + { System.out.println("do something"); } } diff --git a/Observer/src/CurrentConditionsDisplay.java b/Observer/src/CurrentConditionsDisplay.java index 5dccb73..dd13dc1 100644 --- a/Observer/src/CurrentConditionsDisplay.java +++ b/Observer/src/CurrentConditionsDisplay.java @@ -1,11 +1,14 @@ -public class CurrentConditionsDisplay implements Observer { +public class CurrentConditionsDisplay implements Observer +{ - public CurrentConditionsDisplay(Subject weatherData) { + public CurrentConditionsDisplay(Subject weatherData) + { weatherData.resisterObserver(this); } @Override - public void update(float temp, float humidity, float pressure) { + public void update(float temp, float humidity, float pressure) + { System.out.println("CurrentConditionsDisplay.update: " + temp + " " + humidity + " " + pressure); } } \ No newline at end of file diff --git a/Observer/src/Observer.java b/Observer/src/Observer.java index a487048..120cebe 100644 --- a/Observer/src/Observer.java +++ b/Observer/src/Observer.java @@ -1,3 +1,4 @@ -public interface Observer { +public interface Observer +{ void update(float temp, float humidity, float pressure); } \ No newline at end of file diff --git a/Observer/src/StatisticsDisplay.java b/Observer/src/StatisticsDisplay.java index 7c4181c..a870c95 100644 --- a/Observer/src/StatisticsDisplay.java +++ b/Observer/src/StatisticsDisplay.java @@ -1,11 +1,14 @@ -public class StatisticsDisplay implements Observer { +public class StatisticsDisplay implements Observer +{ - public StatisticsDisplay(Subject weatherData) { + public StatisticsDisplay(Subject weatherData) + { weatherData.resisterObserver(this); } @Override - public void update(float temp, float humidity, float pressure) { + public void update(float temp, float humidity, float pressure) + { System.out.println("StatisticsDisplay.update: " + temp + " " + humidity + " " + pressure); } } \ No newline at end of file diff --git a/Observer/src/Subject.java b/Observer/src/Subject.java index 2a56f9f..c29d447 100644 --- a/Observer/src/Subject.java +++ b/Observer/src/Subject.java @@ -1,4 +1,5 @@ -public interface Subject { +public interface Subject +{ void resisterObserver(Observer o); void removeObserver(Observer o); diff --git a/Observer/src/WeatherData.java b/Observer/src/WeatherData.java index 556dae1..486d375 100644 --- a/Observer/src/WeatherData.java +++ b/Observer/src/WeatherData.java @@ -1,17 +1,20 @@ import java.util.ArrayList; import java.util.List; -public class WeatherData implements Subject { +public class WeatherData implements Subject +{ private List observers; private float temperature; private float humidity; private float pressure; - public WeatherData() { + public WeatherData() + { observers = new ArrayList<>(); } - public void setMeasurements(float temperature, float humidity, float pressure) { + public void setMeasurements(float temperature, float humidity, float pressure) + { this.temperature = temperature; this.humidity = humidity; this.pressure = pressure; @@ -19,12 +22,14 @@ public void setMeasurements(float temperature, float humidity, float pressure) { } @Override - public void resisterObserver(Observer o) { + public void resisterObserver(Observer o) + { observers.add(o); } @Override - public void removeObserver(Observer o) { + public void removeObserver(Observer o) + { int i = observers.indexOf(o); if (i >= 0) { observers.remove(i); @@ -32,7 +37,8 @@ public void removeObserver(Observer o) { } @Override - public void notifyObserver() { + public void notifyObserver() + { for (Observer o : observers) { o.update(temperature, humidity, pressure); } diff --git a/Observer/src/WeatherStation.java b/Observer/src/WeatherStation.java index 2e48b76..a8cf9c2 100644 --- a/Observer/src/WeatherStation.java +++ b/Observer/src/WeatherStation.java @@ -1,5 +1,7 @@ -public class WeatherStation { - public static void main(String[] args) { +public class WeatherStation +{ + public static void main(String[] args) + { WeatherData weatherData = new WeatherData(); CurrentConditionsDisplay currentConditionsDisplay = new CurrentConditionsDisplay(weatherData); StatisticsDisplay statisticsDisplay = new StatisticsDisplay(weatherData); diff --git a/Prototype/src/Client.java b/Prototype/src/Client.java index 7474cf6..7cf4ad8 100644 --- a/Prototype/src/Client.java +++ b/Prototype/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Prototype prototype = new ConcretePrototype("abc"); Prototype clone = prototype.myClone(); System.out.println(clone.toString()); diff --git a/Prototype/src/ConcretePrototype.java b/Prototype/src/ConcretePrototype.java index 2190355..7d96a40 100644 --- a/Prototype/src/ConcretePrototype.java +++ b/Prototype/src/ConcretePrototype.java @@ -1,18 +1,22 @@ -public class ConcretePrototype extends Prototype { +public class ConcretePrototype extends Prototype +{ private String filed; - public ConcretePrototype(String filed) { + public ConcretePrototype(String filed) + { this.filed = filed; } @Override - Prototype myClone() { + Prototype myClone() + { return new ConcretePrototype(filed); } @Override - public String toString() { + public String toString() + { return filed; } } diff --git a/Prototype/src/Prototype.java b/Prototype/src/Prototype.java index 2aac85c..985a052 100644 --- a/Prototype/src/Prototype.java +++ b/Prototype/src/Prototype.java @@ -1,3 +1,4 @@ -public abstract class Prototype { +public abstract class Prototype +{ abstract Prototype myClone(); } diff --git a/Proxy/src/HighResolutionImage.java b/Proxy/src/HighResolutionImage.java index e98fc74..9f7a8ac 100644 --- a/Proxy/src/HighResolutionImage.java +++ b/Proxy/src/HighResolutionImage.java @@ -1,35 +1,41 @@ import java.net.URL; -public class HighResolutionImage implements Image { +public class HighResolutionImage implements Image +{ private URL imageURL; private long startTime; private int height; private int width; - public int getHeight() { - return height; - } - - public int getWidth() { - return width; - } - - public HighResolutionImage(URL imageURL) { + public HighResolutionImage(URL imageURL) + { this.imageURL = imageURL; this.startTime = System.currentTimeMillis(); this.width = 600; this.height = 600; } - public boolean isLoad() { + public int getHeight() + { + return height; + } + + public int getWidth() + { + return width; + } + + public boolean isLoad() + { // 模拟图片加载,延迟 3s 加载完成 long endTime = System.currentTimeMillis(); return endTime - startTime > 3000; } @Override - public void showImage() { + public void showImage() + { System.out.println("Real Image: " + imageURL); } } \ No newline at end of file diff --git a/Proxy/src/Image.java b/Proxy/src/Image.java index d561e1f..676246d 100644 --- a/Proxy/src/Image.java +++ b/Proxy/src/Image.java @@ -1,3 +1,4 @@ -public interface Image { +public interface Image +{ void showImage(); } \ No newline at end of file diff --git a/Proxy/src/ImageProxy.java b/Proxy/src/ImageProxy.java index fcb0783..250eb9b 100644 --- a/Proxy/src/ImageProxy.java +++ b/Proxy/src/ImageProxy.java @@ -1,12 +1,15 @@ -public class ImageProxy implements Image { +public class ImageProxy implements Image +{ private HighResolutionImage highResolutionImage; - public ImageProxy(HighResolutionImage highResolutionImage) { + public ImageProxy(HighResolutionImage highResolutionImage) + { this.highResolutionImage = highResolutionImage; } @Override - public void showImage() { + public void showImage() + { while (!highResolutionImage.isLoad()) { try { System.out.println("Temp Image: " + highResolutionImage.getWidth() + " " + highResolutionImage.getHeight()); diff --git a/Proxy/src/ImageViewer.java b/Proxy/src/ImageViewer.java index 30b0d89..41f879a 100644 --- a/Proxy/src/ImageViewer.java +++ b/Proxy/src/ImageViewer.java @@ -1,7 +1,9 @@ import java.net.URL; -public class ImageViewer { - public static void main(String[] args) throws Exception { +public class ImageViewer +{ + public static void main(String[] args) throws Exception + { String image = "http://image.jpg"; URL url = new URL(image); HighResolutionImage highResolutionImage = new HighResolutionImage(url); diff --git a/SimpleFactory/src/Client.java b/SimpleFactory/src/Client.java index 8f85fb1..7b3ab39 100644 --- a/SimpleFactory/src/Client.java +++ b/SimpleFactory/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { int type = 1; Product product; if (type == 1) { diff --git a/SimpleFactory/src/ConcreteProduct.java b/SimpleFactory/src/ConcreteProduct.java index aa9f661..4c1d03b 100644 --- a/SimpleFactory/src/ConcreteProduct.java +++ b/SimpleFactory/src/ConcreteProduct.java @@ -1,2 +1,3 @@ -public class ConcreteProduct implements Product{ +public class ConcreteProduct implements Product +{ } diff --git a/SimpleFactory/src/ConcreteProduct1.java b/SimpleFactory/src/ConcreteProduct1.java index a1b23c2..8683a80 100644 --- a/SimpleFactory/src/ConcreteProduct1.java +++ b/SimpleFactory/src/ConcreteProduct1.java @@ -1,2 +1,3 @@ -public class ConcreteProduct1 implements Product{ +public class ConcreteProduct1 implements Product +{ } diff --git a/SimpleFactory/src/ConcreteProduct2.java b/SimpleFactory/src/ConcreteProduct2.java index d5f2b1d..dc2c3aa 100644 --- a/SimpleFactory/src/ConcreteProduct2.java +++ b/SimpleFactory/src/ConcreteProduct2.java @@ -1,2 +1,3 @@ -public class ConcreteProduct2 implements Product{ +public class ConcreteProduct2 implements Product +{ } diff --git a/SimpleFactory/src/Product.java b/SimpleFactory/src/Product.java index 1237950..8ec1a6b 100644 --- a/SimpleFactory/src/Product.java +++ b/SimpleFactory/src/Product.java @@ -1,2 +1,3 @@ -public interface Product { +public interface Product +{ } diff --git a/SimpleFactory/src/SimpleFactory.java b/SimpleFactory/src/SimpleFactory.java index 81d58d9..74e4696 100644 --- a/SimpleFactory/src/SimpleFactory.java +++ b/SimpleFactory/src/SimpleFactory.java @@ -1,5 +1,7 @@ -public class SimpleFactory { - public Product createProduct(int type) { +public class SimpleFactory +{ + public Product createProduct(int type) + { if (type == 1) { return new ConcreteProduct1(); } else if (type == 2) { diff --git a/Singleton/src/imp1/Singleton.java b/Singleton/src/imp1/Singleton.java index 3060c8e..0c9b8f6 100644 --- a/Singleton/src/imp1/Singleton.java +++ b/Singleton/src/imp1/Singleton.java @@ -1,12 +1,15 @@ package imp1; -public class Singleton { +public class Singleton +{ private static Singleton uniqueInstance; - private Singleton() { + private Singleton() + { } - public static Singleton getUniqueInstance() { + public static Singleton getUniqueInstance() + { if (uniqueInstance == null) { uniqueInstance = new Singleton(); } diff --git a/Singleton/src/imp2/Singleton.java b/Singleton/src/imp2/Singleton.java index 767e18f..424b5cd 100644 --- a/Singleton/src/imp2/Singleton.java +++ b/Singleton/src/imp2/Singleton.java @@ -1,12 +1,15 @@ package imp2; -public class Singleton { +public class Singleton +{ private static Singleton uniqueInstance; - private Singleton() { + private Singleton() + { } - public static synchronized Singleton getUniqueInstance() { + public static synchronized Singleton getUniqueInstance() + { if (uniqueInstance == null) { uniqueInstance = new Singleton(); } diff --git a/Singleton/src/imp3/Singleton.java b/Singleton/src/imp3/Singleton.java index 7bf4b11..c873296 100644 --- a/Singleton/src/imp3/Singleton.java +++ b/Singleton/src/imp3/Singleton.java @@ -1,12 +1,15 @@ package imp3; -public class Singleton { +public class Singleton +{ private static Singleton uniqueInstance = new Singleton(); - private Singleton() { + private Singleton() + { } - public static Singleton getUniqueInstance() { + public static Singleton getUniqueInstance() + { return uniqueInstance; } } \ No newline at end of file diff --git a/Singleton/src/imp4/Singleton.java b/Singleton/src/imp4/Singleton.java index 986652e..453a81d 100644 --- a/Singleton/src/imp4/Singleton.java +++ b/Singleton/src/imp4/Singleton.java @@ -1,12 +1,15 @@ package imp4; -public class Singleton { +public class Singleton +{ private volatile static Singleton uniqueInstance; - private Singleton() { + private Singleton() + { } - public static Singleton getUniqueInstance() { + public static Singleton getUniqueInstance() + { if (uniqueInstance == null) { synchronized (Singleton.class) { if (uniqueInstance == null) { diff --git a/Singleton/src/imp5/Singleton.java b/Singleton/src/imp5/Singleton.java index e0dd84b..f396d50 100644 --- a/Singleton/src/imp5/Singleton.java +++ b/Singleton/src/imp5/Singleton.java @@ -1,5 +1,6 @@ package imp5; -public enum Singleton { +public enum Singleton +{ uniqueInstance } \ No newline at end of file diff --git a/State/src/Client.java b/State/src/Client.java index 5b56328..c1a20df 100644 --- a/State/src/Client.java +++ b/State/src/Client.java @@ -1,6 +1,8 @@ -public class Client { +public class Client +{ - public static void main(String[] args) { + public static void main(String[] args) + { GumballMachine gumballMachine = new GumballMachine(5); gumballMachine.insertQuarter(); diff --git a/State/src/GumballMachine.java b/State/src/GumballMachine.java index 1501785..593d036 100644 --- a/State/src/GumballMachine.java +++ b/State/src/GumballMachine.java @@ -1,4 +1,5 @@ -public class GumballMachine { +public class GumballMachine +{ private State soldOutState; private State noQuarterState; @@ -8,7 +9,8 @@ public class GumballMachine { private State state; private int count = 0; - public GumballMachine(int numberGumballs) { + public GumballMachine(int numberGumballs) + { count = numberGumballs; soldOutState = new SoldOutState(this); noQuarterState = new NoQuarterState(this); @@ -22,47 +24,57 @@ public GumballMachine(int numberGumballs) { } } - public void insertQuarter() { + public void insertQuarter() + { state.insertQuarter(); } - public void ejectQuarter() { + public void ejectQuarter() + { state.ejectQuarter(); } - public void turnCrank() { + public void turnCrank() + { state.turnCrank(); state.dispense(); } - public void setState(State state) { + public void setState(State state) + { this.state = state; } - public void releaseBall() { + public void releaseBall() + { System.out.println("A gumball comes rolling out the slot..."); if (count != 0) { count -= 1; } } - public State getSoldOutState() { + public State getSoldOutState() + { return soldOutState; } - public State getNoQuarterState() { + public State getNoQuarterState() + { return noQuarterState; } - public State getHasQuarterState() { + public State getHasQuarterState() + { return hasQuarterState; } - public State getSoldState() { + public State getSoldState() + { return soldState; } - public int getCount() { + public int getCount() + { return count; } } \ No newline at end of file diff --git a/State/src/HasQuarterState.java b/State/src/HasQuarterState.java index 306dc8d..5c71dc6 100644 --- a/State/src/HasQuarterState.java +++ b/State/src/HasQuarterState.java @@ -1,30 +1,36 @@ -public class HasQuarterState implements State { +public class HasQuarterState implements State +{ private GumballMachine gumballMachine; - public HasQuarterState(GumballMachine gumballMachine) { + public HasQuarterState(GumballMachine gumballMachine) + { this.gumballMachine = gumballMachine; } @Override - public void insertQuarter() { + public void insertQuarter() + { System.out.println("You can't insert another quarter"); } @Override - public void ejectQuarter() { + public void ejectQuarter() + { System.out.println("Quarter returned"); gumballMachine.setState(gumballMachine.getNoQuarterState()); } @Override - public void turnCrank() { + public void turnCrank() + { System.out.println("You turned..."); gumballMachine.setState(gumballMachine.getSoldState()); } @Override - public void dispense() { + public void dispense() + { System.out.println("No gumball dispensed"); } } \ No newline at end of file diff --git a/State/src/NoQuarterState.java b/State/src/NoQuarterState.java index 6af70aa..da15776 100644 --- a/State/src/NoQuarterState.java +++ b/State/src/NoQuarterState.java @@ -1,29 +1,35 @@ -public class NoQuarterState implements State { +public class NoQuarterState implements State +{ GumballMachine gumballMachine; - public NoQuarterState(GumballMachine gumballMachine) { + public NoQuarterState(GumballMachine gumballMachine) + { this.gumballMachine = gumballMachine; } @Override - public void insertQuarter() { + public void insertQuarter() + { System.out.println("You insert a quarter"); gumballMachine.setState(gumballMachine.getHasQuarterState()); } @Override - public void ejectQuarter() { + public void ejectQuarter() + { System.out.println("You haven't insert a quarter"); } @Override - public void turnCrank() { + public void turnCrank() + { System.out.println("You turned, but there's no quarter"); } @Override - public void dispense() { + public void dispense() + { System.out.println("You need to pay first"); } } \ No newline at end of file diff --git a/State/src/SoldOutState.java b/State/src/SoldOutState.java index 9b49c73..44ab3d9 100644 --- a/State/src/SoldOutState.java +++ b/State/src/SoldOutState.java @@ -1,28 +1,34 @@ -public class SoldOutState implements State { +public class SoldOutState implements State +{ GumballMachine gumballMachine; - public SoldOutState(GumballMachine gumballMachine) { + public SoldOutState(GumballMachine gumballMachine) + { this.gumballMachine = gumballMachine; } @Override - public void insertQuarter() { + public void insertQuarter() + { System.out.println("You can't insert a quarter, the machine is sold out"); } @Override - public void ejectQuarter() { + public void ejectQuarter() + { System.out.println("You can't eject, you haven't inserted a quarter yet"); } @Override - public void turnCrank() { + public void turnCrank() + { System.out.println("You turned, but there are no gumballs"); } @Override - public void dispense() { + public void dispense() + { System.out.println("No gumball dispensed"); } } \ No newline at end of file diff --git a/State/src/SoldState.java b/State/src/SoldState.java index c36c152..50c6cd5 100644 --- a/State/src/SoldState.java +++ b/State/src/SoldState.java @@ -1,28 +1,34 @@ -public class SoldState implements State { +public class SoldState implements State +{ GumballMachine gumballMachine; - public SoldState(GumballMachine gumballMachine) { + public SoldState(GumballMachine gumballMachine) + { this.gumballMachine = gumballMachine; } @Override - public void insertQuarter() { + public void insertQuarter() + { System.out.println("Please wait, we're already giving you a gumball"); } @Override - public void ejectQuarter() { + public void ejectQuarter() + { System.out.println("Sorry, you already turned the crank"); } @Override - public void turnCrank() { + public void turnCrank() + { System.out.println("Turning twice doesn't get you another gumball!"); } @Override - public void dispense() { + public void dispense() + { gumballMachine.releaseBall(); if (gumballMachine.getCount() > 0) { gumballMachine.setState(gumballMachine.getNoQuarterState()); diff --git a/State/src/State.java b/State/src/State.java index cfaec11..af0315d 100644 --- a/State/src/State.java +++ b/State/src/State.java @@ -1,4 +1,5 @@ -public interface State { +public interface State +{ /** * 投入 25 分钱 */ diff --git a/Strategy/src/Client.java b/Strategy/src/Client.java index 490a65f..f9f9ffb 100644 --- a/Strategy/src/Client.java +++ b/Strategy/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Duck duck = new Duck(); duck.setQuackBehavior(new Squeak()); duck.performQuack(); diff --git a/Strategy/src/Duck.java b/Strategy/src/Duck.java index d68a93c..2839485 100644 --- a/Strategy/src/Duck.java +++ b/Strategy/src/Duck.java @@ -1,13 +1,16 @@ -public class Duck { +public class Duck +{ private QuackBehavior quackBehavior; - public void performQuack() { + public void performQuack() + { if (quackBehavior != null) { quackBehavior.quack(); } } - public void setQuackBehavior(QuackBehavior quackBehavior) { + public void setQuackBehavior(QuackBehavior quackBehavior) + { this.quackBehavior = quackBehavior; } } diff --git a/Strategy/src/Quack.java b/Strategy/src/Quack.java index 17bc671..3de8c7b 100644 --- a/Strategy/src/Quack.java +++ b/Strategy/src/Quack.java @@ -1,6 +1,8 @@ -public class Quack implements QuackBehavior { +public class Quack implements QuackBehavior +{ @Override - public void quack() { + public void quack() + { System.out.println("quack!"); } } diff --git a/Strategy/src/QuackBehavior.java b/Strategy/src/QuackBehavior.java index ec36007..4401042 100644 --- a/Strategy/src/QuackBehavior.java +++ b/Strategy/src/QuackBehavior.java @@ -1,3 +1,4 @@ -public interface QuackBehavior { +public interface QuackBehavior +{ void quack(); } diff --git a/Strategy/src/Squeak.java b/Strategy/src/Squeak.java index 5880d52..bcbd801 100644 --- a/Strategy/src/Squeak.java +++ b/Strategy/src/Squeak.java @@ -1,6 +1,8 @@ -public class Squeak implements QuackBehavior{ +public class Squeak implements QuackBehavior +{ @Override - public void quack() { + public void quack() + { System.out.println("squeak!"); } } diff --git a/TemplateMethod/src/CaffeineBeverage.java b/TemplateMethod/src/CaffeineBeverage.java index d23dccd..9ac589a 100644 --- a/TemplateMethod/src/CaffeineBeverage.java +++ b/TemplateMethod/src/CaffeineBeverage.java @@ -1,6 +1,8 @@ -public abstract class CaffeineBeverage { +public abstract class CaffeineBeverage +{ - final void prepareRecipe() { + final void prepareRecipe() + { boilWater(); brew(); pourInCup(); @@ -11,11 +13,13 @@ final void prepareRecipe() { abstract void addCondiments(); - void boilWater() { + void boilWater() + { System.out.println("boilWater"); } - void pourInCup() { + void pourInCup() + { System.out.println("pourInCup"); } } \ No newline at end of file diff --git a/TemplateMethod/src/Client.java b/TemplateMethod/src/Client.java index fbf3944..9584dab 100644 --- a/TemplateMethod/src/Client.java +++ b/TemplateMethod/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { CaffeineBeverage caffeineBeverage = new Coffee(); caffeineBeverage.prepareRecipe(); System.out.println("-----------"); diff --git a/TemplateMethod/src/Coffee.java b/TemplateMethod/src/Coffee.java index 210006e..3e9db76 100644 --- a/TemplateMethod/src/Coffee.java +++ b/TemplateMethod/src/Coffee.java @@ -1,11 +1,14 @@ -public class Coffee extends CaffeineBeverage{ +public class Coffee extends CaffeineBeverage +{ @Override - void brew() { + void brew() + { System.out.println("Coffee.brew"); } @Override - void addCondiments() { + void addCondiments() + { System.out.println("Coffee.addCondiments"); } } \ No newline at end of file diff --git a/TemplateMethod/src/Tea.java b/TemplateMethod/src/Tea.java index 757ae0c..a52d3c6 100644 --- a/TemplateMethod/src/Tea.java +++ b/TemplateMethod/src/Tea.java @@ -1,11 +1,14 @@ -public class Tea extends CaffeineBeverage{ +public class Tea extends CaffeineBeverage +{ @Override - void brew() { + void brew() + { System.out.println("Tea.brew"); } @Override - void addCondiments() { + void addCondiments() + { System.out.println("Tea.addCondiments"); } } \ No newline at end of file diff --git a/Visitor/src/Client.java b/Visitor/src/Client.java index 9325bc4..4fcd88b 100644 --- a/Visitor/src/Client.java +++ b/Visitor/src/Client.java @@ -1,5 +1,7 @@ -public class Client { - public static void main(String[] args) { +public class Client +{ + public static void main(String[] args) + { Customer customer1 = new Customer("customer1"); customer1.addOrder(new Order("order1", "item1")); customer1.addOrder(new Order("order2", "item1")); diff --git a/Visitor/src/Customer.java b/Visitor/src/Customer.java index d8f7f0f..457bc39 100644 --- a/Visitor/src/Customer.java +++ b/Visitor/src/Customer.java @@ -1,24 +1,29 @@ import java.util.ArrayList; import java.util.List; -public class Customer implements Element { +public class Customer implements Element +{ private String name; private List orders = new ArrayList<>(); - Customer(String name) { + Customer(String name) + { this.name = name; } - String getName() { + String getName() + { return name; } - void addOrder(Order order) { + void addOrder(Order order) + { orders.add(order); } - public void accept(Visitor visitor) { + public void accept(Visitor visitor) + { visitor.visit(this); for (Order order : orders) { order.accept(visitor); diff --git a/Visitor/src/CustomerGroup.java b/Visitor/src/CustomerGroup.java index e65174f..c5b1e14 100644 --- a/Visitor/src/CustomerGroup.java +++ b/Visitor/src/CustomerGroup.java @@ -1,17 +1,20 @@ import java.util.ArrayList; import java.util.List; -class CustomerGroup { +class CustomerGroup +{ private List customers = new ArrayList<>(); - void accept(Visitor visitor) { + void accept(Visitor visitor) + { for (Customer customer : customers) { customer.accept(visitor); } } - void addCustomer(Customer customer) { + void addCustomer(Customer customer) + { customers.add(customer); } } \ No newline at end of file diff --git a/Visitor/src/Element.java b/Visitor/src/Element.java index 15f6d02..ecf67f1 100644 --- a/Visitor/src/Element.java +++ b/Visitor/src/Element.java @@ -1,3 +1,4 @@ -public interface Element { - void accept(Visitor visitor); +public interface Element +{ + void accept(Visitor visitor); } \ No newline at end of file diff --git a/Visitor/src/GeneralReport.java b/Visitor/src/GeneralReport.java index 613a128..fac7acd 100644 --- a/Visitor/src/GeneralReport.java +++ b/Visitor/src/GeneralReport.java @@ -1,25 +1,30 @@ -public class GeneralReport implements Visitor { +public class GeneralReport implements Visitor +{ private int customersNo; private int ordersNo; private int itemsNo; - public void visit(Customer customer) { + public void visit(Customer customer) + { System.out.println(customer.getName()); customersNo++; } - public void visit(Order order) { + public void visit(Order order) + { System.out.println(order.getName()); ordersNo++; } - public void visit(Item item) { + public void visit(Item item) + { System.out.println(item.getName()); itemsNo++; } - public void displayResults() { + public void displayResults() + { System.out.println("Number of customers: " + customersNo); System.out.println("Number of orders: " + ordersNo); System.out.println("Number of items: " + itemsNo); diff --git a/Visitor/src/Item.java b/Visitor/src/Item.java index a10e82a..ffe4a1e 100644 --- a/Visitor/src/Item.java +++ b/Visitor/src/Item.java @@ -1,16 +1,20 @@ -public class Item implements Element { +public class Item implements Element +{ private String name; - Item(String name) { + Item(String name) + { this.name = name; } - String getName() { + String getName() + { return name; } - public void accept(Visitor visitor) { + public void accept(Visitor visitor) + { visitor.visit(this); } } \ No newline at end of file diff --git a/Visitor/src/Order.java b/Visitor/src/Order.java index fb5efc6..be0a513 100644 --- a/Visitor/src/Order.java +++ b/Visitor/src/Order.java @@ -1,29 +1,35 @@ import java.util.ArrayList; import java.util.List; -public class Order implements Element { +public class Order implements Element +{ private String name; private List items = new ArrayList(); - Order(String name) { + Order(String name) + { this.name = name; } - Order(String name, String itemName) { + Order(String name, String itemName) + { this.name = name; this.addItem(new Item(itemName)); } - String getName() { + String getName() + { return name; } - void addItem(Item item) { + void addItem(Item item) + { items.add(item); } - public void accept(Visitor visitor) { + public void accept(Visitor visitor) + { visitor.visit(this); for (Item item : items) { diff --git a/Visitor/src/Visitor.java b/Visitor/src/Visitor.java index ee71832..7504b4e 100644 --- a/Visitor/src/Visitor.java +++ b/Visitor/src/Visitor.java @@ -1,4 +1,5 @@ -public interface Visitor { +public interface Visitor +{ void visit(Customer customer); void visit(Order order); From 2b5364af9e9b4060c3a5e5034d4d0a0762eb3e8a Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Fri, 29 Jun 2018 22:50:15 +0800 Subject: [PATCH 14/16] update .gitignore --- .idea/encodings.xml | 6 ---- .idea/misc.xml | 6 ---- .idea/modules.xml | 33 ------------------- .idea/vcs.xml | 6 ---- AbstractFactory/AbstractFactory.iml | 11 ------- Adapter/Adapter.iml | 11 ------- Bridge/Bridge.iml | 11 ------- Builder/Builder.iml | 11 ------- .../ChainOfResponsibility.iml | 11 ------- Command/Command.iml | 11 ------- Composite/Composite.iml | 11 ------- Decorator/Decorator.iml | 11 ------- Facade/Facade.iml | 11 ------- FactoryMethod/FactoryMethod.iml | 11 ------- Flyweight/Flyweight.iml | 11 ------- Interpreter/Interpreter.iml | 11 ------- Iterator/Iterator.iml | 11 ------- Mediator/Mediator.iml | 11 ------- Menento/Menento.iml | 11 ------- Null/Null.iml | 11 ------- Observer/Observer.iml | 11 ------- Prototype/Prototype.iml | 11 ------- Proxy/Proxy.iml | 11 ------- SimpleFactory/SimpleFactory.iml | 11 ------- Singleton/Singleton.iml | 11 ------- State/State.iml | 11 ------- Strategy/Strategy.iml | 11 ------- TemplateMethod/TemplateMethod.iml | 11 ------- Visitor/Visitor.iml | 11 ------- ...6\350\256\241\346\250\241\345\274\217.iml" | 11 ------- 30 files changed, 337 deletions(-) delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 AbstractFactory/AbstractFactory.iml delete mode 100644 Adapter/Adapter.iml delete mode 100644 Bridge/Bridge.iml delete mode 100644 Builder/Builder.iml delete mode 100644 ChainOfResponsibility/ChainOfResponsibility.iml delete mode 100644 Command/Command.iml delete mode 100644 Composite/Composite.iml delete mode 100644 Decorator/Decorator.iml delete mode 100644 Facade/Facade.iml delete mode 100644 FactoryMethod/FactoryMethod.iml delete mode 100644 Flyweight/Flyweight.iml delete mode 100644 Interpreter/Interpreter.iml delete mode 100644 Iterator/Iterator.iml delete mode 100644 Mediator/Mediator.iml delete mode 100644 Menento/Menento.iml delete mode 100644 Null/Null.iml delete mode 100644 Observer/Observer.iml delete mode 100644 Prototype/Prototype.iml delete mode 100644 Proxy/Proxy.iml delete mode 100644 SimpleFactory/SimpleFactory.iml delete mode 100644 Singleton/Singleton.iml delete mode 100644 State/State.iml delete mode 100644 Strategy/Strategy.iml delete mode 100644 TemplateMethod/TemplateMethod.iml delete mode 100644 Visitor/Visitor.iml delete mode 100644 "\350\256\276\350\256\241\346\250\241\345\274\217.iml" diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 0548357..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 2ac71e3..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/AbstractFactory/AbstractFactory.iml b/AbstractFactory/AbstractFactory.iml deleted file mode 100644 index c90834f..0000000 --- a/AbstractFactory/AbstractFactory.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Adapter/Adapter.iml b/Adapter/Adapter.iml deleted file mode 100644 index c90834f..0000000 --- a/Adapter/Adapter.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Bridge/Bridge.iml b/Bridge/Bridge.iml deleted file mode 100644 index c90834f..0000000 --- a/Bridge/Bridge.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Builder/Builder.iml b/Builder/Builder.iml deleted file mode 100644 index c90834f..0000000 --- a/Builder/Builder.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/ChainOfResponsibility/ChainOfResponsibility.iml b/ChainOfResponsibility/ChainOfResponsibility.iml deleted file mode 100644 index c90834f..0000000 --- a/ChainOfResponsibility/ChainOfResponsibility.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Command/Command.iml b/Command/Command.iml deleted file mode 100644 index c90834f..0000000 --- a/Command/Command.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Composite/Composite.iml b/Composite/Composite.iml deleted file mode 100644 index c90834f..0000000 --- a/Composite/Composite.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Decorator/Decorator.iml b/Decorator/Decorator.iml deleted file mode 100644 index c90834f..0000000 --- a/Decorator/Decorator.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Facade/Facade.iml b/Facade/Facade.iml deleted file mode 100644 index c90834f..0000000 --- a/Facade/Facade.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/FactoryMethod/FactoryMethod.iml b/FactoryMethod/FactoryMethod.iml deleted file mode 100644 index c90834f..0000000 --- a/FactoryMethod/FactoryMethod.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Flyweight/Flyweight.iml b/Flyweight/Flyweight.iml deleted file mode 100644 index c90834f..0000000 --- a/Flyweight/Flyweight.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Interpreter/Interpreter.iml b/Interpreter/Interpreter.iml deleted file mode 100644 index c90834f..0000000 --- a/Interpreter/Interpreter.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Iterator/Iterator.iml b/Iterator/Iterator.iml deleted file mode 100644 index c90834f..0000000 --- a/Iterator/Iterator.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Mediator/Mediator.iml b/Mediator/Mediator.iml deleted file mode 100644 index c90834f..0000000 --- a/Mediator/Mediator.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Menento/Menento.iml b/Menento/Menento.iml deleted file mode 100644 index c90834f..0000000 --- a/Menento/Menento.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Null/Null.iml b/Null/Null.iml deleted file mode 100644 index c90834f..0000000 --- a/Null/Null.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Observer/Observer.iml b/Observer/Observer.iml deleted file mode 100644 index c90834f..0000000 --- a/Observer/Observer.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Prototype/Prototype.iml b/Prototype/Prototype.iml deleted file mode 100644 index c90834f..0000000 --- a/Prototype/Prototype.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Proxy/Proxy.iml b/Proxy/Proxy.iml deleted file mode 100644 index c90834f..0000000 --- a/Proxy/Proxy.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/SimpleFactory/SimpleFactory.iml b/SimpleFactory/SimpleFactory.iml deleted file mode 100644 index c90834f..0000000 --- a/SimpleFactory/SimpleFactory.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Singleton/Singleton.iml b/Singleton/Singleton.iml deleted file mode 100644 index c90834f..0000000 --- a/Singleton/Singleton.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/State/State.iml b/State/State.iml deleted file mode 100644 index c90834f..0000000 --- a/State/State.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Strategy/Strategy.iml b/Strategy/Strategy.iml deleted file mode 100644 index c90834f..0000000 --- a/Strategy/Strategy.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/TemplateMethod/TemplateMethod.iml b/TemplateMethod/TemplateMethod.iml deleted file mode 100644 index c90834f..0000000 --- a/TemplateMethod/TemplateMethod.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Visitor/Visitor.iml b/Visitor/Visitor.iml deleted file mode 100644 index c90834f..0000000 --- a/Visitor/Visitor.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git "a/\350\256\276\350\256\241\346\250\241\345\274\217.iml" "b/\350\256\276\350\256\241\346\250\241\345\274\217.iml" deleted file mode 100644 index c90834f..0000000 --- "a/\350\256\276\350\256\241\346\250\241\345\274\217.iml" +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file From e97ac33496bc259664945a004cd950755e627ea2 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 30 Jun 2018 13:06:06 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A8=A1=E5=BC=8F=E5=92=8C=E7=AD=96=E7=95=A5=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E7=9A=84=E7=B1=BB=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Observer/src/CurrentConditionsDisplay.java | 1 - Observer/src/StatisticsDisplay.java | 1 - .../\347\255\226\347\225\245.mdj" | 87 ++++++++++++++----- .../\350\247\202\345\257\237\350\200\205.mdj" | 30 +++---- 4 files changed, 81 insertions(+), 38 deletions(-) diff --git a/Observer/src/CurrentConditionsDisplay.java b/Observer/src/CurrentConditionsDisplay.java index dd13dc1..13b4851 100644 --- a/Observer/src/CurrentConditionsDisplay.java +++ b/Observer/src/CurrentConditionsDisplay.java @@ -1,6 +1,5 @@ public class CurrentConditionsDisplay implements Observer { - public CurrentConditionsDisplay(Subject weatherData) { weatherData.resisterObserver(this); diff --git a/Observer/src/StatisticsDisplay.java b/Observer/src/StatisticsDisplay.java index a870c95..0dba7d2 100644 --- a/Observer/src/StatisticsDisplay.java +++ b/Observer/src/StatisticsDisplay.java @@ -1,6 +1,5 @@ public class StatisticsDisplay implements Observer { - public StatisticsDisplay(Subject weatherData) { weatherData.resisterObserver(this); diff --git "a/UML \347\273\230\345\233\276/\347\255\226\347\225\245.mdj" "b/UML \347\273\230\345\233\276/\347\255\226\347\225\245.mdj" index 25f33e4..723befa 100644 --- "a/UML \347\273\230\345\233\276/\347\255\226\347\225\245.mdj" +++ "b/UML \347\273\230\345\233\276/\347\255\226\347\225\245.mdj" @@ -364,13 +364,30 @@ "height": 13, "text": "+doSomething(): void", "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFkTw+KyaIntFc=", + "_parent": { + "$ref": "AAAAAAFjyf9WQjR6zOY=" + }, + "model": { + "$ref": "AAAAAAFkTw+Kr6IkS/8=" + }, + "font": "Arial;13;0", + "left": 213, + "top": 372, + "width": 161.49072265625, + "height": 13, + "text": "+setStrategy(Strategy): void", + "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 208, "top": 352, "width": 171.49072265625, - "height": 23 + "height": 38 }, { "_type": "UMLReceptionCompartmentView", @@ -410,7 +427,7 @@ "left": 208, "top": 304, "width": 171.49072265625, - "height": 73, + "height": 86, "nameCompartment": { "$ref": "AAAAAAFjyf9WQjR0HB0=" }, @@ -1026,8 +1043,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 412, - "top": 350, + "left": 413, + "top": 352, "height": 13, "alpha": 1.5707963267948966, "distance": 15, @@ -1047,8 +1064,8 @@ }, "visible": null, "font": "Arial;13;0", - "left": 412, - "top": 365, + "left": 413, + "top": 367, "height": 13, "alpha": 1.5707963267948966, "distance": 30, @@ -1068,8 +1085,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 413, - "top": 320, + "left": 412, + "top": 323, "height": 13, "alpha": -1.5707963267948966, "distance": 15, @@ -1090,7 +1107,7 @@ "visible": false, "font": "Arial;13;0", "left": 421, - "top": 349, + "top": 352, "height": 13, "alpha": 0.5235987755982988, "distance": 30, @@ -1110,8 +1127,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 418, - "top": 363, + "left": 419, + "top": 366, "height": 13, "alpha": 0.7853981633974483, "distance": 40, @@ -1131,8 +1148,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 425, - "top": 322, + "left": 424, + "top": 325, "height": 13, "alpha": -0.5235987755982988, "distance": 25, @@ -1152,8 +1169,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 404, - "top": 349, + "left": 405, + "top": 353, "height": 13, "alpha": -0.5235987755982988, "distance": 30, @@ -1172,8 +1189,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 407, - "top": 363, + "left": 408, + "top": 366, "height": 13, "alpha": -0.7853981633974483, "distance": 40, @@ -1193,7 +1210,7 @@ "visible": false, "font": "Arial;13;0", "left": 400, - "top": 322, + "top": 325, "height": 13, "alpha": 0.5235987755982988, "distance": 25, @@ -1238,7 +1255,7 @@ "$ref": "AAAAAAFjyff0zjQ/wz8=" }, "lineStyle": 1, - "points": "447:341;379:341", + "points": "447:343;379:345", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFjygEsyTWn0Lc=" @@ -1301,7 +1318,7 @@ "$ref": "AAAAAAFjyzJwxTn0hUs=" }, "lineStyle": 1, - "points": "214:415;254:377" + "points": "215:415;244:390" } ] }, @@ -1346,7 +1363,7 @@ "reference": { "$ref": "AAAAAAFjyf9WQjRxbjU=" }, - "aggregation": "composite" + "aggregation": "shared" } } ], @@ -1411,6 +1428,34 @@ "direction": "return" } ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFkTw+Kr6IkS/8=", + "_parent": { + "$ref": "AAAAAAFjyf9WQjRxbjU=" + }, + "name": "setStrategy", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAFkTw/sX6I6new=", + "_parent": { + "$ref": "AAAAAAFkTw+Kr6IkS/8=" + }, + "name": "Strategy", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAFkTw/sX6I7JO8=", + "_parent": { + "$ref": "AAAAAAFkTw+Kr6IkS/8=" + }, + "type": "void", + "direction": "return" + } + ] } ] }, diff --git "a/UML \347\273\230\345\233\276/\350\247\202\345\257\237\350\200\205.mdj" "b/UML \347\273\230\345\233\276/\350\247\202\345\257\237\350\200\205.mdj" index 4365163..799cf6e 100644 --- "a/UML \347\273\230\345\233\276/\350\247\202\345\257\237\350\200\205.mdj" +++ "b/UML \347\273\230\345\233\276/\350\247\202\345\257\237\350\200\205.mdj" @@ -720,9 +720,9 @@ "font": "Arial;13;1", "left": 509, "top": 327, - "width": 106.208984375, + "width": 113.43896484375, "height": 13, - "text": "ConreteObserver" + "text": "ConcreteObserver" }, { "_type": "LabelView", @@ -755,7 +755,7 @@ "font": "Arial;13;0", "left": 504, "top": 320, - "width": 116.208984375, + "width": 123.43896484375, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFjypqAXpGNBSE=" @@ -782,7 +782,7 @@ "font": "Arial;13;0", "left": 504, "top": 345, - "width": 116.208984375, + "width": 123.43896484375, "height": 10 }, { @@ -807,7 +807,7 @@ "font": "Arial;13;0", "left": 509, "top": 360, - "width": 106.208984375, + "width": 113.43896484375, "height": 13, "text": "+update(): void", "horizontalAlignment": 0 @@ -816,7 +816,7 @@ "font": "Arial;13;0", "left": 504, "top": 355, - "width": 116.208984375, + "width": 123.43896484375, "height": 23 }, { @@ -856,7 +856,7 @@ "containerChangeable": true, "left": 504, "top": 320, - "width": 116.208984375, + "width": 123.43896484375, "height": 58, "nameCompartment": { "$ref": "AAAAAAFjypqAXpGMYD4=" @@ -989,8 +989,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 545, - "top": 263, + "left": 547, + "top": 264, "height": 13, "alpha": 1.5707963267948966, "distance": 15, @@ -1010,8 +1010,8 @@ }, "visible": null, "font": "Arial;13;0", - "left": 530, - "top": 263, + "left": 532, + "top": 264, "height": 13, "alpha": 1.5707963267948966, "distance": 30, @@ -1031,8 +1031,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 574, - "top": 264, + "left": 576, + "top": 263, "height": 13, "alpha": -1.5707963267948966, "distance": 15, @@ -1050,7 +1050,7 @@ "$ref": "AAAAAAFjypqAXpGLSsk=" }, "lineStyle": 1, - "points": "561:319;560:221", + "points": "564:319;561:221", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFjyprylpHQ7N8=" @@ -2063,7 +2063,7 @@ "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, - "name": "ConreteObserver", + "name": "ConcreteObserver", "ownedElements": [ { "_type": "UMLInterfaceRealization", From 979c7004671e0838545bd0bed572ff7d0597aa18 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 30 Jun 2018 13:06:58 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A8=A1=E5=BC=8F=E5=92=8C=E7=AD=96=E7=95=A5=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E7=9A=84=E7=B1=BB=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "UML \347\273\230\345\233\276/\347\212\266\346\200\201.mdj" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/UML \347\273\230\345\233\276/\347\212\266\346\200\201.mdj" "b/UML \347\273\230\345\233\276/\347\212\266\346\200\201.mdj" index 0c5c3c1..3a9a15f 100644 --- "a/UML \347\273\230\345\233\276/\347\212\266\346\200\201.mdj" +++ "b/UML \347\273\230\345\233\276/\347\212\266\346\200\201.mdj" @@ -2232,7 +2232,8 @@ "_parent": { "$ref": "AAAAAAFjyy2Vqi50TJg=" }, - "name": "state" + "name": "state", + "type": "" } ], "operations": [ @@ -2298,7 +2299,7 @@ "reference": { "$ref": "AAAAAAFjyy2Vqi50TJg=" }, - "aggregation": "composite" + "aggregation": "shared" } } ],