Загрузка данных
<mxfile host="app.diagrams.net">
<diagram id="class-diagram" name="Class Diagram">
<mxGraphModel dx="1200" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2" value="Catalog" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="100" y="20" width="200" height="144" as="geometry" />
</mxCell>
<mxCell id="20" value="+name: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="2"><mxGeometry y="40" width="200" height="28" as="geometry" /></mxCell>
<mxCell id="21" value="+movies: List<Movie>" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="2"><mxGeometry y="68" width="200" height="28" as="geometry" /></mxCell>
<mxCell id="22" value="+database: Database" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="2"><mxGeometry y="96" width="200" height="28" as="geometry" /></mxCell>
<mxCell id="3" value="Database" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="400" y="20" width="210" height="144" as="geometry" />
</mxCell>
<mxCell id="24" value="+movies: List<Movie>" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="3"><mxGeometry y="40" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="25" value="+genres: List<Genre>" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="3"><mxGeometry y="68" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="26" value="+users: List<User>" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="3"><mxGeometry y="96" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="4" value="User" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="720" y="20" width="230" height="172" as="geometry" />
</mxCell>
<mxCell id="28" value="+id: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="4"><mxGeometry y="40" width="230" height="28" as="geometry" /></mxCell>
<mxCell id="29" value="+name: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="4"><mxGeometry y="68" width="230" height="28" as="geometry" /></mxCell>
<mxCell id="30" value="+email: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="4"><mxGeometry y="96" width="230" height="28" as="geometry" /></mxCell>
<mxCell id="31" value="+subscriptions: List<Subscription>" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="4"><mxGeometry y="124" width="230" height="28" as="geometry" /></mxCell>
<mxCell id="5" value="Movie" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="100" y="300" width="190" height="144" as="geometry" />
</mxCell>
<mxCell id="33" value="+name: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="5"><mxGeometry y="40" width="190" height="28" as="geometry" /></mxCell>
<mxCell id="34" value="+year: Integer" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="5"><mxGeometry y="68" width="190" height="28" as="geometry" /></mxCell>
<mxCell id="35" value="+genres: List<Genre>" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="5"><mxGeometry y="96" width="190" height="28" as="geometry" /></mxCell>
<mxCell id="6" value="Comment" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="400" y="300" width="210" height="228" as="geometry" />
</mxCell>
<mxCell id="37" value="+id: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="6"><mxGeometry y="40" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="38" value="+text: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="6"><mxGeometry y="68" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="39" value="+rating: Integer" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="6"><mxGeometry y="96" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="40" value="+author: User" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="6"><mxGeometry y="124" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="41" value="+movie: Movie" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="6"><mxGeometry y="152" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="42" value="+creationDate: Date" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="6"><mxGeometry y="180" width="210" height="28" as="geometry" /></mxCell>
<mxCell id="7" value="Subscription" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="720" y="300" width="250" height="172" as="geometry" />
</mxCell>
<mxCell id="44" value="+id: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="7"><mxGeometry y="40" width="250" height="28" as="geometry" /></mxCell>
<mxCell id="45" value="+user: User" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="7"><mxGeometry y="68" width="250" height="28" as="geometry" /></mxCell>
<mxCell id="46" value="+genre: Genre" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="7"><mxGeometry y="96" width="250" height="28" as="geometry" /></mxCell>
<mxCell id="47" value="+notificationsEnabled: Boolean" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="7"><mxGeometry y="124" width="250" height="28" as="geometry" /></mxCell>
<mxCell id="8" value="Genre" style="swimlane;html=1;fontStyle=1;fontSize=15;align=center;verticalAlign=middle;horizontal=1;childLayout=stackLayout;startSize=40;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;swimlaneFillColor=#ECECFF;fillColor=#ECECFF;strokeColor=#9370DB;fontColor=#333333;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="420" y="620" width="160" height="88" as="geometry" />
</mxCell>
<mxCell id="49" value="+name: String" style="text;fontSize=12;align=left;verticalAlign=middle;spacingLeft=10;strokeColor=none;fillColor=none;portConstraint=eastwest;fontColor=#333333;" vertex="1" parent="8"><mxGeometry y="40" width="160" height="28" as="geometry" /></mxCell>
<mxCell id="51" value="has" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="2" target="5"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="52" value="has" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0.5;exitY=1;entryX=0;entryY=0.5;" edge="1" parent="1" source="5" target="8"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="53" value="contains" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="3" target="5"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="54" value="contains" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="3" target="8"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="55" value="stores" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="3" target="4"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="56" value="creates" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="4" target="6"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="57" value="owns" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="4" target="7"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="58" value="belongs to" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="6" target="5"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="59" value="tracks" style="curved=1;startArrow=none;endArrow=none;strokeColor=#333333;html=1;fontSize=13;labelBackgroundColor=#ECECFF;fontColor=#333333;exitX=0.5;exitY=1;entryX=1;entryY=0.5;" edge="1" parent="1" source="7" target="8"><mxGeometry relative="1" as="geometry" /></mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>