diff --git a/UML/TastyPages_Use-case.drawio b/UML/TastyPages_Use-case.drawio index ce576a02f1f819ec580dfb145e428461df4bb5db..95d6080985b9d83cdf5f34097b4ab32fb2f0a601 100644 --- a/UML/TastyPages_Use-case.drawio +++ b/UML/TastyPages_Use-case.drawio @@ -1,4 +1,4 @@ -<mxfile host="app.diagrams.net" modified="2023-03-29T11:39:19.359Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" etag="WfeR-JEG5Eda7U11uD7Y" version="21.1.1" type="device"> +<mxfile host="app.diagrams.net" modified="2023-04-03T18:44:07.166Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" etag="Y5yfEpCD9BEnEEo5dWZr" version="21.1.2" type="device" pages="2"> <diagram name="Seite-1" id="guNTSU0fiwR1g74g93dq"> <mxGraphModel dx="1434" dy="1623" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> @@ -124,7 +124,7 @@ </Array> </mxGeometry> </mxCell> - <mxCell id="4oh4sVMnw9r_FDRqXWCS-17" value="add Recipe" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1"> + <mxCell id="4oh4sVMnw9r_FDRqXWCS-17" value="add recipe" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <mxGeometry x="250" y="55" width="120" height="30" as="geometry" /> </mxCell> <mxCell id="4oh4sVMnw9r_FDRqXWCS-18" value="select components" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1"> @@ -310,4 +310,269 @@ </root> </mxGraphModel> </diagram> + <diagram id="IOxpQtQOinXd_60UH0zV" name="Seite-2"> + <mxGraphModel dx="2193" dy="569" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="4rBL8TMRcDE2g0Xyakx7-3" value="package : recipes" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1"> + <mxGeometry x="-20" y="44" width="1040" height="740" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-5" value="RecipeEditor" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="260" y="40" width="200" height="86" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-6" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="khY43H2GbW4oralui55t-5" vertex="1"> + <mxGeometry y="26" width="200" height="26" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="khY43H2GbW4oralui55t-5" vertex="1"> + <mxGeometry y="52" width="200" height="8" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-8" value="+ method(type): type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="khY43H2GbW4oralui55t-5" vertex="1"> + <mxGeometry y="60" width="200" height="26" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-9" value="Singleton : RecipeManager" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="20" y="40" width="220" height="164" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-10" value="- recipes : ArrayList&lt;Recipe&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="khY43H2GbW4oralui55t-9" vertex="1"> + <mxGeometry y="26" width="220" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-38" value="- categories : Categories" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="khY43H2GbW4oralui55t-9"> + <mxGeometry y="52" width="220" height="26" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-11" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="khY43H2GbW4oralui55t-9" vertex="1"> + <mxGeometry y="78" width="220" height="8" as="geometry" /> + </mxCell> + <mxCell id="khY43H2GbW4oralui55t-12" value="+ addRecipe() : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="khY43H2GbW4oralui55t-9" vertex="1"> + <mxGeometry y="86" width="220" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-12" value="+ deleteRecipe (int i) : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="khY43H2GbW4oralui55t-9" vertex="1"> + <mxGeometry y="112" width="220" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-13" value="+ editRecipe (int i) : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="khY43H2GbW4oralui55t-9" vertex="1"> + <mxGeometry y="138" width="220" height="26" as="geometry" /> + </mxCell> + <mxCell id="1PDsnecl4zy3zphxMVey-1" value="RecipeSearch" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="380" y="140" width="300" height="130" as="geometry" /> + </mxCell> + <mxCell id="1PDsnecl4zy3zphxMVey-2" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="1PDsnecl4zy3zphxMVey-1" vertex="1"> + <mxGeometry y="26" width="300" height="26" as="geometry" /> + </mxCell> + <mxCell id="1PDsnecl4zy3zphxMVey-3" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="1PDsnecl4zy3zphxMVey-1" vertex="1"> + <mxGeometry y="52" width="300" height="8" as="geometry" /> + </mxCell> + <mxCell id="1PDsnecl4zy3zphxMVey-4" value="+ searchByQuery(String query) : ArrayList&lt;Recipe&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="1PDsnecl4zy3zphxMVey-1" vertex="1"> + <mxGeometry y="60" width="300" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-3" value="+ searchByCategory(ArrayList&lt;Category&gt;) : ArrayList&lt;Recipe&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="1PDsnecl4zy3zphxMVey-1"> + <mxGeometry y="86" width="300" height="44" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-1" value="Category" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="750" y="190" width="245" height="100" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-2" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4db8lyx7makHAff3xmPV-1" vertex="1"> + <mxGeometry y="26" width="245" height="26" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-3" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="4db8lyx7makHAff3xmPV-1" vertex="1"> + <mxGeometry y="52" width="245" height="8" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-4" value="overrides:<br>+ equals(Object o) : boolean" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4db8lyx7makHAff3xmPV-1" vertex="1"> + <mxGeometry y="60" width="245" height="40" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-5" value="Categories" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="750" y="40" width="245" height="112" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-6" value="- categories : ArrayList&lt;Category&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4db8lyx7makHAff3xmPV-5" vertex="1"> + <mxGeometry y="26" width="245" height="26" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="4db8lyx7makHAff3xmPV-5" vertex="1"> + <mxGeometry y="52" width="245" height="8" as="geometry" /> + </mxCell> + <mxCell id="4db8lyx7makHAff3xmPV-8" value="+ registerCategory(String name) : boolean" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4db8lyx7makHAff3xmPV-5" vertex="1"> + <mxGeometry y="60" width="245" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-1" value="+ getAllCategories() : ArrayList&lt;Category&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="4db8lyx7makHAff3xmPV-5"> + <mxGeometry y="86" width="245" height="26" as="geometry" /> + </mxCell> + <mxCell id="90y9bFiBt-Dw9IB2Oaka-1" value="Recipe <span style="font-weight: normal;">extends RecipeComponent</span>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="300" y="430" width="270" height="184" as="geometry"> + <mxRectangle x="20" y="150" width="80" height="30" as="alternateBounds" /> + </mxGeometry> + </mxCell> + <mxCell id="90y9bFiBt-Dw9IB2Oaka-2" value="- ingredients: HashMap&lt;RecipeComponent, Integer&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="90y9bFiBt-Dw9IB2Oaka-1" vertex="1"> + <mxGeometry y="26" width="270" height="34" as="geometry" /> + </mxCell> + <mxCell id="Cg_uZv0A1mTYIWKAJ-0d-2" value="- name : String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="90y9bFiBt-Dw9IB2Oaka-1" vertex="1"> + <mxGeometry y="60" width="270" height="26" as="geometry" /> + </mxCell> + <mxCell id="Cg_uZv0A1mTYIWKAJ-0d-3" value="- preparation : ArrayList&lt;String&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="90y9bFiBt-Dw9IB2Oaka-1" vertex="1"> + <mxGeometry y="86" width="270" height="24" as="geometry" /> + </mxCell> + <mxCell id="Cg_uZv0A1mTYIWKAJ-0d-4" value="- categories : Set&lt;Category&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="90y9bFiBt-Dw9IB2Oaka-1" vertex="1"> + <mxGeometry y="110" width="270" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-4" value="- preparationTimeMins : Integer" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="90y9bFiBt-Dw9IB2Oaka-1"> + <mxGeometry y="136" width="270" height="24" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-37" value="- categories : ArrayList&lt;Category&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="90y9bFiBt-Dw9IB2Oaka-1"> + <mxGeometry y="160" width="270" height="24" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-8" value="Ingredient<span style="font-weight: normal;">&nbsp;extends RecipeComponent</span>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="10" y="430" width="270" height="78" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-11" value="- name : String" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-8" vertex="1"> + <mxGeometry y="26" width="270" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-25" value="- unit : Measurement" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="4LD2Q_2ablrLRUKtAQnm-8"> + <mxGeometry y="52" width="270" height="26" as="geometry" /> + </mxCell> + <mxCell id="WwHfsR9ecwNkWHZ6sJ4B-4" value="&lt;&lt;enum&gt;&gt;<br><b>Measurement</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="30" y="560" width="140" height="142" as="geometry" /> + </mxCell> + <mxCell id="WwHfsR9ecwNkWHZ6sJ4B-5" value="PIECE" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="WwHfsR9ecwNkWHZ6sJ4B-4" vertex="1"> + <mxGeometry y="26" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="WwHfsR9ecwNkWHZ6sJ4B-6" value="GRAM" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="WwHfsR9ecwNkWHZ6sJ4B-4" vertex="1"> + <mxGeometry y="52" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="WwHfsR9ecwNkWHZ6sJ4B-7" value="MILLILITER" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="WwHfsR9ecwNkWHZ6sJ4B-4" vertex="1"> + <mxGeometry y="78" width="140" height="32" as="geometry" /> + </mxCell> + <mxCell id="WwHfsR9ecwNkWHZ6sJ4B-9" value="PINCH" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="WwHfsR9ecwNkWHZ6sJ4B-4" vertex="1"> + <mxGeometry y="110" width="140" height="32" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-1" value="&lt;&lt;enum&gt;&gt;<br><b>Nutriton</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="860" y="510" width="140" height="202" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-2" value="CALORIES" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-1" vertex="1"> + <mxGeometry y="26" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-3" value="CARBS" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-1" vertex="1"> + <mxGeometry y="52" width="140" height="26" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-4" value="PROTEINS" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-1" vertex="1"> + <mxGeometry y="78" width="140" height="32" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-5" value="SALT" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-1" vertex="1"> + <mxGeometry y="110" width="140" height="32" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-6" value="FAT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacingLeft=4;" parent="4LD2Q_2ablrLRUKtAQnm-1" vertex="1"> + <mxGeometry y="142" width="140" height="30" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-7" value="FIBERS" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacingLeft=4;" parent="4LD2Q_2ablrLRUKtAQnm-1" vertex="1"> + <mxGeometry y="172" width="140" height="30" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-12" value="NutritionTable" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="4rBL8TMRcDE2g0Xyakx7-3" vertex="1"> + <mxGeometry x="740" y="370" width="260" height="100" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-13" value="- table : HashMap&lt;Nutrition, Double&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-12" vertex="1"> + <mxGeometry y="26" width="260" height="26" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-14" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="4LD2Q_2ablrLRUKtAQnm-12" vertex="1"> + <mxGeometry y="52" width="260" height="8" as="geometry" /> + </mxCell> + <mxCell id="4LD2Q_2ablrLRUKtAQnm-15" value="+ getNutritionForRecipe (Recipe recipe) : NutritionTable" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="4LD2Q_2ablrLRUKtAQnm-12" vertex="1"> + <mxGeometry y="60" width="260" height="40" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-17" value="&lt;&lt;abstract&gt;&gt;<br><b>RecipeComponent</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="4rBL8TMRcDE2g0Xyakx7-3"> + <mxGeometry x="40" y="282" width="190" height="52" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-18" value="- nutritionTable : NutritionTable" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="BmttCFs_K1xAuYzUHSLz-17"> + <mxGeometry y="26" width="190" height="26" as="geometry" /> + </mxCell> + <mxCell id="XnVSaR7xRqF0c78tSIC_-1" value="package : shoppingList" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1"> + <mxGeometry x="50" y="880" width="730" height="160" as="geometry" /> + </mxCell> + <mxCell id="XnVSaR7xRqF0c78tSIC_-2" value="Singleton :ShoppingList" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="XnVSaR7xRqF0c78tSIC_-1" vertex="1"> + <mxGeometry x="20" y="40" width="160" height="86" as="geometry" /> + </mxCell> + <mxCell id="XnVSaR7xRqF0c78tSIC_-3" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="XnVSaR7xRqF0c78tSIC_-2" vertex="1"> + <mxGeometry y="26" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="XnVSaR7xRqF0c78tSIC_-4" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="XnVSaR7xRqF0c78tSIC_-2" vertex="1"> + <mxGeometry y="52" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="XnVSaR7xRqF0c78tSIC_-5" value="+ method(type): type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="XnVSaR7xRqF0c78tSIC_-2" vertex="1"> + <mxGeometry y="60" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="xz0VCGe2YetrdaeYra_O-1" value="package : mealPlan" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1"> + <mxGeometry x="50" y="1070" width="730" height="200" as="geometry" /> + </mxCell> + <mxCell id="xz0VCGe2YetrdaeYra_O-2" value="Sngleton : MealPlan" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="xz0VCGe2YetrdaeYra_O-1" vertex="1"> + <mxGeometry x="20" y="39" width="160" height="86" as="geometry" /> + </mxCell> + <mxCell id="xz0VCGe2YetrdaeYra_O-3" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="xz0VCGe2YetrdaeYra_O-2" vertex="1"> + <mxGeometry y="26" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="xz0VCGe2YetrdaeYra_O-4" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="xz0VCGe2YetrdaeYra_O-2" vertex="1"> + <mxGeometry y="52" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="xz0VCGe2YetrdaeYra_O-5" value="+ method(type): type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="xz0VCGe2YetrdaeYra_O-2" vertex="1"> + <mxGeometry y="60" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-1" value="NutritionCalculator" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="xz0VCGe2YetrdaeYra_O-1" vertex="1"> + <mxGeometry x="210" y="39" width="160" height="86" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-2" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-1" vertex="1"> + <mxGeometry y="26" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-3" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="lNXn1_JIS0mlgrxrveIr-1" vertex="1"> + <mxGeometry y="52" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-4" value="+ method(type): type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-1" vertex="1"> + <mxGeometry y="60" width="160" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-5" value="Singleton : App" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"> + <mxGeometry x="1230" y="50" width="420" height="294" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-6" value="- recipeManager : RecipeManager" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="26" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-10" value="- shoppingList : ShoppingList<br>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="52" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-11" value="- mealPlan : MealPlan" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="78" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="h23uL9lWt6JHxaophjVK-1" value="- search : RecipeSearch" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="104" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="h23uL9lWt6JHxaophjVK-3" value="- lastSearchResults : ArrayList&lt;Recipe&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="130" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-15" value="- fileManager : FileManager" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="lNXn1_JIS0mlgrxrveIr-5"> + <mxGeometry y="156" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="182" width="420" height="8" as="geometry" /> + </mxCell> + <mxCell id="lNXn1_JIS0mlgrxrveIr-8" value="+ start() : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="190" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="h23uL9lWt6JHxaophjVK-2" value="+ search(lastSearchResults, String query) : ArrayList&lt;Recipe&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="216" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="h23uL9lWt6JHxaophjVK-4" value="+ search(lastSearchResults, Category category) : ArrayList&lt;Recipe&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="lNXn1_JIS0mlgrxrveIr-5" vertex="1"> + <mxGeometry y="242" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-9" value="+ save(this) : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="lNXn1_JIS0mlgrxrveIr-5"> + <mxGeometry y="268" width="420" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-11" value="FileManager" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="1710" y="50" width="360" height="112" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-12" value="- savePath : Path" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="BmttCFs_K1xAuYzUHSLz-11"> + <mxGeometry y="26" width="360" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-13" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="BmttCFs_K1xAuYzUHSLz-11"> + <mxGeometry y="52" width="360" height="8" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-14" value="+ deserializeFromFile() : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="BmttCFs_K1xAuYzUHSLz-11"> + <mxGeometry y="60" width="360" height="26" as="geometry" /> + </mxCell> + <mxCell id="BmttCFs_K1xAuYzUHSLz-16" value="+ serializeToFile(App app) : void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="BmttCFs_K1xAuYzUHSLz-11"> + <mxGeometry y="86" width="360" height="26" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> </mxfile>