maxGraph/java/docs/com/mxgraph/model/mxGraphModel.html

2353 lines
128 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Mon Nov 10 04:00:00 EST 2014 -->
<title>mxGraphModel (mxGraph 3.1.1.1 API Specification)</title>
<meta name="date" content="2014-11-10">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="mxGraphModel (mxGraph 3.1.1.1 API Specification)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/mxGraphModel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><p><b>mxGraph 3.1.1.1</b></p></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/mxgraph/model/mxGraphModel.html" target="_top">Frames</a></li>
<li><a href="mxGraphModel.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.mxgraph.model</div>
<h2 title="Class mxGraphModel" class="title">Class mxGraphModel</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../com/mxgraph/util/mxEventSource.html" title="class in com.mxgraph.util">com.mxgraph.util.mxEventSource</a></li>
<li>
<ul class="inheritance">
<li>com.mxgraph.model.mxGraphModel</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>, java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">mxGraphModel</span>
extends <a href="../../../com/mxgraph/util/mxEventSource.html" title="class in com.mxgraph.util">mxEventSource</a>
implements <a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>, java.io.Serializable</pre>
<div class="block">Extends mxEventSource to implement a graph model. The graph model acts as
a wrapper around the cells which are in charge of storing the actual graph
datastructure. The model acts as a transactional wrapper with event
notification for all changes, whereas the cells contain the atomic
operations for updating the actual datastructure.
Layers:
The cell hierarchy in the model must have a top-level root cell which
contains the layers (typically one default layer), which in turn contain the
top-level cells of the layers. This means each cell is contained in a layer.
If no layers are required, then all new cells should be added to the default
layer.
Layers are useful for hiding and showing groups of cells, or for placing
groups of cells on top of other cells in the display. To identify a layer,
the <isLayer> function is used. It returns true if the parent of the given
cell is the root of the model.
This class fires the following events:
mxEvent.CHANGE fires when an undoable edit is dispatched. The <code>edit</code>
property contains the mxUndoableEdit. The <code>changes</code> property
contains the list of undoable changes inside the undoable edit. The changes
property is deprecated, please use edit.getChanges() instead.
mxEvent.EXECUTE fires between begin- and endUpdate and after an atomic
change was executed in the model. The <code>change</code> property contains
the atomic change that was executed.
mxEvent.BEGIN_UPDATE fires after the updateLevel was incremented in
beginUpdate. This event contains no properties.
mxEvent.END_UPDATE fires after the updateLevel was decreased in endUpdate
but before any notification or change dispatching. The <code>edit</code>
property contains the current mxUndoableEdit.
mxEvent.BEFORE_UNDO fires before the change is dispatched after the update
level has reached 0 in endUpdate. The <code>edit</code> property contains
the current mxUndoableEdit.
mxEvent.UNDO fires after the change was dispatched in endUpdate. The
<code>edit</code> property contains the current mxUndoableEdit.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../serialized-form.html#com.mxgraph.model.mxGraphModel">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxChildChange.html" title="class in com.mxgraph.model">mxGraphModel.mxChildChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxCollapseChange.html" title="class in com.mxgraph.model">mxGraphModel.mxCollapseChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxGeometryChange.html" title="class in com.mxgraph.model">mxGraphModel.mxGeometryChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxRootChange.html" title="class in com.mxgraph.model">mxGraphModel.mxRootChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxStyleChange.html" title="class in com.mxgraph.model">mxGraphModel.mxStyleChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxTerminalChange.html" title="class in com.mxgraph.model">mxGraphModel.mxTerminalChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxValueChange.html" title="class in com.mxgraph.model">mxGraphModel.mxValueChange</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.mxVisibleChange.html" title="class in com.mxgraph.model">mxGraphModel.mxVisibleChange</a></strong></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested_classes_inherited_from_class_com.mxgraph.util.mxEventSource">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;com.mxgraph.util.<a href="../../../com/mxgraph/util/mxEventSource.html" title="class in com.mxgraph.util">mxEventSource</a></h3>
<code><a href="../../../com/mxgraph/util/mxEventSource.mxIEventListener.html" title="interface in com.mxgraph.util">mxEventSource.mxIEventListener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested_classes_inherited_from_class_com.mxgraph.model.mxIGraphModel">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.mxgraph.model.<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></h3>
<code><a href="../../../com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html" title="class in com.mxgraph.model">mxIGraphModel.mxAtomicGraphModelChange</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,java.lang.Object&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#cells">cells</a></strong></code>
<div class="block">Maps from Ids to cells.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#createIds">createIds</a></strong></code>
<div class="block">Specifies if the model should automatically create Ids for new cells.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/util/mxUndoableEdit.html" title="class in com.mxgraph.util">mxUndoableEdit</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#currentEdit">currentEdit</a></strong></code>
<div class="block">Holds the changes for the current transaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#endingUpdate">endingUpdate</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#maintainEdgeParent">maintainEdgeParent</a></strong></code>
<div class="block">Specifies if edges should automatically be moved into the nearest common
ancestor of their terminals.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#nextId">nextId</a></strong></code>
<div class="block">Specifies the next Id to be created.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#root">root</a></strong></code>
<div class="block">Holds the root cell, which in turn contains the cells that represent the
layers of the diagram as child cells.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#updateLevel">updateLevel</a></strong></code>
<div class="block">Counter for the depth of nested transactions.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_com.mxgraph.util.mxEventSource">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;com.mxgraph.util.<a href="../../../com/mxgraph/util/mxEventSource.html" title="class in com.mxgraph.util">mxEventSource</a></h3>
<code><a href="../../../com/mxgraph/util/mxEventSource.html#eventListeners">eventListeners</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#eventsEnabled">eventsEnabled</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#eventSource">eventSource</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#mxGraphModel()">mxGraphModel</a></strong>()</code>
<div class="block">Constructs a new empty graph model.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#mxGraphModel(java.lang.Object)">mxGraphModel</a></strong>(java.lang.Object&nbsp;root)</code>
<div class="block">Constructs a new graph model.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#add(java.lang.Object, java.lang.Object, int)">add</a></strong>(java.lang.Object&nbsp;parent,
java.lang.Object&nbsp;child,
int&nbsp;index)</code>
<div class="block">Adds the specified child to the parent at the given index.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#beginUpdate()">beginUpdate</a></strong>()</code>
<div class="block">Increments the updateLevel by one.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#cellAdded(java.lang.Object)">cellAdded</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Invoked after a cell has been added to a parent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#cellRemoved(java.lang.Object)">cellRemoved</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Invoked after a cell has been removed from the model.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#clear()">clear</a></strong>()</code>
<div class="block">Sets a new root using createRoot.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#cloneCell(java.lang.Object, java.util.Map, boolean)">cloneCell</a></strong>(java.lang.Object&nbsp;cell,
java.util.Map&lt;java.lang.Object,java.lang.Object&gt;&nbsp;mapping,
boolean&nbsp;includeChildren)</code>
<div class="block">Inner helper method for cloning cells recursively.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#cloneCells(java.lang.Object[], boolean)">cloneCells</a></strong>(java.lang.Object[]&nbsp;cells,
boolean&nbsp;includeChildren)</code>
<div class="block">Returns an array of clones for the given array of cells.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#collapsedStateForCellChanged(java.lang.Object, boolean)">collapsedStateForCellChanged</a></strong>(java.lang.Object&nbsp;cell,
boolean&nbsp;collapsed)</code>
<div class="block">Inner callback to update the collapsed state of the
given mxCell using mxCell.setCollapsed and return
the previous collapsed state.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#contains(java.lang.Object)">contains</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns true if the model contains the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#createId(java.lang.Object)">createId</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Creates a new Id for the given cell and increments the global counter
for creating new Ids.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#createRoot()">createRoot</a></strong>()</code>
<div class="block">Creates a new root cell with a default layer (child 0).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/util/mxUndoableEdit.html" title="class in com.mxgraph.util">mxUndoableEdit</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#createUndoableEdit()">createUndoableEdit</a></strong>()</code>
<div class="block">Creates a new undoable edit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#endUpdate()">endUpdate</a></strong>()</code>
<div class="block">Decrements the updateLevel by one and fires a notification event if the
updateLevel reaches 0.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#execute(com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange)">execute</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html" title="class in com.mxgraph.model">mxIGraphModel.mxAtomicGraphModelChange</a>&nbsp;change)</code>
<div class="block">Executes the given atomic change and adds it to the current edit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#filterCells(java.lang.Object[], com.mxgraph.model.mxGraphModel.Filter)">filterCells</a></strong>(java.lang.Object[]&nbsp;cells,
<a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a>&nbsp;filter)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.Collection&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#filterDescendants(com.mxgraph.model.mxIGraphModel, com.mxgraph.model.mxGraphModel.Filter)">filterDescendants</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
<a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a>&nbsp;filter)</code>
<div class="block">Creates a collection of cells using the visitor pattern.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.Collection&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#filterDescendants(com.mxgraph.model.mxIGraphModel, com.mxgraph.model.mxGraphModel.Filter, java.lang.Object)">filterDescendants</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
<a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a>&nbsp;filter,
java.lang.Object&nbsp;parent)</code>
<div class="block">Creates a collection of cells using the visitor pattern.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#geometryForCellChanged(java.lang.Object, com.mxgraph.model.mxGeometry)">geometryForCellChanged</a></strong>(java.lang.Object&nbsp;cell,
<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;geometry)</code>
<div class="block">Inner callback to update the mxGeometry of the given mxCell using
mxCell.setGeometry and return the previous mxGeometry.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getCell(java.lang.String)">getCell</a></strong>(java.lang.String&nbsp;id)</code>
<div class="block">Returns the cell for the specified Id or null if no cell can be
found for the given Id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.Object&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getCells()">getCells</a></strong>()</code>
<div class="block">Returns the internal lookup table that is used to map from Ids to cells.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getChildAt(java.lang.Object, int)">getChildAt</a></strong>(java.lang.Object&nbsp;parent,
int&nbsp;index)</code>
<div class="block">Returns the child of the given parent at the given index.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getChildCells(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean, boolean)">getChildCells</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent,
boolean&nbsp;vertices,
boolean&nbsp;edges)</code>
<div class="block">Returns the children of the given cell that are vertices and/or edges
depending on the arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getChildCount(java.lang.Object)">getChildCount</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the number of children in the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getChildEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getChildEdges</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</code>
<div class="block">Returns the child edges of the given parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getChildren(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getChildren</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</code>
<div class="block">Returns all children of the given cell regardless of their type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getChildVertices(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getChildVertices</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</code>
<div class="block">Returns the child vertices of the given parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getConnections(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getConnections</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</code>
<div class="block">Returns all edges connected to this cell without loops.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.Collection&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getDescendants(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getDescendants</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</code>
<div class="block">Returns a all descendants of the given cell and the cell itself
as a collection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getDirectedEdgeCount(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean)">getDirectedEdgeCount</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell,
boolean&nbsp;outgoing)</code>
<div class="block">Returns the number of incoming or outgoing edges.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getDirectedEdgeCount(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean, java.lang.Object)">getDirectedEdgeCount</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell,
boolean&nbsp;outgoing,
java.lang.Object&nbsp;ignoredEdge)</code>
<div class="block">Returns the number of incoming or outgoing edges, ignoring the given
edge.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getEdgeAt(java.lang.Object, int)">getEdgeAt</a></strong>(java.lang.Object&nbsp;parent,
int&nbsp;index)</code>
<div class="block">Returns the edge of cell at the given index.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getEdgeCount(java.lang.Object)">getEdgeCount</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the number of distinct edges connected to the given cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getEdges</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</code>
<div class="block">Returns all edges connected to this cell including loops.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean, boolean, boolean)">getEdges</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell,
boolean&nbsp;incoming,
boolean&nbsp;outgoing,
boolean&nbsp;includeLoops)</code>
<div class="block">Returns all distinct edges connected to this cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getEdgesBetween(com.mxgraph.model.mxIGraphModel, java.lang.Object, java.lang.Object)">getEdgesBetween</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;source,
java.lang.Object&nbsp;target)</code>
<div class="block">Returns all edges from the given source to the given target.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getEdgesBetween(com.mxgraph.model.mxIGraphModel, java.lang.Object, java.lang.Object, boolean)">getEdgesBetween</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;source,
java.lang.Object&nbsp;target,
boolean&nbsp;directed)</code>
<div class="block">Returns all edges between the given source and target pair.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getGeometry(java.lang.Object)">getGeometry</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the geometry of the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getIncomingEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getIncomingEdges</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the incoming edges of the given cell without loops.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getNearestCommonAncestor(java.lang.Object, java.lang.Object)">getNearestCommonAncestor</a></strong>(java.lang.Object&nbsp;cell1,
java.lang.Object&nbsp;cell2)</code>
<div class="block">Returns the nearest common ancestor for the specified cells.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getOpposites(com.mxgraph.model.mxIGraphModel, java.lang.Object[], java.lang.Object)">getOpposites</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;edges,
java.lang.Object&nbsp;terminal)</code>
<div class="block">Returns all opposite cells of terminal for the given edges.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getOpposites(com.mxgraph.model.mxIGraphModel, java.lang.Object[], java.lang.Object, boolean, boolean)">getOpposites</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;edges,
java.lang.Object&nbsp;terminal,
boolean&nbsp;sources,
boolean&nbsp;targets)</code>
<div class="block">Returns all opposite vertices wrt terminal for the given edges, only
returning sources and/or targets as specified.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../com/mxgraph/util/mxPoint.html" title="class in com.mxgraph.util">mxPoint</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getOrigin(java.lang.Object)">getOrigin</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the absolute, accumulated origin for the children inside the
given parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getOutgoingEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">getOutgoingEdges</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the outgoing edges of the given cell without loops.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getParent(java.lang.Object)">getParent</a></strong>(java.lang.Object&nbsp;child)</code>
<div class="block">Returns the parent of the given cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getParents(com.mxgraph.model.mxIGraphModel, java.lang.Object[])">getParents</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;cells)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getRoot()">getRoot</a></strong>()</code>
<div class="block">Returns the root of the model or the topmost parent of the given cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getStyle(java.lang.Object)">getStyle</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the style of the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getTerminal(java.lang.Object, boolean)">getTerminal</a></strong>(java.lang.Object&nbsp;edge,
boolean&nbsp;isSource)</code>
<div class="block">Returns the source or target terminal of the given edge depending on the
value of the boolean parameter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object[]</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getTopmostCells(com.mxgraph.model.mxIGraphModel, java.lang.Object[])">getTopmostCells</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;cells)</code>
<div class="block">Function: getTopmostCells
Returns the topmost cells of the hierarchy in an array that contains no
desceandants for each <mxCell> that it contains.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getUpdateLevel()">getUpdateLevel</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#getValue(java.lang.Object)">getValue</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns the user object of the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isAncestor(java.lang.Object, java.lang.Object)">isAncestor</a></strong>(java.lang.Object&nbsp;parent,
java.lang.Object&nbsp;child)</code>
<div class="block">Returns true if the given parent is an ancestor of the given child.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isCollapsed(java.lang.Object)">isCollapsed</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns true if the given cell is collapsed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isConnectable(java.lang.Object)">isConnectable</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns true if the given cell is connectable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isCreateIds()">isCreateIds</a></strong>()</code>
<div class="block">Returns true if the model automatically creates Ids and resolves Id
collisions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isEdge(java.lang.Object)">isEdge</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns true if the given cell is an edge.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isMaintainEdgeParent()">isMaintainEdgeParent</a></strong>()</code>
<div class="block">Returns true if the model automatically update parents of edges so that
the edge is contained in the nearest-common-ancestor of its terminals.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isVertex(java.lang.Object)">isVertex</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns true if the given cell is a vertex.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#isVisible(java.lang.Object)">isVisible</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Returns true if the given cell is visible.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#mergeChildren(com.mxgraph.model.mxICell, com.mxgraph.model.mxICell, boolean)">mergeChildren</a></strong>(<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;from,
<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;to,
boolean&nbsp;cloneAllEdges)</code>
<div class="block">Merges the children of the given cell into the given target cell inside
this model.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#mergeChildrenImpl(com.mxgraph.model.mxICell, com.mxgraph.model.mxICell, boolean, java.util.Hashtable)">mergeChildrenImpl</a></strong>(<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;from,
<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;to,
boolean&nbsp;cloneAllEdges,
java.util.Hashtable&lt;java.lang.Object,java.lang.Object&gt;&nbsp;mapping)</code>
<div class="block">Clones the children of the source cell into the given target cell in
this model and adds an entry to the mapping that maps from the source
cell to the target cell with the same id or the clone of the source cell
that was inserted into this model.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#parentForCellChanged(java.lang.Object, java.lang.Object, int)">parentForCellChanged</a></strong>(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;parent,
int&nbsp;index)</code>
<div class="block">Inner callback to update the parent of a cell using mxCell.insert
on the parent and return the previous parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#remove(java.lang.Object)">remove</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Removes the specified cell from the model.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#restoreClone(java.lang.Object, java.lang.Object, java.util.Map)">restoreClone</a></strong>(java.lang.Object&nbsp;clone,
java.lang.Object&nbsp;cell,
java.util.Map&lt;java.lang.Object,java.lang.Object&gt;&nbsp;mapping)</code>
<div class="block">Inner helper method for restoring the connections in
a network of cloned cells.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#rootChanged(java.lang.Object)">rootChanged</a></strong>(java.lang.Object&nbsp;root)</code>
<div class="block">Inner callback to change the root of the model and update the internal
datastructures, such as cells and nextId.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setCollapsed(java.lang.Object, boolean)">setCollapsed</a></strong>(java.lang.Object&nbsp;cell,
boolean&nbsp;collapsed)</code>
<div class="block">Sets the collapsed state of the given cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setCreateIds(boolean)">setCreateIds</a></strong>(boolean&nbsp;value)</code>
<div class="block">Specifies if the model automatically creates Ids for new cells and
resolves Id collisions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setGeometry(java.lang.Object, com.mxgraph.model.mxGeometry)">setGeometry</a></strong>(java.lang.Object&nbsp;cell,
<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;geometry)</code>
<div class="block">Sets the geometry of the given cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setMaintainEdgeParent(boolean)">setMaintainEdgeParent</a></strong>(boolean&nbsp;maintainEdgeParent)</code>
<div class="block">Specifies if the model automatically updates parents of edges so that
the edge is contained in the nearest-common-ancestor of its terminals.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setRoot(java.lang.Object)">setRoot</a></strong>(java.lang.Object&nbsp;root)</code>
<div class="block">Sets the root of the model and resets all structures.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setStyle(java.lang.Object, java.lang.String)">setStyle</a></strong>(java.lang.Object&nbsp;cell,
java.lang.String&nbsp;style)</code>
<div class="block">Sets the style of the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setTerminal(java.lang.Object, java.lang.Object, boolean)">setTerminal</a></strong>(java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;terminal,
boolean&nbsp;isSource)</code>
<div class="block">Sets the source or target terminal of the given edge using.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setTerminals(com.mxgraph.model.mxIGraphModel, java.lang.Object, java.lang.Object, java.lang.Object)">setTerminals</a></strong>(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;source,
java.lang.Object&nbsp;target)</code>
<div class="block">Sets the source and target of the given edge in a single atomic change.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setValue(java.lang.Object, java.lang.Object)">setValue</a></strong>(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;value)</code>
<div class="block">Sets the user object of then given cell.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#setVisible(java.lang.Object, boolean)">setVisible</a></strong>(java.lang.Object&nbsp;cell,
boolean&nbsp;visible)</code>
<div class="block">Sets the visible state of the given cell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#styleForCellChanged(java.lang.Object, java.lang.String)">styleForCellChanged</a></strong>(java.lang.Object&nbsp;cell,
java.lang.String&nbsp;style)</code>
<div class="block">Inner callback to update the style of the given mxCell
using mxCell.setStyle and return the previous style.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#terminalForCellChanged(java.lang.Object, java.lang.Object, boolean)">terminalForCellChanged</a></strong>(java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;terminal,
boolean&nbsp;isSource)</code>
<div class="block">Inner helper function to update the terminal of the edge using
mxCell.insertEdge and return the previous terminal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#updateEdgeParent(java.lang.Object, java.lang.Object)">updateEdgeParent</a></strong>(java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;root)</code>
<div class="block">Inner helper method to update the parent of the specified edge to the
nearest-common-ancestor of its two terminals.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#updateEdgeParents(java.lang.Object)">updateEdgeParents</a></strong>(java.lang.Object&nbsp;cell)</code>
<div class="block">Updates the parents of the edges connected to the given cell and all its
descendants so that each edge is contained in the nearest common
ancestor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#updateEdgeParents(java.lang.Object, java.lang.Object)">updateEdgeParents</a></strong>(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;root)</code>
<div class="block">Updates the parents of the edges connected to the given cell and all its
descendants so that the edge is contained in the nearest-common-ancestor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#valueForCellChanged(java.lang.Object, java.lang.Object)">valueForCellChanged</a></strong>(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;value)</code>
<div class="block">Inner callback to update the user object of the given mxCell
using mxCell.setValue and return the previous value,
that is, the return value of mxCell.getValue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/model/mxGraphModel.html#visibleStateForCellChanged(java.lang.Object, boolean)">visibleStateForCellChanged</a></strong>(java.lang.Object&nbsp;cell,
boolean&nbsp;visible)</code>
<div class="block">Sets the visible state of the given mxCell using mxVisibleChange and
adds the change to the current transaction.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_com.mxgraph.util.mxEventSource">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.mxgraph.util.<a href="../../../com/mxgraph/util/mxEventSource.html" title="class in com.mxgraph.util">mxEventSource</a></h3>
<code><a href="../../../com/mxgraph/util/mxEventSource.html#addListener(java.lang.String, com.mxgraph.util.mxEventSource.mxIEventListener)">addListener</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#fireEvent(com.mxgraph.util.mxEventObject)">fireEvent</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#fireEvent(com.mxgraph.util.mxEventObject, java.lang.Object)">fireEvent</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#getEventSource()">getEventSource</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#isEventsEnabled()">isEventsEnabled</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#removeListener(com.mxgraph.util.mxEventSource.mxIEventListener)">removeListener</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#removeListener(com.mxgraph.util.mxEventSource.mxIEventListener, java.lang.String)">removeListener</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#setEventsEnabled(boolean)">setEventsEnabled</a>, <a href="../../../com/mxgraph/util/mxEventSource.html#setEventSource(java.lang.Object)">setEventSource</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_com.mxgraph.model.mxIGraphModel">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.mxgraph.model.<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></h3>
<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#addListener(java.lang.String, com.mxgraph.util.mxEventSource.mxIEventListener)">addListener</a>, <a href="../../../com/mxgraph/model/mxIGraphModel.html#removeListener(com.mxgraph.util.mxEventSource.mxIEventListener)">removeListener</a>, <a href="../../../com/mxgraph/model/mxIGraphModel.html#removeListener(com.mxgraph.util.mxEventSource.mxIEventListener, java.lang.String)">removeListener</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="root">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>root</h4>
<pre>protected&nbsp;<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a> root</pre>
<div class="block">Holds the root cell, which in turn contains the cells that represent the
layers of the diagram as child cells. That is, the actual element of the
diagram are supposed to live in the third generation of cells and below.</div>
</li>
</ul>
<a name="cells">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cells</h4>
<pre>protected&nbsp;java.util.Map&lt;java.lang.String,java.lang.Object&gt; cells</pre>
<div class="block">Maps from Ids to cells.</div>
</li>
</ul>
<a name="maintainEdgeParent">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maintainEdgeParent</h4>
<pre>protected&nbsp;boolean maintainEdgeParent</pre>
<div class="block">Specifies if edges should automatically be moved into the nearest common
ancestor of their terminals. Default is true.</div>
</li>
</ul>
<a name="createIds">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createIds</h4>
<pre>protected&nbsp;boolean createIds</pre>
<div class="block">Specifies if the model should automatically create Ids for new cells.
Default is true.</div>
</li>
</ul>
<a name="nextId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextId</h4>
<pre>protected&nbsp;int nextId</pre>
<div class="block">Specifies the next Id to be created. Initial value is 0.</div>
</li>
</ul>
<a name="currentEdit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>currentEdit</h4>
<pre>protected transient&nbsp;<a href="../../../com/mxgraph/util/mxUndoableEdit.html" title="class in com.mxgraph.util">mxUndoableEdit</a> currentEdit</pre>
<div class="block">Holds the changes for the current transaction. If the transaction is
closed then a new object is created for this variable using
createUndoableEdit.</div>
</li>
</ul>
<a name="updateLevel">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateLevel</h4>
<pre>protected transient&nbsp;int updateLevel</pre>
<div class="block">Counter for the depth of nested transactions. Each call to beginUpdate
increments this counter and each call to endUpdate decrements it. When
the counter reaches 0, the transaction is closed and the respective
events are fired. Initial value is 0.</div>
</li>
</ul>
<a name="endingUpdate">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>endingUpdate</h4>
<pre>protected transient&nbsp;boolean endingUpdate</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="mxGraphModel()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mxGraphModel</h4>
<pre>public&nbsp;mxGraphModel()</pre>
<div class="block">Constructs a new empty graph model.</div>
</li>
</ul>
<a name="mxGraphModel(java.lang.Object)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mxGraphModel</h4>
<pre>public&nbsp;mxGraphModel(java.lang.Object&nbsp;root)</pre>
<div class="block">Constructs a new graph model. If no root is specified
then a new root mxCell with a default layer is created.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>root</code> - Cell that represents the root cell.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block">Sets a new root using createRoot.</div>
</li>
</ul>
<a name="getUpdateLevel()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateLevel</h4>
<pre>public&nbsp;int&nbsp;getUpdateLevel()</pre>
</li>
</ul>
<a name="createRoot()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createRoot</h4>
<pre>public&nbsp;java.lang.Object&nbsp;createRoot()</pre>
<div class="block">Creates a new root cell with a default layer (child 0).</div>
</li>
</ul>
<a name="getCells()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCells</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;getCells()</pre>
<div class="block">Returns the internal lookup table that is used to map from Ids to cells.</div>
</li>
</ul>
<a name="getCell(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCell</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getCell(java.lang.String&nbsp;id)</pre>
<div class="block">Returns the cell for the specified Id or null if no cell can be
found for the given Id.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - A string representing the Id of the cell.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the cell for the given Id.</dd></dl>
</li>
</ul>
<a name="isMaintainEdgeParent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMaintainEdgeParent</h4>
<pre>public&nbsp;boolean&nbsp;isMaintainEdgeParent()</pre>
<div class="block">Returns true if the model automatically update parents of edges so that
the edge is contained in the nearest-common-ancestor of its terminals.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns true if the model maintains edge parents.</dd></dl>
</li>
</ul>
<a name="setMaintainEdgeParent(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaintainEdgeParent</h4>
<pre>public&nbsp;void&nbsp;setMaintainEdgeParent(boolean&nbsp;maintainEdgeParent)</pre>
<div class="block">Specifies if the model automatically updates parents of edges so that
the edge is contained in the nearest-common-ancestor of its terminals.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maintainEdgeParent</code> - Boolean indicating if the model should
maintain edge parents.</dd></dl>
</li>
</ul>
<a name="isCreateIds()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCreateIds</h4>
<pre>public&nbsp;boolean&nbsp;isCreateIds()</pre>
<div class="block">Returns true if the model automatically creates Ids and resolves Id
collisions.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns true if the model creates Ids.</dd></dl>
</li>
</ul>
<a name="setCreateIds(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCreateIds</h4>
<pre>public&nbsp;void&nbsp;setCreateIds(boolean&nbsp;value)</pre>
<div class="block">Specifies if the model automatically creates Ids for new cells and
resolves Id collisions.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - Boolean indicating if the model should created Ids.</dd></dl>
</li>
</ul>
<a name="getRoot()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoot</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getRoot()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getRoot()">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the root of the model or the topmost parent of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getRoot()">getRoot</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the root cell.</dd></dl>
</li>
</ul>
<a name="setRoot(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRoot</h4>
<pre>public&nbsp;java.lang.Object&nbsp;setRoot(java.lang.Object&nbsp;root)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setRoot(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the root of the model and resets all structures.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setRoot(java.lang.Object)">setRoot</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>root</code> - Cell that specifies the new root.</dd></dl>
</li>
</ul>
<a name="rootChanged(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rootChanged</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;rootChanged(java.lang.Object&nbsp;root)</pre>
<div class="block">Inner callback to change the root of the model and update the internal
datastructures, such as cells and nextId. Returns the previous root.</div>
</li>
</ul>
<a name="createUndoableEdit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createUndoableEdit</h4>
<pre>protected&nbsp;<a href="../../../com/mxgraph/util/mxUndoableEdit.html" title="class in com.mxgraph.util">mxUndoableEdit</a>&nbsp;createUndoableEdit()</pre>
<div class="block">Creates a new undoable edit.</div>
</li>
</ul>
<a name="cloneCells(java.lang.Object[], boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cloneCells</h4>
<pre>public&nbsp;java.lang.Object[]&nbsp;cloneCells(java.lang.Object[]&nbsp;cells,
boolean&nbsp;includeChildren)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#cloneCells(java.lang.Object[], boolean)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns an array of clones for the given array of cells.
Depending on the value of includeChildren, a deep clone is created for
each cell. Connections are restored based if the corresponding
cell is contained in the passed in array.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#cloneCells(java.lang.Object[], boolean)">cloneCells</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cells</code> - Array of cells to be cloned.</dd><dd><code>includeChildren</code> - Boolean indicating if the cells should be cloned
with all descendants.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns a cloned array of cells.</dd></dl>
</li>
</ul>
<a name="cloneCell(java.lang.Object, java.util.Map, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cloneCell</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;cloneCell(java.lang.Object&nbsp;cell,
java.util.Map&lt;java.lang.Object,java.lang.Object&gt;&nbsp;mapping,
boolean&nbsp;includeChildren)
throws java.lang.CloneNotSupportedException</pre>
<div class="block">Inner helper method for cloning cells recursively.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.CloneNotSupportedException</code></dd></dl>
</li>
</ul>
<a name="restoreClone(java.lang.Object, java.lang.Object, java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restoreClone</h4>
<pre>protected&nbsp;void&nbsp;restoreClone(java.lang.Object&nbsp;clone,
java.lang.Object&nbsp;cell,
java.util.Map&lt;java.lang.Object,java.lang.Object&gt;&nbsp;mapping)</pre>
<div class="block">Inner helper method for restoring the connections in
a network of cloned cells.</div>
</li>
</ul>
<a name="isAncestor(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAncestor</h4>
<pre>public&nbsp;boolean&nbsp;isAncestor(java.lang.Object&nbsp;parent,
java.lang.Object&nbsp;child)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isAncestor(java.lang.Object, java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the given parent is an ancestor of the given child.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isAncestor(java.lang.Object, java.lang.Object)">isAncestor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parent</code> - Cell that specifies the parent.</dd><dd><code>child</code> - Cell that specifies the child.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns true if child is an ancestor of parent.</dd></dl>
</li>
</ul>
<a name="contains(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contains</h4>
<pre>public&nbsp;boolean&nbsp;contains(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#contains(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the model contains the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#contains(java.lang.Object)">contains</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell to be checked.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns true if the cell is in the model.</dd></dl>
</li>
</ul>
<a name="getParent(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParent</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getParent(java.lang.Object&nbsp;child)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getParent(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the parent of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getParent(java.lang.Object)">getParent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>child</code> - Cell whose parent should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the parent of the given cell.</dd></dl>
</li>
</ul>
<a name="add(java.lang.Object, java.lang.Object, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;java.lang.Object&nbsp;add(java.lang.Object&nbsp;parent,
java.lang.Object&nbsp;child,
int&nbsp;index)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#add(java.lang.Object, java.lang.Object, int)">mxIGraphModel</a></code></strong></div>
<div class="block">Adds the specified child to the parent at the given index. If no index
is specified then the child is appended to the parent's array of
children.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#add(java.lang.Object, java.lang.Object, int)">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parent</code> - Cell that specifies the parent to contain the child.</dd><dd><code>child</code> - Cell that specifies the child to be inserted.</dd><dd><code>index</code> - Integer that specifies the index of the child.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the inserted child.</dd></dl>
</li>
</ul>
<a name="cellAdded(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cellAdded</h4>
<pre>protected&nbsp;void&nbsp;cellAdded(java.lang.Object&nbsp;cell)</pre>
<div class="block">Invoked after a cell has been added to a parent. This recursively
creates an Id for the new cell and/or resolves Id collisions.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell that has been added.</dd></dl>
</li>
</ul>
<a name="createId(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createId</h4>
<pre>public&nbsp;java.lang.String&nbsp;createId(java.lang.Object&nbsp;cell)</pre>
<div class="block">Creates a new Id for the given cell and increments the global counter
for creating new Ids.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell for which a new Id should be created.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns a new Id for the given cell.</dd></dl>
</li>
</ul>
<a name="remove(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;java.lang.Object&nbsp;remove(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#remove(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Removes the specified cell from the model. This operation will remove
the cell and all of its children from the model.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#remove(java.lang.Object)">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell that should be removed.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the removed cell.</dd></dl>
</li>
</ul>
<a name="cellRemoved(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cellRemoved</h4>
<pre>protected&nbsp;void&nbsp;cellRemoved(java.lang.Object&nbsp;cell)</pre>
<div class="block">Invoked after a cell has been removed from the model. This recursively
removes the cell from its terminals and removes the mapping from the Id
to the cell.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell that has been removed.</dd></dl>
</li>
</ul>
<a name="parentForCellChanged(java.lang.Object, java.lang.Object, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parentForCellChanged</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;parentForCellChanged(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;parent,
int&nbsp;index)</pre>
<div class="block">Inner callback to update the parent of a cell using mxCell.insert
on the parent and return the previous parent.</div>
</li>
</ul>
<a name="getChildCount(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildCount</h4>
<pre>public&nbsp;int&nbsp;getChildCount(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getChildCount(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the number of children in the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getChildCount(java.lang.Object)">getChildCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose number of children should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the number of children in the given cell.</dd></dl>
</li>
</ul>
<a name="getChildAt(java.lang.Object, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildAt</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getChildAt(java.lang.Object&nbsp;parent,
int&nbsp;index)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getChildAt(java.lang.Object, int)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the child of the given parent at the given index.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getChildAt(java.lang.Object, int)">getChildAt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parent</code> - Cell that represents the parent.</dd><dd><code>index</code> - Integer that specifies the index of the child to be
returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the child at index in parent.</dd></dl>
</li>
</ul>
<a name="getTerminal(java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTerminal</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getTerminal(java.lang.Object&nbsp;edge,
boolean&nbsp;isSource)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getTerminal(java.lang.Object, boolean)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the source or target terminal of the given edge depending on the
value of the boolean parameter.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getTerminal(java.lang.Object, boolean)">getTerminal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>edge</code> - Cell that specifies the edge.</dd><dd><code>isSource</code> - Boolean indicating which end of the edge should be
returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the source or target of the given edge.</dd></dl>
</li>
</ul>
<a name="setTerminal(java.lang.Object, java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTerminal</h4>
<pre>public&nbsp;java.lang.Object&nbsp;setTerminal(java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;terminal,
boolean&nbsp;isSource)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setTerminal(java.lang.Object, java.lang.Object, boolean)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the source or target terminal of the given edge using.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setTerminal(java.lang.Object, java.lang.Object, boolean)">setTerminal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>edge</code> - Cell that specifies the edge.</dd><dd><code>terminal</code> - Cell that specifies the new terminal.</dd><dd><code>isSource</code> - Boolean indicating if the terminal is the new source or
target terminal of the edge.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the new terminal.</dd></dl>
</li>
</ul>
<a name="terminalForCellChanged(java.lang.Object, java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>terminalForCellChanged</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;terminalForCellChanged(java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;terminal,
boolean&nbsp;isSource)</pre>
<div class="block">Inner helper function to update the terminal of the edge using
mxCell.insertEdge and return the previous terminal.</div>
</li>
</ul>
<a name="updateEdgeParents(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateEdgeParents</h4>
<pre>public&nbsp;void&nbsp;updateEdgeParents(java.lang.Object&nbsp;cell)</pre>
<div class="block">Updates the parents of the edges connected to the given cell and all its
descendants so that each edge is contained in the nearest common
ancestor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose edges should be checked and updated.</dd></dl>
</li>
</ul>
<a name="updateEdgeParents(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateEdgeParents</h4>
<pre>public&nbsp;void&nbsp;updateEdgeParents(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;root)</pre>
<div class="block">Updates the parents of the edges connected to the given cell and all its
descendants so that the edge is contained in the nearest-common-ancestor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose edges should be checked and updated.</dd><dd><code>root</code> - Root of the cell hierarchy that contains all cells.</dd></dl>
</li>
</ul>
<a name="updateEdgeParent(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateEdgeParent</h4>
<pre>public&nbsp;void&nbsp;updateEdgeParent(java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;root)</pre>
<div class="block">Inner helper method to update the parent of the specified edge to the
nearest-common-ancestor of its two terminals.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>edge</code> - Specifies the edge to be updated.</dd><dd><code>root</code> - Current root of the model.</dd></dl>
</li>
</ul>
<a name="getOrigin(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrigin</h4>
<pre>public&nbsp;<a href="../../../com/mxgraph/util/mxPoint.html" title="class in com.mxgraph.util">mxPoint</a>&nbsp;getOrigin(java.lang.Object&nbsp;cell)</pre>
<div class="block">Returns the absolute, accumulated origin for the children inside the
given parent.</div>
</li>
</ul>
<a name="getNearestCommonAncestor(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNearestCommonAncestor</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getNearestCommonAncestor(java.lang.Object&nbsp;cell1,
java.lang.Object&nbsp;cell2)</pre>
<div class="block">Returns the nearest common ancestor for the specified cells.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell1</code> - Cell that specifies the first cell in the tree.</dd><dd><code>cell2</code> - Cell that specifies the second cell in the tree.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the nearest common ancestor of the given cells.</dd></dl>
</li>
</ul>
<a name="getEdgeCount(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdgeCount</h4>
<pre>public&nbsp;int&nbsp;getEdgeCount(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getEdgeCount(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the number of distinct edges connected to the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getEdgeCount(java.lang.Object)">getEdgeCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell that represents the vertex.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the number of edges connected to cell.</dd></dl>
</li>
</ul>
<a name="getEdgeAt(java.lang.Object, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdgeAt</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getEdgeAt(java.lang.Object&nbsp;parent,
int&nbsp;index)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getEdgeAt(java.lang.Object, int)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the edge of cell at the given index.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getEdgeAt(java.lang.Object, int)">getEdgeAt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parent</code> - Cell that specifies the vertex.</dd><dd><code>index</code> - Integer that specifies the index of the edge to return.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the edge at the given index.</dd></dl>
</li>
</ul>
<a name="isVertex(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVertex</h4>
<pre>public&nbsp;boolean&nbsp;isVertex(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isVertex(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the given cell is a vertex.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isVertex(java.lang.Object)">isVertex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell that represents the possible vertex.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns true if the given cell is a vertex.</dd></dl>
</li>
</ul>
<a name="isEdge(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEdge</h4>
<pre>public&nbsp;boolean&nbsp;isEdge(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isEdge(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the given cell is an edge.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isEdge(java.lang.Object)">isEdge</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell that represents the possible edge.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns true if the given cell is an edge.</dd></dl>
</li>
</ul>
<a name="isConnectable(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isConnectable</h4>
<pre>public&nbsp;boolean&nbsp;isConnectable(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isConnectable(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the given cell is connectable.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isConnectable(java.lang.Object)">isConnectable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose connectable state should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the connectable state of the given cell.</dd></dl>
</li>
</ul>
<a name="getValue(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getValue(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getValue(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the user object of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getValue(java.lang.Object)">getValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose user object should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the user object of the given cell.</dd></dl>
</li>
</ul>
<a name="setValue(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>public&nbsp;java.lang.Object&nbsp;setValue(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;value)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setValue(java.lang.Object, java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the user object of then given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setValue(java.lang.Object, java.lang.Object)">setValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose user object should be changed.</dd><dd><code>value</code> - Object that defines the new user object.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the new value.</dd></dl>
</li>
</ul>
<a name="valueForCellChanged(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueForCellChanged</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;valueForCellChanged(java.lang.Object&nbsp;cell,
java.lang.Object&nbsp;value)</pre>
<div class="block">Inner callback to update the user object of the given mxCell
using mxCell.setValue and return the previous value,
that is, the return value of mxCell.getValue.</div>
</li>
</ul>
<a name="getGeometry(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGeometry</h4>
<pre>public&nbsp;<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;getGeometry(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getGeometry(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the geometry of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getGeometry(java.lang.Object)">getGeometry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose geometry should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the geometry of the given cell.</dd></dl>
</li>
</ul>
<a name="setGeometry(java.lang.Object, com.mxgraph.model.mxGeometry)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGeometry</h4>
<pre>public&nbsp;<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;setGeometry(java.lang.Object&nbsp;cell,
<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;geometry)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setGeometry(java.lang.Object, com.mxgraph.model.mxGeometry)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the geometry of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setGeometry(java.lang.Object, com.mxgraph.model.mxGeometry)">setGeometry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose geometry should be changed.</dd><dd><code>geometry</code> - Object that defines the new geometry.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the new geometry.</dd></dl>
</li>
</ul>
<a name="geometryForCellChanged(java.lang.Object, com.mxgraph.model.mxGeometry)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>geometryForCellChanged</h4>
<pre>protected&nbsp;<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;geometryForCellChanged(java.lang.Object&nbsp;cell,
<a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model">mxGeometry</a>&nbsp;geometry)</pre>
<div class="block">Inner callback to update the mxGeometry of the given mxCell using
mxCell.setGeometry and return the previous mxGeometry.</div>
</li>
</ul>
<a name="getStyle(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStyle</h4>
<pre>public&nbsp;java.lang.String&nbsp;getStyle(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getStyle(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns the style of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#getStyle(java.lang.Object)">getStyle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose style should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the style of the given cell.</dd></dl>
</li>
</ul>
<a name="setStyle(java.lang.Object, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStyle</h4>
<pre>public&nbsp;java.lang.String&nbsp;setStyle(java.lang.Object&nbsp;cell,
java.lang.String&nbsp;style)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setStyle(java.lang.Object, java.lang.String)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the style of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setStyle(java.lang.Object, java.lang.String)">setStyle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose style should be changed.</dd><dd><code>style</code> - String of the form stylename[;key=value] to specify
the new cell style.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the new style.</dd></dl>
</li>
</ul>
<a name="styleForCellChanged(java.lang.Object, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>styleForCellChanged</h4>
<pre>protected&nbsp;java.lang.String&nbsp;styleForCellChanged(java.lang.Object&nbsp;cell,
java.lang.String&nbsp;style)</pre>
<div class="block">Inner callback to update the style of the given mxCell
using mxCell.setStyle and return the previous style.</div>
</li>
</ul>
<a name="isCollapsed(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCollapsed</h4>
<pre>public&nbsp;boolean&nbsp;isCollapsed(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isCollapsed(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the given cell is collapsed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isCollapsed(java.lang.Object)">isCollapsed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose collapsed state should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the collapsed state of the given cell.</dd></dl>
</li>
</ul>
<a name="setCollapsed(java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCollapsed</h4>
<pre>public&nbsp;boolean&nbsp;setCollapsed(java.lang.Object&nbsp;cell,
boolean&nbsp;collapsed)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setCollapsed(java.lang.Object, boolean)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the collapsed state of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setCollapsed(java.lang.Object, boolean)">setCollapsed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose collapsed state should be changed.</dd><dd><code>collapsed</code> - Boolean that specifies the new collpased state.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the new collapsed state.</dd></dl>
</li>
</ul>
<a name="collapsedStateForCellChanged(java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collapsedStateForCellChanged</h4>
<pre>protected&nbsp;boolean&nbsp;collapsedStateForCellChanged(java.lang.Object&nbsp;cell,
boolean&nbsp;collapsed)</pre>
<div class="block">Inner callback to update the collapsed state of the
given mxCell using mxCell.setCollapsed and return
the previous collapsed state.</div>
</li>
</ul>
<a name="isVisible(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVisible</h4>
<pre>public&nbsp;boolean&nbsp;isVisible(java.lang.Object&nbsp;cell)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isVisible(java.lang.Object)">mxIGraphModel</a></code></strong></div>
<div class="block">Returns true if the given cell is visible.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#isVisible(java.lang.Object)">isVisible</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose visible state should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the visible state of the given cell.</dd></dl>
</li>
</ul>
<a name="setVisible(java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVisible</h4>
<pre>public&nbsp;boolean&nbsp;setVisible(java.lang.Object&nbsp;cell,
boolean&nbsp;visible)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setVisible(java.lang.Object, boolean)">mxIGraphModel</a></code></strong></div>
<div class="block">Sets the visible state of the given cell.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#setVisible(java.lang.Object, boolean)">setVisible</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell whose visible state should be changed.</dd><dd><code>visible</code> - Boolean that specifies the new visible state.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the new visible state.</dd></dl>
</li>
</ul>
<a name="visibleStateForCellChanged(java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visibleStateForCellChanged</h4>
<pre>protected&nbsp;boolean&nbsp;visibleStateForCellChanged(java.lang.Object&nbsp;cell,
boolean&nbsp;visible)</pre>
<div class="block">Sets the visible state of the given mxCell using mxVisibleChange and
adds the change to the current transaction.</div>
</li>
</ul>
<a name="execute(com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>public&nbsp;void&nbsp;execute(<a href="../../../com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html" title="class in com.mxgraph.model">mxIGraphModel.mxAtomicGraphModelChange</a>&nbsp;change)</pre>
<div class="block">Executes the given atomic change and adds it to the current edit.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>change</code> - Atomic change to be executed.</dd></dl>
</li>
</ul>
<a name="beginUpdate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beginUpdate</h4>
<pre>public&nbsp;void&nbsp;beginUpdate()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#beginUpdate()">mxIGraphModel</a></code></strong></div>
<div class="block">Increments the updateLevel by one. The event notification is queued
until updateLevel reaches 0 by use of endUpdate.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#beginUpdate()">beginUpdate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
</dl>
</li>
</ul>
<a name="endUpdate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endUpdate</h4>
<pre>public&nbsp;void&nbsp;endUpdate()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html#endUpdate()">mxIGraphModel</a></code></strong></div>
<div class="block">Decrements the updateLevel by one and fires a notification event if the
updateLevel reaches 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../com/mxgraph/model/mxIGraphModel.html#endUpdate()">endUpdate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a></code></dd>
</dl>
</li>
</ul>
<a name="mergeChildren(com.mxgraph.model.mxICell, com.mxgraph.model.mxICell, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeChildren</h4>
<pre>public&nbsp;void&nbsp;mergeChildren(<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;from,
<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;to,
boolean&nbsp;cloneAllEdges)
throws java.lang.CloneNotSupportedException</pre>
<div class="block">Merges the children of the given cell into the given target cell inside
this model. All cells are cloned unless there is a corresponding cell in
the model with the same id, in which case the source cell is ignored and
all edges are connected to the corresponding cell in this model. Edges
are considered to have no identity and are always cloned unless the
cloneAllEdges flag is set to false, in which case edges with the same
id in the target model are reconnected to reflect the terminals of the
source edges.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>from</code> - </dd><dd><code>to</code> - </dd><dd><code>cloneAllEdges</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.CloneNotSupportedException</code></dd></dl>
</li>
</ul>
<a name="mergeChildrenImpl(com.mxgraph.model.mxICell, com.mxgraph.model.mxICell, boolean, java.util.Hashtable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeChildrenImpl</h4>
<pre>protected&nbsp;void&nbsp;mergeChildrenImpl(<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;from,
<a href="../../../com/mxgraph/model/mxICell.html" title="interface in com.mxgraph.model">mxICell</a>&nbsp;to,
boolean&nbsp;cloneAllEdges,
java.util.Hashtable&lt;java.lang.Object,java.lang.Object&gt;&nbsp;mapping)
throws java.lang.CloneNotSupportedException</pre>
<div class="block">Clones the children of the source cell into the given target cell in
this model and adds an entry to the mapping that maps from the source
cell to the target cell with the same id or the clone of the source cell
that was inserted into this model.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.CloneNotSupportedException</code></dd></dl>
</li>
</ul>
<a name="getDirectedEdgeCount(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDirectedEdgeCount</h4>
<pre>public static&nbsp;int&nbsp;getDirectedEdgeCount(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell,
boolean&nbsp;outgoing)</pre>
<div class="block">Returns the number of incoming or outgoing edges.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Graph model that contains the connection data.</dd><dd><code>cell</code> - Cell whose edges should be counted.</dd><dd><code>outgoing</code> - Boolean that specifies if the number of outgoing or
incoming edges should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the number of incoming or outgoing edges.</dd></dl>
</li>
</ul>
<a name="getDirectedEdgeCount(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDirectedEdgeCount</h4>
<pre>public static&nbsp;int&nbsp;getDirectedEdgeCount(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell,
boolean&nbsp;outgoing,
java.lang.Object&nbsp;ignoredEdge)</pre>
<div class="block">Returns the number of incoming or outgoing edges, ignoring the given
edge.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Graph model that contains the connection data.</dd><dd><code>cell</code> - Cell whose edges should be counted.</dd><dd><code>outgoing</code> - Boolean that specifies if the number of outgoing or
incoming edges should be returned.</dd><dd><code>ignoredEdge</code> - Object that represents an edge to be ignored.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the number of incoming or outgoing edges.</dd></dl>
</li>
</ul>
<a name="getEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdges</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getEdges(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</pre>
<div class="block">Returns all edges connected to this cell including loops.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the connection information.</dd><dd><code>cell</code> - Cell whose connections should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the array of connected edges for the given cell.</dd></dl>
</li>
</ul>
<a name="getConnections(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnections</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getConnections(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</pre>
<div class="block">Returns all edges connected to this cell without loops.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the connection information.</dd><dd><code>cell</code> - Cell whose connections should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the connected edges for the given cell.</dd></dl>
</li>
</ul>
<a name="getIncomingEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncomingEdges</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getIncomingEdges(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</pre>
<div class="block">Returns the incoming edges of the given cell without loops.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Graphmodel that contains the edges.</dd><dd><code>cell</code> - Cell whose incoming edges should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the incoming edges for the given cell.</dd></dl>
</li>
</ul>
<a name="getOutgoingEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutgoingEdges</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getOutgoingEdges(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell)</pre>
<div class="block">Returns the outgoing edges of the given cell without loops.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Graphmodel that contains the edges.</dd><dd><code>cell</code> - Cell whose outgoing edges should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the outgoing edges for the given cell.</dd></dl>
</li>
</ul>
<a name="getEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean, boolean, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdges</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getEdges(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;cell,
boolean&nbsp;incoming,
boolean&nbsp;outgoing,
boolean&nbsp;includeLoops)</pre>
<div class="block">Returns all distinct edges connected to this cell.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the connection information.</dd><dd><code>cell</code> - Cell whose connections should be returned.</dd><dd><code>incoming</code> - Specifies if incoming edges should be returned.</dd><dd><code>outgoing</code> - Specifies if outgoing edges should be returned.</dd><dd><code>includeLoops</code> - Specifies if loops should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the array of connected edges for the given cell.</dd></dl>
</li>
</ul>
<a name="getEdgesBetween(com.mxgraph.model.mxIGraphModel, java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdgesBetween</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getEdgesBetween(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;source,
java.lang.Object&nbsp;target)</pre>
<div class="block">Returns all edges from the given source to the given target.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - The graph model that contains the graph.</dd><dd><code>source</code> - Object that defines the source cell.</dd><dd><code>target</code> - Object that defines the target cell.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns all edges from source to target.</dd></dl>
</li>
</ul>
<a name="getEdgesBetween(com.mxgraph.model.mxIGraphModel, java.lang.Object, java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdgesBetween</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getEdgesBetween(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;source,
java.lang.Object&nbsp;target,
boolean&nbsp;directed)</pre>
<div class="block">Returns all edges between the given source and target pair. If directed
is true, then only edges from the source to the target are returned,
otherwise, all edges between the two cells are returned.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - The graph model that contains the graph.</dd><dd><code>source</code> - Object that defines the source cell.</dd><dd><code>target</code> - Object that defines the target cell.</dd><dd><code>directed</code> - Boolean that specifies if the direction of the edge
should be taken into account.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns all edges between the given source and target.</dd></dl>
</li>
</ul>
<a name="getOpposites(com.mxgraph.model.mxIGraphModel, java.lang.Object[], java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOpposites</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getOpposites(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;edges,
java.lang.Object&nbsp;terminal)</pre>
<div class="block">Returns all opposite cells of terminal for the given edges.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the connection information.</dd><dd><code>edges</code> - Array of edges to be examined.</dd><dd><code>terminal</code> - Cell that specifies the known end of the edges.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the opposite cells of the given terminal.</dd></dl>
</li>
</ul>
<a name="getOpposites(com.mxgraph.model.mxIGraphModel, java.lang.Object[], java.lang.Object, boolean, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOpposites</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getOpposites(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;edges,
java.lang.Object&nbsp;terminal,
boolean&nbsp;sources,
boolean&nbsp;targets)</pre>
<div class="block">Returns all opposite vertices wrt terminal for the given edges, only
returning sources and/or targets as specified. The result is returned as
an array of mxCells.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the connection information.</dd><dd><code>edges</code> - Array of edges to be examined.</dd><dd><code>terminal</code> - Cell that specifies the known end of the edges.</dd><dd><code>sources</code> - Boolean that specifies if source terminals should
be contained in the result. Default is true.</dd><dd><code>targets</code> - Boolean that specifies if target terminals should
be contained in the result. Default is true.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the array of opposite terminals for the given edges.</dd></dl>
</li>
</ul>
<a name="setTerminals(com.mxgraph.model.mxIGraphModel, java.lang.Object, java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTerminals</h4>
<pre>public static&nbsp;void&nbsp;setTerminals(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;edge,
java.lang.Object&nbsp;source,
java.lang.Object&nbsp;target)</pre>
<div class="block">Sets the source and target of the given edge in a single atomic change.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>edge</code> - Cell that specifies the edge.</dd><dd><code>source</code> - Cell that specifies the new source terminal.</dd><dd><code>target</code> - Cell that specifies the new target terminal.</dd></dl>
</li>
</ul>
<a name="getChildren(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildren</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getChildren(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</pre>
<div class="block">Returns all children of the given cell regardless of their type.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the hierarchical information.</dd><dd><code>parent</code> - Cell whose child vertices or edges should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the child vertices and/or edges of the given parent.</dd></dl>
</li>
</ul>
<a name="getChildVertices(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildVertices</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getChildVertices(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</pre>
<div class="block">Returns the child vertices of the given parent.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the hierarchical information.</dd><dd><code>parent</code> - Cell whose child vertices should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the child vertices of the given parent.</dd></dl>
</li>
</ul>
<a name="getChildEdges(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildEdges</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getChildEdges(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</pre>
<div class="block">Returns the child edges of the given parent.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the hierarchical information.</dd><dd><code>parent</code> - Cell whose child edges should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the child edges of the given parent.</dd></dl>
</li>
</ul>
<a name="getChildCells(com.mxgraph.model.mxIGraphModel, java.lang.Object, boolean, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildCells</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getChildCells(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent,
boolean&nbsp;vertices,
boolean&nbsp;edges)</pre>
<div class="block">Returns the children of the given cell that are vertices and/or edges
depending on the arguments. If both arguments are false then all
children are returned regardless of their type.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>model</code> - Model that contains the hierarchical information.</dd><dd><code>parent</code> - Cell whose child vertices or edges should be returned.</dd><dd><code>vertices</code> - Boolean indicating if child vertices should be returned.</dd><dd><code>edges</code> - Boolean indicating if child edges should be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the child vertices and/or edges of the given parent.</dd></dl>
</li>
</ul>
<a name="getParents(com.mxgraph.model.mxIGraphModel, java.lang.Object[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParents</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getParents(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;cells)</pre>
</li>
</ul>
<a name="filterCells(java.lang.Object[], com.mxgraph.model.mxGraphModel.Filter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterCells</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;filterCells(java.lang.Object[]&nbsp;cells,
<a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a>&nbsp;filter)</pre>
</li>
</ul>
<a name="getDescendants(com.mxgraph.model.mxIGraphModel, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescendants</h4>
<pre>public static&nbsp;java.util.Collection&lt;java.lang.Object&gt;&nbsp;getDescendants(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object&nbsp;parent)</pre>
<div class="block">Returns a all descendants of the given cell and the cell itself
as a collection.</div>
</li>
</ul>
<a name="filterDescendants(com.mxgraph.model.mxIGraphModel, com.mxgraph.model.mxGraphModel.Filter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterDescendants</h4>
<pre>public static&nbsp;java.util.Collection&lt;java.lang.Object&gt;&nbsp;filterDescendants(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
<a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a>&nbsp;filter)</pre>
<div class="block">Creates a collection of cells using the visitor pattern.</div>
</li>
</ul>
<a name="filterDescendants(com.mxgraph.model.mxIGraphModel, com.mxgraph.model.mxGraphModel.Filter, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterDescendants</h4>
<pre>public static&nbsp;java.util.Collection&lt;java.lang.Object&gt;&nbsp;filterDescendants(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
<a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model">mxGraphModel.Filter</a>&nbsp;filter,
java.lang.Object&nbsp;parent)</pre>
<div class="block">Creates a collection of cells using the visitor pattern.</div>
</li>
</ul>
<a name="getTopmostCells(com.mxgraph.model.mxIGraphModel, java.lang.Object[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTopmostCells</h4>
<pre>public static&nbsp;java.lang.Object[]&nbsp;getTopmostCells(<a href="../../../com/mxgraph/model/mxIGraphModel.html" title="interface in com.mxgraph.model">mxIGraphModel</a>&nbsp;model,
java.lang.Object[]&nbsp;cells)</pre>
<div class="block">Function: getTopmostCells
Returns the topmost cells of the hierarchy in an array that contains no
desceandants for each <mxCell> that it contains. Duplicates should be
removed in the cells array to improve performance.
Parameters:
cells - Array of <mxCells> whose topmost ancestors should be returned.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/mxGraphModel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><p><b>mxGraph 3.1.1.1</b></p></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/mxgraph/model/mxGeometry.html" title="class in com.mxgraph.model"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../com/mxgraph/model/mxGraphModel.Filter.html" title="interface in com.mxgraph.model"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/mxgraph/model/mxGraphModel.html" target="_top">Frames</a></li>
<li><a href="mxGraphModel.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size=1>Copyright (c) 2010 <a href="http://www.mxgraph.com/"
target="_blank">Gaudenz Alder, David Benson</a>. All rights reserved.</font></small></p>
</body>
</html>