<?xml version="1.0" encoding="UTF-8"?>
<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/"><dia:diagramdata><dia:attribute name="background"><dia:color val="#ffffff"/></dia:attribute><dia:attribute name="paper"><dia:composite type="paper"><dia:attribute name="name"><dia:string>#A4#</dia:string></dia:attribute><dia:attribute name="tmargin"><dia:real val="2.8222"/></dia:attribute><dia:attribute name="bmargin"><dia:real val="2.8222"/></dia:attribute><dia:attribute name="lmargin"><dia:real val="2.8222"/></dia:attribute><dia:attribute name="rmargin"><dia:real val="2.8222"/></dia:attribute><dia:attribute name="is_portrait"><dia:boolean val="false"/></dia:attribute><dia:attribute name="scaling"><dia:real val="1"/></dia:attribute><dia:attribute name="fitto"><dia:boolean val="false"/></dia:attribute></dia:composite></dia:attribute><dia:attribute name="grid"><dia:composite type="grid"><dia:attribute name="width_x"><dia:real val="0.2"/></dia:attribute><dia:attribute name="width_y"><dia:real val="0.2"/></dia:attribute><dia:attribute name="visible_x"><dia:int val="1"/></dia:attribute><dia:attribute name="visible_y"><dia:int val="1"/></dia:attribute></dia:composite></dia:attribute><dia:attribute name="guides"><dia:composite type="guides"><dia:attribute name="hguides"/><dia:attribute name="vguides"/></dia:composite></dia:attribute></dia:diagramdata><dia:layer name="Background" visible="true"><dia:object type="UML - Class" version="0" id="O0"><dia:attribute name="obj_pos"><dia:point val="12.2,20"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="12.15,19.95;15.9,21.45"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="12.2,20"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="3.65"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="1.4"/></dia:attribute><dia:attribute name="name"><dia:string>#Persist#</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="abstract"><dia:boolean val="true"/></dia:attribute><dia:attribute name="suppress_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_comments"><dia:boolean val="false"/></dia:attribute><dia:attribute name="foreground_color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="background_color"><dia:color val="#ffffff"/></dia:attribute><dia:attribute name="normal_font"><dia:font family="monospace" style="0" name="Courier"/></dia:attribute><dia:attribute name="abstract_font"><dia:font family="monospace" style="88" name="Courier"/></dia:attribute><dia:attribute name="polymorphic_font"><dia:font family="monospace" style="8" name="Courier"/></dia:attribute><dia:attribute name="classname_font"><dia:font family="sans" style="80" name="Courier"/></dia:attribute><dia:attribute name="abstract_classname_font"><dia:font family="sans" style="88" name="Courier"/></dia:attribute><dia:attribute name="comment_font"><dia:font family="sans" style="8" name="Courier"/></dia:attribute><dia:attribute name="font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="polymorphic_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="abstract_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="abstract_classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="comment_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="attributes"/><dia:attribute name="operations"/><dia:attribute name="template"><dia:boolean val="false"/></dia:attribute><dia:attribute name="templates"/></dia:object><dia:object type="UML - Class" version="0" id="O1"><dia:attribute name="obj_pos"><dia:point val="-3,24.8"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="-3.05,24.75;1.9,26.25"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="-3,24.8"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="4.85"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="1.4"/></dia:attribute><dia:attribute name="name"><dia:string>#PersistFile#</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="abstract"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_comments"><dia:boolean val="false"/></dia:attribute><dia:attribute name="foreground_color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="background_color"><dia:color val="#ffffff"/></dia:attribute><dia:attribute name="normal_font"><dia:font family="monospace" style="0" name="Courier"/></dia:attribute><dia:attribute name="abstract_font"><dia:font family="monospace" style="88" name="Courier"/></dia:attribute><dia:attribute name="polymorphic_font"><dia:font family="monospace" style="8" name="Courier"/></dia:attribute><dia:attribute name="classname_font"><dia:font family="sans" style="80" name="Courier"/></dia:attribute><dia:attribute name="abstract_classname_font"><dia:font family="sans" style="88" name="Courier"/></dia:attribute><dia:attribute name="comment_font"><dia:font family="sans" style="8" name="Courier"/></dia:attribute><dia:attribute name="font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="polymorphic_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="abstract_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="abstract_classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="comment_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="attributes"/><dia:attribute name="operations"/><dia:attribute name="template"><dia:boolean val="false"/></dia:attribute><dia:attribute name="templates"/></dia:object><dia:object type="UML - Generalization" version="0" id="O2"><dia:attribute name="obj_pos"><dia:point val="14.025,21.4"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="-0.625,21.35;14.875,25"/></dia:attribute><dia:attribute name="orth_points"><dia:point val="14.025,21.4"/><dia:point val="14.025,23.4"/><dia:point val="-0.575,23.4"/><dia:point val="-0.575,24.8"/></dia:attribute><dia:attribute name="orth_orient"><dia:enum val="1"/><dia:enum val="0"/><dia:enum val="1"/></dia:attribute><dia:attribute name="name"><dia:string>##</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:connections><dia:connection handle="0" to="O0" connection="6"/><dia:connection handle="1" to="O1" connection="1"/></dia:connections></dia:object><dia:object type="UML - Class" version="0" id="O3"><dia:attribute name="obj_pos"><dia:point val="7.2,29.8"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="7.15,29.75;25.75,33.05"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="7.2,29.8"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="18.5"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="3.2"/></dia:attribute><dia:attribute name="name"><dia:string>#PersistStorage#</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="abstract"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_operations"><dia:boolean val="true"/></dia:attribute><dia:attribute name="visible_comments"><dia:boolean val="false"/></dia:attribute><dia:attribute name="foreground_color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="background_color"><dia:color val="#ffffff"/></dia:attribute><dia:attribute name="normal_font"><dia:font family="monospace" style="0" name="Courier"/></dia:attribute><dia:attribute name="abstract_font"><dia:font family="monospace" style="88" name="Courier"/></dia:attribute><dia:attribute name="polymorphic_font"><dia:font family="monospace" style="8" name="Courier"/></dia:attribute><dia:attribute name="classname_font"><dia:font family="sans" style="80" name="Courier"/></dia:attribute><dia:attribute name="abstract_classname_font"><dia:font family="sans" style="88" name="Courier"/></dia:attribute><dia:attribute name="comment_font"><dia:font family="sans" style="8" name="Courier"/></dia:attribute><dia:attribute name="font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="polymorphic_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="abstract_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="abstract_classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="comment_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="attributes"/><dia:attribute name="operations"><dia:composite type="umloperation"><dia:attribute name="name"><dia:string>#load#</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:attribute name="type"><dia:string>##</dia:string></dia:attribute><dia:attribute name="visibility"><dia:enum val="0"/></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="abstract"><dia:boolean val="false"/></dia:attribute><dia:attribute name="inheritance_type"><dia:enum val="1"/></dia:attribute><dia:attribute name="query"><dia:boolean val="false"/></dia:attribute><dia:attribute name="class_scope"><dia:boolean val="false"/></dia:attribute><dia:attribute name="parameters"><dia:composite type="umlparameter"><dia:attribute name="name"><dia:string>#storage#</dia:string></dia:attribute><dia:attribute name="type"><dia:string>#Storage#</dia:string></dia:attribute><dia:attribute name="value"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="kind"><dia:enum val="1"/></dia:attribute></dia:composite></dia:attribute></dia:composite><dia:composite type="umloperation"><dia:attribute name="name"><dia:string>#save#</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:attribute name="type"><dia:string>##</dia:string></dia:attribute><dia:attribute name="visibility"><dia:enum val="0"/></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="abstract"><dia:boolean val="false"/></dia:attribute><dia:attribute name="inheritance_type"><dia:enum val="1"/></dia:attribute><dia:attribute name="query"><dia:boolean val="false"/></dia:attribute><dia:attribute name="class_scope"><dia:boolean val="false"/></dia:attribute><dia:attribute name="parameters"><dia:composite type="umlparameter"><dia:attribute name="name"><dia:string>#storage#</dia:string></dia:attribute><dia:attribute name="type"><dia:string>#Storage#</dia:string></dia:attribute><dia:attribute name="value"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="kind"><dia:enum val="1"/></dia:attribute></dia:composite><dia:composite type="umlparameter"><dia:attribute name="name"><dia:string>#same_as_loaded#</dia:string></dia:attribute><dia:attribute name="type"><dia:string>#boolean#</dia:string></dia:attribute><dia:attribute name="value"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="kind"><dia:enum val="1"/></dia:attribute></dia:composite></dia:attribute></dia:composite></dia:attribute><dia:attribute name="template"><dia:boolean val="false"/></dia:attribute><dia:attribute name="templates"/></dia:object><dia:object type="UML - Generalization" version="0" id="O4"><dia:attribute name="obj_pos"><dia:point val="14.025,21.4"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="13.175,21.35;16.5,29.85"/></dia:attribute><dia:attribute name="orth_points"><dia:point val="14.025,21.4"/><dia:point val="14.025,23.4"/><dia:point val="16.45,23.4"/><dia:point val="16.45,29.8"/></dia:attribute><dia:attribute name="orth_orient"><dia:enum val="1"/><dia:enum val="0"/><dia:enum val="1"/></dia:attribute><dia:attribute name="name"><dia:string>##</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:connections><dia:connection handle="0" to="O0" connection="6"/><dia:connection handle="1" to="O3" connection="1"/></dia:connections></dia:object><dia:object type="UML - Note" version="0" id="O5"><dia:attribute name="obj_pos"><dia:point val="2.5,24.65"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="2.45,24.6;15.8,28"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="2.5,24.65"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="13.25"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="3.3"/></dia:attribute><dia:attribute name="text"><dia:composite type="text"><dia:attribute name="string"><dia:string>#PersistStorage is implemented by MateComponentObjects. 
The methods are used by MateComponent and the
container applications to manipulate the storage
of a componet#</dia:string></dia:attribute><dia:attribute name="font"><dia:font family="sans" style="0" name="Courier"/></dia:attribute><dia:attribute name="height"><dia:real val="0.6"/></dia:attribute><dia:attribute name="pos"><dia:point val="2.85,25.8"/></dia:attribute><dia:attribute name="color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="alignment"><dia:enum val="0"/></dia:attribute></dia:composite></dia:attribute></dia:object><dia:object type="Standard - Line" version="0" id="O6"><dia:attribute name="obj_pos"><dia:point val="12.4,29.8"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="9.05687,27.8819;12.4681,29.8681"/></dia:attribute><dia:attribute name="conn_endpoints"><dia:point val="12.4,29.8"/><dia:point val="9.125,27.95"/></dia:attribute><dia:attribute name="numcp"><dia:int val="1"/></dia:attribute><dia:attribute name="line_style"><dia:enum val="1"/></dia:attribute><dia:attribute name="dashlength"><dia:real val="0.3"/></dia:attribute><dia:connections><dia:connection handle="1" to="O5" connection="6"/></dia:connections></dia:object><dia:object type="UML - Note" version="0" id="O7"><dia:attribute name="obj_pos"><dia:point val="-3.95,29"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="-4,28.95;5.65,32.75"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="-3.95,29"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="9.55"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="3.7"/></dia:attribute><dia:attribute name="text"><dia:composite type="text"><dia:attribute name="string"><dia:string>#@storage: the storage to load from

The matecomponent_object should load its
 state from the @storage provided#</dia:string></dia:attribute><dia:attribute name="font"><dia:font family="sans" style="0" name="Courier"/></dia:attribute><dia:attribute name="height"><dia:real val="0.7"/></dia:attribute><dia:attribute name="pos"><dia:point val="-3.6,30.2"/></dia:attribute><dia:attribute name="color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="alignment"><dia:enum val="0"/></dia:attribute></dia:composite></dia:attribute></dia:object><dia:object type="Standard - Line" version="0" id="O8"><dia:attribute name="obj_pos"><dia:point val="7.2,32.1"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="5.52982,30.7798;7.27018,32.1702"/></dia:attribute><dia:attribute name="conn_endpoints"><dia:point val="7.2,32.1"/><dia:point val="5.6,30.85"/></dia:attribute><dia:attribute name="numcp"><dia:int val="1"/></dia:attribute><dia:attribute name="line_style"><dia:enum val="1"/></dia:attribute><dia:attribute name="dashlength"><dia:real val="0.3"/></dia:attribute><dia:connections><dia:connection handle="0" to="O3" connection="8"/><dia:connection handle="1" to="O7" connection="4"/></dia:connections></dia:object><dia:object type="UML - Note" version="0" id="O9"><dia:attribute name="obj_pos"><dia:point val="-6.4,34.2"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="-6.45,34.15;11.7,37.95"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="-6.4,34.2"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="18.05"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="3.7"/></dia:attribute><dia:attribute name="text"><dia:composite type="text"><dia:attribute name="string"><dia:string>#@storage: The storage in which to save the state of the matecomponent_object
@same_as_loaded: if TRUE, this means the object is being saved to
                              the same source used to load the object
MateComponentObjects should save their sate in the @storage#</dia:string></dia:attribute><dia:attribute name="font"><dia:font family="sans" style="0" name="Courier"/></dia:attribute><dia:attribute name="height"><dia:real val="0.7"/></dia:attribute><dia:attribute name="pos"><dia:point val="-6.05,35.4"/></dia:attribute><dia:attribute name="color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="alignment"><dia:enum val="0"/></dia:attribute></dia:composite></dia:attribute></dia:object><dia:object type="Standard - Line" version="0" id="O10"><dia:attribute name="obj_pos"><dia:point val="7.2,32.9"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="2.56324,32.8382;7.26176,34.2618"/></dia:attribute><dia:attribute name="conn_endpoints"><dia:point val="7.2,32.9"/><dia:point val="2.625,34.2"/></dia:attribute><dia:attribute name="numcp"><dia:int val="1"/></dia:attribute><dia:attribute name="line_style"><dia:enum val="1"/></dia:attribute><dia:attribute name="dashlength"><dia:real val="0.3"/></dia:attribute><dia:connections><dia:connection handle="0" to="O3" connection="10"/><dia:connection handle="1" to="O9" connection="1"/></dia:connections></dia:object><dia:object type="UML - Class" version="0" id="O11"><dia:attribute name="obj_pos"><dia:point val="23.6,24.8"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="23.55,24.75;30.15,26.25"/></dia:attribute><dia:attribute name="elem_corner"><dia:point val="23.6,24.8"/></dia:attribute><dia:attribute name="elem_width"><dia:real val="6.5"/></dia:attribute><dia:attribute name="elem_height"><dia:real val="1.4"/></dia:attribute><dia:attribute name="name"><dia:string>#PersistStream#</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:attribute name="comment"><dia:string>##</dia:string></dia:attribute><dia:attribute name="abstract"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="suppress_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_attributes"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_operations"><dia:boolean val="false"/></dia:attribute><dia:attribute name="visible_comments"><dia:boolean val="false"/></dia:attribute><dia:attribute name="foreground_color"><dia:color val="#000000"/></dia:attribute><dia:attribute name="background_color"><dia:color val="#ffffff"/></dia:attribute><dia:attribute name="normal_font"><dia:font family="monospace" style="0" name="Courier"/></dia:attribute><dia:attribute name="abstract_font"><dia:font family="monospace" style="88" name="Courier"/></dia:attribute><dia:attribute name="polymorphic_font"><dia:font family="monospace" style="8" name="Courier"/></dia:attribute><dia:attribute name="classname_font"><dia:font family="sans" style="80" name="Courier"/></dia:attribute><dia:attribute name="abstract_classname_font"><dia:font family="sans" style="88" name="Courier"/></dia:attribute><dia:attribute name="comment_font"><dia:font family="sans" style="8" name="Courier"/></dia:attribute><dia:attribute name="font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="polymorphic_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="abstract_font_height"><dia:real val="0.8"/></dia:attribute><dia:attribute name="classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="abstract_classname_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="comment_font_height"><dia:real val="1"/></dia:attribute><dia:attribute name="attributes"/><dia:attribute name="operations"/><dia:attribute name="template"><dia:boolean val="false"/></dia:attribute><dia:attribute name="templates"/></dia:object><dia:object type="UML - Generalization" version="0" id="O12"><dia:attribute name="obj_pos"><dia:point val="14.025,21.4"/></dia:attribute><dia:attribute name="obj_bb"><dia:rectangle val="13.175,21.35;26.9,25"/></dia:attribute><dia:attribute name="orth_points"><dia:point val="14.025,21.4"/><dia:point val="14.025,23.4"/><dia:point val="26.85,23.4"/><dia:point val="26.85,24.8"/></dia:attribute><dia:attribute name="orth_orient"><dia:enum val="1"/><dia:enum val="0"/><dia:enum val="1"/></dia:attribute><dia:attribute name="name"><dia:string>##</dia:string></dia:attribute><dia:attribute name="stereotype"><dia:string>##</dia:string></dia:attribute><dia:connections><dia:connection handle="0" to="O0" connection="6"/><dia:connection handle="1" to="O11" connection="1"/></dia:connections></dia:object></dia:layer></dia:diagram>
