maxGraph/dotnet/docs/html/classcom_1_1mxgraph_1_1mxCo...

726 lines
40 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>mxGraph: com.mxgraph.mxCodec Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">mxGraph
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>com</b> </li>
<li class="navelem"><a class="el" href="namespacecom_1_1mxgraph.html">mxgraph</a> </li>
<li class="navelem"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html">mxCodec</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#properties">Properties</a> </div>
<div class="headertitle">
<div class="title">com.mxgraph.mxCodec Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="com::mxgraph::mxCodec" -->
<p>XML codec for .NET object graphs. In order to resolve forward references when reading files the XML document that contains the data must be passed to the constructor.
<a href="classcom_1_1mxgraph_1_1mxCodec.html#details">More...</a></p>
<p><a href="classcom_1_1mxgraph_1_1mxCodec-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a07e453ed963ab7bc07639091b9e371cb">mxCodec</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an XML encoder/decoder with a new owner document. <a href="#a07e453ed963ab7bc07639091b9e371cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#abc2542faf421e95e1074c8b4c8b88b21">mxCodec</a> (XmlDocument <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aad8ec158a71d86cd392af0f7dc519b63">document</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an XML encoder/decoder for the specified owner document. The document is required to resolve forward ID references. This means if you parse a graphmodel that is represented in XML you must also pass the document that contains the XML to the constructor, otherwise forward references will not be resolved. <a href="#abc2542faf421e95e1074c8b4c8b88b21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a662c18d5b7a3c7d31031653baec1c9fa">PutObject</a> (string id, Object obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assoiates the given object with the given ID. <a href="#a662c18d5b7a3c7d31031653baec1c9fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#af7284e48f4139e92b75c38598bec683e">GetObject</a> (string id)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the decoded object for the element with the specified ID in document. If the object is not known then lookup is used to find an object. If no object is found, then the element with the respective ID from the document is parsed using decode. <a href="#af7284e48f4139e92b75c38598bec683e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#abda3b8202fd04cb2e3730d3dd2560f9b">Lookup</a> (string id)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Hook for subclassers to implement a custom lookup mechanism for cell IDs. This implementation always returns null. <a href="#abda3b8202fd04cb2e3730d3dd2560f9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">XmlNode&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a1910f4beb57b5515cfd5a16119d78de0">GetElementById</a> (string id)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the element with the given ID from the document. <a href="#a1910f4beb57b5515cfd5a16119d78de0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">XmlNode&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ae5fbaf5134674b6fed89bbd36ad3259d">GetElementById</a> (string id, string attributeName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the element with the given ID from document. The optional attr argument specifies the name of the ID attribute. Default is id. The XPath expression used to find the element is //*[@id='arg'] where id is the name of the ID attribute (attributeName) and arg is the given id. <a href="#ae5fbaf5134674b6fed89bbd36ad3259d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ae259ea85ae98f767a6ebfb15468652ca">GetId</a> (Object obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ID of the specified object. This implementation calls reference first and if that returns null handles the object as an <a class="el" href="classcom_1_1mxgraph_1_1mxCell.html" title="Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.">mxCell</a> by returning their IDs using mxCell.getId. If no ID exists for the given cell, then an on-the-fly ID is generated using mxCellPath.create. <a href="#ae259ea85ae98f767a6ebfb15468652ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a9e373d85a134b3b71d0969fa0faa0e4c">Reference</a> (Object obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Hook for subclassers to implement a custom method for retrieving IDs from objects. This implementation always returns null. <a href="#a9e373d85a134b3b71d0969fa0faa0e4c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">XmlNode&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a3088b2e442dd7ea6f92a7ccba3b12251">Encode</a> (Object obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes the specified object and returns the resulting XML node. <a href="#a3088b2e442dd7ea6f92a7ccba3b12251"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aa0ad136f46f6a2b29360bd1537ff30fc">Decode</a> (XmlNode node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the given XML node using decode(XmlNode, Object). <a href="#aa0ad136f46f6a2b29360bd1537ff30fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aa4d103574f3b6b379d7d7cca995a2a3d">Decode</a> (XmlNode node, Object into)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the given XML node. The optional "into" argument specifies an existing object to be used. If no object is given, then a new instance is created using the constructor from the codec. The function returns the passed in object or the new instance if no object was given. <a href="#aa4d103574f3b6b379d7d7cca995a2a3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a52442cecf5ce690681d95496c9673f87">EncodeCell</a> (<a class="el" href="interfacecom_1_1mxgraph_1_1mxICell.html">mxICell</a> cell, XmlNode node, bool includeChildren)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg. <a class="el" href="classcom_1_1mxgraph_1_1mxModelCodec.html" title="Codec for mxGraphModels. This class is created and registered dynamically at load time and used impli...">mxModelCodec</a>, mxChildChangeCodec and mxRootChangeCodec). This implementation writes the given cell and its children as a (flat) sequence into the given node. The children are not encoded if the optional includeChildren is false. The function is in charge of adding the result into the given node and has no return value. <a href="#a52442cecf5ce690681d95496c9673f87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfacecom_1_1mxgraph_1_1mxICell.html">mxICell</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a824d4ca6eaa4cf228e055c4485b7ea52">DecodeCell</a> (XmlNode node, bool restoreStructures)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes cells that have been encoded using inversion, ie. where the user object is the enclosing node in the XML, and restores the group and graph structure in the cells. Returns a new <a class="el" href="classcom_1_1mxgraph_1_1mxCell.html" title="Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.">mxCell</a> instance that represents the given node. <a href="#a824d4ca6eaa4cf228e055c4485b7ea52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ae58f38afc74452857f2e339eba51f6b6">InsertIntoGraph</a> (<a class="el" href="interfacecom_1_1mxgraph_1_1mxICell.html">mxICell</a> cell)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the given cell into its parent and terminal cells. <a href="#ae58f38afc74452857f2e339eba51f6b6"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a799403c766d5a6c12525fb0278c50e74">SetAttribute</a> (XmlNode node, string attribute, Object value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the attribute on the specified node to value. This is a helper method that makes sure the attribute and value arguments are not null. <a href="#a799403c766d5a6c12525fb0278c50e74"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">XmlDocument&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aad8ec158a71d86cd392af0f7dc519b63">document</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the owner document of the codec. <a href="#aad8ec158a71d86cd392af0f7dc519b63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Dictionary&lt; string, object &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a04522d7a38095efb6263bd10518fc6cc">objects</a> = new Dictionary&lt;string, Object&gt;()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps from IDs to objects. <a href="#a04522d7a38095efb6263bd10518fc6cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a32a5c223e9e716534ee445271ca770ff">encodeDefaults</a> = false</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies if default values should be encoded. Default is false. <a href="#a32a5c223e9e716534ee445271ca770ff"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="properties"></a>
Properties</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">XmlDocument&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ad62be275d2f44acaf2e8be0a4a07ee4e">Document</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets or returns the owner document of the codec. <a href="#ad62be275d2f44acaf2e8be0a4a07ee4e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ab1f1547969b60eaf71b1aa5ac686ea2a">IsEncodeDefaults</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets or returns if default values of member variables should be encoded. <a href="#ab1f1547969b60eaf71b1aa5ac686ea2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Dictionary&lt; string, object &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ad5808ca1e07460f138eb34b3ae244e27">Objects</a><code> [get]</code></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object lookup table. <a href="#ad5808ca1e07460f138eb34b3ae244e27"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>XML codec for .NET object graphs. In order to resolve forward references when reading files the XML document that contains the data must be passed to the constructor. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a07e453ed963ab7bc07639091b9e371cb"></a><!-- doxytag: member="com::mxgraph::mxCodec::mxCodec" ref="a07e453ed963ab7bc07639091b9e371cb" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a07e453ed963ab7bc07639091b9e371cb">com.mxgraph.mxCodec.mxCodec</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs an XML encoder/decoder with a new owner document. </p>
</div>
</div>
<a class="anchor" id="abc2542faf421e95e1074c8b4c8b88b21"></a><!-- doxytag: member="com::mxgraph::mxCodec::mxCodec" ref="abc2542faf421e95e1074c8b4c8b88b21" args="(XmlDocument document)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a07e453ed963ab7bc07639091b9e371cb">com.mxgraph.mxCodec.mxCodec</a> </td>
<td>(</td>
<td class="paramtype">XmlDocument&#160;</td>
<td class="paramname"><em>document</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs an XML encoder/decoder for the specified owner document. The document is required to resolve forward ID references. This means if you parse a graphmodel that is represented in XML you must also pass the document that contains the XML to the constructor, otherwise forward references will not be resolved. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">document</td><td>Optional XML document that contains the data. If no document is specified then a new document is created using mxUtils.createDocument</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa0ad136f46f6a2b29360bd1537ff30fc"></a><!-- doxytag: member="com::mxgraph::mxCodec::Decode" ref="aa0ad136f46f6a2b29360bd1537ff30fc" args="(XmlNode node)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Object <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aa0ad136f46f6a2b29360bd1537ff30fc">com.mxgraph.mxCodec.Decode</a> </td>
<td>(</td>
<td class="paramtype">XmlNode&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decodes the given XML node using decode(XmlNode, Object). </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>XML node to be decoded.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns an object that represents the given node.</dd></dl>
</div>
</div>
<a class="anchor" id="aa4d103574f3b6b379d7d7cca995a2a3d"></a><!-- doxytag: member="com::mxgraph::mxCodec::Decode" ref="aa4d103574f3b6b379d7d7cca995a2a3d" args="(XmlNode node, Object into)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Object <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aa0ad136f46f6a2b29360bd1537ff30fc">com.mxgraph.mxCodec.Decode</a> </td>
<td>(</td>
<td class="paramtype">XmlNode&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Object&#160;</td>
<td class="paramname"><em>into</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decodes the given XML node. The optional "into" argument specifies an existing object to be used. If no object is given, then a new instance is created using the constructor from the codec. The function returns the passed in object or the new instance if no object was given. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>XML node to be decoded.</td></tr>
<tr><td class="paramname">into</td><td>Optional object to be decodec into.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns an object that represents the given node.</dd></dl>
</div>
</div>
<a class="anchor" id="a824d4ca6eaa4cf228e055c4485b7ea52"></a><!-- doxytag: member="com::mxgraph::mxCodec::DecodeCell" ref="a824d4ca6eaa4cf228e055c4485b7ea52" args="(XmlNode node, bool restoreStructures)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfacecom_1_1mxgraph_1_1mxICell.html">mxICell</a> <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a824d4ca6eaa4cf228e055c4485b7ea52">com.mxgraph.mxCodec.DecodeCell</a> </td>
<td>(</td>
<td class="paramtype">XmlNode&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>restoreStructures</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decodes cells that have been encoded using inversion, ie. where the user object is the enclosing node in the XML, and restores the group and graph structure in the cells. Returns a new <a class="el" href="classcom_1_1mxgraph_1_1mxCell.html" title="Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.">mxCell</a> instance that represents the given node. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>XML node that contains the cell data.</td></tr>
<tr><td class="paramname">restoreStructures</td><td>Boolean indicating whether the graph structure should be restored by calling insert and insertEdge on the parent and terminals, respectively. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Graph cell that represents the given node.</dd></dl>
</div>
</div>
<a class="anchor" id="a3088b2e442dd7ea6f92a7ccba3b12251"></a><!-- doxytag: member="com::mxgraph::mxCodec::Encode" ref="a3088b2e442dd7ea6f92a7ccba3b12251" args="(Object obj)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XmlNode <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a3088b2e442dd7ea6f92a7ccba3b12251">com.mxgraph.mxCodec.Encode</a> </td>
<td>(</td>
<td class="paramtype">Object&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encodes the specified object and returns the resulting XML node. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>Object to be encoded.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns an XML node that represents the given object.</dd></dl>
</div>
</div>
<a class="anchor" id="a52442cecf5ce690681d95496c9673f87"></a><!-- doxytag: member="com::mxgraph::mxCodec::EncodeCell" ref="a52442cecf5ce690681d95496c9673f87" args="(mxICell cell, XmlNode node, bool includeChildren)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a52442cecf5ce690681d95496c9673f87">com.mxgraph.mxCodec.EncodeCell</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfacecom_1_1mxgraph_1_1mxICell.html">mxICell</a>&#160;</td>
<td class="paramname"><em>cell</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XmlNode&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>includeChildren</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg. <a class="el" href="classcom_1_1mxgraph_1_1mxModelCodec.html" title="Codec for mxGraphModels. This class is created and registered dynamically at load time and used impli...">mxModelCodec</a>, mxChildChangeCodec and mxRootChangeCodec). This implementation writes the given cell and its children as a (flat) sequence into the given node. The children are not encoded if the optional includeChildren is false. The function is in charge of adding the result into the given node and has no return value. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">cell</td><td><a class="el" href="classcom_1_1mxgraph_1_1mxCell.html" title="Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.">mxCell</a> to be encoded.</td></tr>
<tr><td class="paramname">node</td><td>Parent XML node to add the encoded cell into.</td></tr>
<tr><td class="paramname">includeChildren</td><td>Boolean indicating if the method should include all descendents</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1910f4beb57b5515cfd5a16119d78de0"></a><!-- doxytag: member="com::mxgraph::mxCodec::GetElementById" ref="a1910f4beb57b5515cfd5a16119d78de0" args="(string id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XmlNode <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a1910f4beb57b5515cfd5a16119d78de0">com.mxgraph.mxCodec.GetElementById</a> </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the element with the given ID from the document. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>ID of the element to be returned.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the element for the given ID.</dd></dl>
</div>
</div>
<a class="anchor" id="ae5fbaf5134674b6fed89bbd36ad3259d"></a><!-- doxytag: member="com::mxgraph::mxCodec::GetElementById" ref="ae5fbaf5134674b6fed89bbd36ad3259d" args="(string id, string attributeName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XmlNode <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a1910f4beb57b5515cfd5a16119d78de0">com.mxgraph.mxCodec.GetElementById</a> </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>attributeName</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the element with the given ID from document. The optional attr argument specifies the name of the ID attribute. Default is id. The XPath expression used to find the element is //*[@id='arg'] where id is the name of the ID attribute (attributeName) and arg is the given id. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>ID of the element to be returned.</td></tr>
<tr><td class="paramname">attributeName</td><td>Optional string for the attributename. Default is id.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the element for the given ID.</dd></dl>
</div>
</div>
<a class="anchor" id="ae259ea85ae98f767a6ebfb15468652ca"></a><!-- doxytag: member="com::mxgraph::mxCodec::GetId" ref="ae259ea85ae98f767a6ebfb15468652ca" args="(Object obj)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ae259ea85ae98f767a6ebfb15468652ca">com.mxgraph.mxCodec.GetId</a> </td>
<td>(</td>
<td class="paramtype">Object&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the ID of the specified object. This implementation calls reference first and if that returns null handles the object as an <a class="el" href="classcom_1_1mxgraph_1_1mxCell.html" title="Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.">mxCell</a> by returning their IDs using mxCell.getId. If no ID exists for the given cell, then an on-the-fly ID is generated using mxCellPath.create. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>Object to return the ID for.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the ID for the given object.</dd></dl>
</div>
</div>
<a class="anchor" id="af7284e48f4139e92b75c38598bec683e"></a><!-- doxytag: member="com::mxgraph::mxCodec::GetObject" ref="af7284e48f4139e92b75c38598bec683e" args="(string id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Object <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#af7284e48f4139e92b75c38598bec683e">com.mxgraph.mxCodec.GetObject</a> </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the decoded object for the element with the specified ID in document. If the object is not known then lookup is used to find an object. If no object is found, then the element with the respective ID from the document is parsed using decode. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>ID of the object to be returned.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the object for the given ID.</dd></dl>
</div>
</div>
<a class="anchor" id="ae58f38afc74452857f2e339eba51f6b6"></a><!-- doxytag: member="com::mxgraph::mxCodec::InsertIntoGraph" ref="ae58f38afc74452857f2e339eba51f6b6" args="(mxICell cell)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ae58f38afc74452857f2e339eba51f6b6">com.mxgraph.mxCodec.InsertIntoGraph</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfacecom_1_1mxgraph_1_1mxICell.html">mxICell</a>&#160;</td>
<td class="paramname"><em>cell</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Inserts the given cell into its parent and terminal cells. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">cell</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="abda3b8202fd04cb2e3730d3dd2560f9b"></a><!-- doxytag: member="com::mxgraph::mxCodec::Lookup" ref="abda3b8202fd04cb2e3730d3dd2560f9b" args="(string id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Object <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#abda3b8202fd04cb2e3730d3dd2560f9b">com.mxgraph.mxCodec.Lookup</a> </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Hook for subclassers to implement a custom lookup mechanism for cell IDs. This implementation always returns null. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>ID of the object to be returned.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the object for the given ID.</dd></dl>
</div>
</div>
<a class="anchor" id="a662c18d5b7a3c7d31031653baec1c9fa"></a><!-- doxytag: member="com::mxgraph::mxCodec::PutObject" ref="a662c18d5b7a3c7d31031653baec1c9fa" args="(string id, Object obj)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Object <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a662c18d5b7a3c7d31031653baec1c9fa">com.mxgraph.mxCodec.PutObject</a> </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Object&#160;</td>
<td class="paramname"><em>obj</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Assoiates the given object with the given ID. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>ID for the object to be associated with.</td></tr>
<tr><td class="paramname">obj</td><td>Object to be associated with the ID.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the given object.</dd></dl>
</div>
</div>
<a class="anchor" id="a9e373d85a134b3b71d0969fa0faa0e4c"></a><!-- doxytag: member="com::mxgraph::mxCodec::Reference" ref="a9e373d85a134b3b71d0969fa0faa0e4c" args="(Object obj)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a9e373d85a134b3b71d0969fa0faa0e4c">com.mxgraph.mxCodec.Reference</a> </td>
<td>(</td>
<td class="paramtype">Object&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Hook for subclassers to implement a custom method for retrieving IDs from objects. This implementation always returns null. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>Object whose ID should be returned.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the ID for the given object.</dd></dl>
</div>
</div>
<a class="anchor" id="a799403c766d5a6c12525fb0278c50e74"></a><!-- doxytag: member="com::mxgraph::mxCodec::SetAttribute" ref="a799403c766d5a6c12525fb0278c50e74" args="(XmlNode node, string attribute, Object value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a799403c766d5a6c12525fb0278c50e74">com.mxgraph.mxCodec.SetAttribute</a> </td>
<td>(</td>
<td class="paramtype">XmlNode&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>attribute</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Object&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the attribute on the specified node to value. This is a helper method that makes sure the attribute and value arguments are not null. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>XML node to set the attribute for.</td></tr>
<tr><td class="paramname">attribute</td><td>Attributename to be set.</td></tr>
<tr><td class="paramname">value</td><td>New value of the attribute.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aad8ec158a71d86cd392af0f7dc519b63"></a><!-- doxytag: member="com::mxgraph::mxCodec::document" ref="aad8ec158a71d86cd392af0f7dc519b63" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XmlDocument <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#aad8ec158a71d86cd392af0f7dc519b63">com.mxgraph.mxCodec.document</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Holds the owner document of the codec. </p>
</div>
</div>
<a class="anchor" id="a32a5c223e9e716534ee445271ca770ff"></a><!-- doxytag: member="com::mxgraph::mxCodec::encodeDefaults" ref="a32a5c223e9e716534ee445271ca770ff" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a32a5c223e9e716534ee445271ca770ff">com.mxgraph.mxCodec.encodeDefaults</a> = false<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Specifies if default values should be encoded. Default is false. </p>
</div>
</div>
<a class="anchor" id="a04522d7a38095efb6263bd10518fc6cc"></a><!-- doxytag: member="com::mxgraph::mxCodec::objects" ref="a04522d7a38095efb6263bd10518fc6cc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Dictionary&lt;string, object&gt; <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#a04522d7a38095efb6263bd10518fc6cc">com.mxgraph.mxCodec.objects</a> = new Dictionary&lt;string, Object&gt;()<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maps from IDs to objects. </p>
</div>
</div>
<hr/><h2>Property Documentation</h2>
<a class="anchor" id="ad62be275d2f44acaf2e8be0a4a07ee4e"></a><!-- doxytag: member="com::mxgraph::mxCodec::Document" ref="ad62be275d2f44acaf2e8be0a4a07ee4e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XmlDocument <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ad62be275d2f44acaf2e8be0a4a07ee4e">com.mxgraph.mxCodec.Document</a><code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets or returns the owner document of the codec. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the owner document.</dd></dl>
</div>
</div>
<a class="anchor" id="ab1f1547969b60eaf71b1aa5ac686ea2a"></a><!-- doxytag: member="com::mxgraph::mxCodec::IsEncodeDefaults" ref="ab1f1547969b60eaf71b1aa5ac686ea2a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ab1f1547969b60eaf71b1aa5ac686ea2a">com.mxgraph.mxCodec.IsEncodeDefaults</a><code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets or returns if default values of member variables should be encoded. </p>
</div>
</div>
<a class="anchor" id="ad5808ca1e07460f138eb34b3ae244e27"></a><!-- doxytag: member="com::mxgraph::mxCodec::Objects" ref="ad5808ca1e07460f138eb34b3ae244e27" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Dictionary&lt;string, object&gt; <a class="el" href="classcom_1_1mxgraph_1_1mxCodec.html#ad5808ca1e07460f138eb34b3ae244e27">com.mxgraph.mxCodec.Objects</a><code> [get]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the object lookup table. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/io/mxCodec.cs</li>
</ul>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Aug 9 2013 10:05:12 for mxGraph by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>