<!-- saved from url=(0026)http://www.naturaldocs.org -->
<divid=Content><divclass="CClass"><divclass=CTopicid=MainTopic><h1class=CTitle><aname="mxMultiplicity"></a>mxMultiplicity</h1><divclass=CBody><p>Defines invalid connections along with the error messages that they produce. To add or remove rules on a graph, you must add/remove instances of this class to <ahref="mxGraph-js.html#mxGraph.multiplicities"class=LVariableid=link21onMouseOver="ShowTip(event, 'tt17', 'link21')"onMouseOut="HideTip('tt17')">mxGraph.multiplicities</a>.</p><h4class=CHeading>Example</h4><blockquote><preclass="prettyprint">graph.multiplicities.push(new mxMultiplicity(
true, 'rectangle', null, null, 0, 2, ['circle'],
'Only 2 targets allowed',
'Only circle targets allowed'));</pre></blockquote><p>Defines a rule where each rectangle must be connected to no more than 2 circles and no other types of targets are allowed.</p><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SMain"><tdclass=SEntry><ahref="#mxMultiplicity">mxMultiplicity</a></td><tdclass=SDescription>Defines invalid connections along with the error messages that they produce. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxMultiplicity.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxMultiplicity.mxMultiplicity"id=link1onMouseOver="ShowTip(event, 'tt1', 'link1')"onMouseOut="HideTip('tt1')">mxMultiplicity</a></td><tdclass=SDescription>Instantiate class mxMultiplicity in order to describe allowed connections in a graph. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxMultiplicity.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxMultiplicity.type"id=link2onMouseOver="ShowTip(event, 'tt2', 'link2')"onMouseOut="HideTip('tt2')">type</a></td><tdclass=SDescription>Defines the type of the source or target terminal. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxMultiplicity.attr"id=link3onMouseOver="ShowTip(event, 'tt3', 'link3')"onMouseOut="HideTip('tt3')">attr</a></td><tdclass=SDescription>Optional string that specifies the attributename to be passed to <ahref="../util/mxUtils-js.html#mxUtils.isNode"class=LFunctionid=link4onMouseOver="ShowTip(event, 'tt4', 'link4')"onMouseOut="HideTip('tt4')">mxUtils.isNode</a> to check if the rule applies to a cell.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxMultiplicity.value"id=link5onMouseOver="ShowTip(event, 'tt5', 'link5')"onMouseOut="HideTip('tt5')">value</a></td><tdclass=SDescription>Optional string that specifies the value of the attribute to be passed to <ahref="../util/mxUtils-js.html#mxUtils.isNode"class=LFunctionid=link6onMouseOver="ShowTip(event, 'tt4', 'link6')"onMouseOut="HideTip('tt4')">mxUtils.isNode</a> to check if the rule applies to a cell.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxMultiplicity.source"id=link7onMouseOver="ShowTip(event, 'tt6', 'link7')"onMouseOut="HideTip('tt6')">source</a></td><tdclass=SDescription>Boolean that specifies if the rule is applied to the source or target terminal of an edge.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxMultiplicity.min"id=link8onMouseOver="ShowTip(event, 'tt7', 'link8')"onMouseOut="HideTip('tt7')">min</a></td><tdclass=SDescription>Defines the minimum number of connections for which this rule applies. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxMultiplicity.max"id=link9onMouseOver="ShowTip(event, 'tt8', 'link9')"onMouseOut="HideTip('tt8')">max</a></td><tdclass=SDescription>Defines the maximum number of connections for which this rule applies. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxMultiplicity.validNeighbors"id=link10onMouseOver="ShowTip(event, 'tt9', 'link10')"onMouseOut="HideTip('tt9')">validNeighbors</a></td><tdclass=SDescription>Holds an array of strings that specify the type of neighbor for which this rule applies. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxMultiplicity.validNeighborsAllowed"id=link11onMouseOver="ShowTip(event, 'tt10', 'link11')"onMouseOut="HideTip('tt10')">validNeighborsAllowed</a></td><tdclass=SDescription>Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxMultiplicity.countError"id=link12onMouseOver="ShowTip(event, 'tt11', 'link12')"onMouseOut="HideTip('tt11')
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.mxMultiplicity"></a>mxMultiplicity</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function mxMultiplicity(</td><tdclass=PParameternowrap>source,</td></tr><tr><td></td><tdclass=PParameternowrap>type,</td></tr><tr><td></td><tdclass=PParameternowrap>attr,</td></tr><tr><td></td><tdclass=PParameternowrap>value,</td></tr><tr><td></td><tdclass=PParameternowrap>min,</td></tr><tr><td></td><tdclass=PParameternowrap>max,</td></tr><tr><td></td><tdclass=PParameternowrap>validNeighbors,</td></tr><tr><td></td><tdclass=PParameternowrap>countError,</td></tr><tr><td></td><tdclass=PParameternowrap>typeError,</td></tr><tr><td></td><tdclass=PParameternowrap>validNeighborsAllowed</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Instantiate class mxMultiplicity in order to describe allowed connections in a graph. Not all constraints can be enforced while editing, some must be checked at validation time. The <ahref="#mxMultiplicity.countError"class=LVariableid=link22onMouseOver="ShowTip(event, 'tt11', 'link22')"onMouseOut="HideTip('tt11')">countError</a> and <ahref="#mxMultiplicity.typeError"class=LVariableid=link23onMouseOver="ShowTip(event, 'tt12', 'link23')"onMouseOut="HideTip('tt12')">typeError</a> are treated as resource keys in <ahref="../util/mxResources-js.html#mxResources"class=LClassid=link24onMouseOver="ShowTip(event, 'tt18', 'link24')"onMouseOut="HideTip('tt18')">mxResources</a>.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>source</td><tdclass=CDLDescription>Boolean indicating if this rule applies to the source or target terminal.</td></tr><tr><tdclass=CDLEntry>type</td><tdclass=CDLDescription>Type of the source or target terminal that this rule applies to. See <ahref="#mxMultiplicity.type"class=LVariableid=link25onMouseOver="ShowTip(event, 'tt2', 'link25')"onMouseOut="HideTip('tt2')">type</a> for more information.</td></tr><tr><tdclass=CDLEntry>attr</td><tdclass=CDLDescription>Optional attribute name to match the source or target terminal.</td></tr><tr><tdclass=CDLEntry>value</td><tdclass=CDLDescription>Optional attribute value to match the source or target terminal.</td></tr><tr><tdclass=CDLEntry>min</td><tdclass=CDLDescription>Minimum number of edges for this rule. Default is 1.</td></tr><tr><tdclass=CDLEntry>max</td><tdclass=CDLDescription>Maximum number of edges for this rule. n means infinite. Default is n.</td></tr><tr><tdclass=CDLEntry>validNeighbors</td><tdclass=CDLDescription>Array of types of the opposite terminal for which this rule applies.</td></tr><tr><tdclass=CDLEntry>countError</td><tdclass=CDLDescription>Error to be displayed for invalid number of edges.</td></tr><tr><tdclass=CDLEntry>typeError</td><tdclass=CDLDescription>Error to be displayed for invalid opposite terminals.</td></tr><tr><tdclass=CDLEntry>validNeighborsAllowed</td><tdclass=CDLDescription>Optional boolean indicating if the array of opposite types should be valid or invalid.</td></tr></table></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.type"></a>type</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.type</td></tr></table></blockquote><p>Defines the type of the source or target terminal. The type is a string passed to <ahref="../util/mxUtils-js.html#mxUtils.isNode"class=LFunctionid=link26onMouseOver="ShowTip(event, 'tt4', 'link26')"onMouseOut="HideTip('tt4')">mxUtils.isNode</a> together with the source or target vertex value as the first argument.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.attr"></a>attr</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.attr</td></tr></table></blockquote><p>Optional string that specifies the attributename to be passed to <ahref="../util/mxUtils-js.html#mxUtils.isNode"class=LFunctionid=link27onMouseOver="ShowTip(event, 'tt4', 'link27')"onMouseOut="HideTip('tt4')">mxUtils.isNode</a> to check if the rule applies to a cell.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.value"></a>value</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.value</td></tr></table></blockquote><p>Optional string that specifies the value of the attribute to be passed to <ahref="../util/mxUtils-js.html#mxUtils.isNode"class=LFunctionid=link28onMouseOver="ShowTip(event, 'tt4', 'link28')"onMouseOut="HideTip('tt4')">mxUtils.isNode</a> to check if the rule applies to a cell.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.source"></a>source</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.source</td></tr></table></blockquote><p>Boolean that specifies if the rule is applied to the source or target terminal of an edge.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.min"></a>min</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.min</td></tr></table></blockquote><p>Defines the minimum number of connections for which this rule applies. Default is 0.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.max"></a>max</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.max</td></tr></table></blockquote><p>Defines the maximum number of connections for which this rule applies. A value of ‘n’ means unlimited times. Default is ‘n’.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.validNeighbors"></a>validNeighbors</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.validNeighbors</td></tr></table></blockquote><p>Holds an array of strings that specify the type of neighbor for which this rule applies. The strings are used in <mxCell.is> on the opposite terminal to check if the rule applies to the connection.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.validNeighborsAllowed"></a>validNeighborsAllowed</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.validNeighborsAllowed</td></tr></table></blockquote><p>Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.countError"></a>countError</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.countError</td></tr></table></blockquote><p>Holds the localized error message to be displayed if the number of connections for which the rule applies is smaller than <ahref="#mxMultiplicity.min"class=LVariableid=link29onMouseOver="ShowTip(event, 'tt7', 'link29')"onMouseOut="HideTip('tt7')">min</a> or greater than <ahref="#mxMultiplicity.max"class=LVariableid=link30onMouseOver="ShowTip(event, 'tt8', 'link30')"onMouseOut="HideTip('tt8')">max</a>.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.typeError"></a>typeError</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.typeError</td></tr></table></blockquote><p>Holds the localized error message to be displayed if the type of the neighbor for a connection does not match the rule.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.check"></a>check</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxMultiplicity.prototype.check = function(</td><tdclass=PParameternowrap>graph,</td></tr><tr><td></td><tdclass=PParameternowrap>edge,</td></tr><tr><td></td><tdclass=PParameternowrap>source,</td></tr><tr><td></td><tdclass=PParameternowrap>target,</td></tr><tr><td></td><tdclass=PParameternowrap>sourceOut,</td></tr><tr><td></td><tdclass=PParameternowrap>targetIn</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks the multiplicity for the given arguments and returns the error for the given connection or null if the multiplicity does not apply.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>graph</td><tdclass=CDLDescription>Reference to the enclosing <ahref="mxGraph-js.html#mxGraph"class=LClassid=link31onMouseOver="ShowTip(event, 'tt19', 'link31')"onMouseOut="HideTip('tt19')">mxGraph</a> instance.</td></tr><tr><tdclass=CDLEntry>edge</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link32onMouseOver="ShowTip(event, 'tt20', 'link32')"onMouseOut="HideTip('tt20')">mxCell</a> that represents the edge to validate.</td></tr><tr><tdclass=CDLEntry>source</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link33onMouseOver="ShowTip(event, 'tt20', 'link33')"onMouseOut="HideTip('tt20')">mxCell</a> that represents the source terminal.</td></tr><tr><tdclass=CDLEntry>target</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link34onMouseOver="ShowTip(event, 'tt20', 'link34')"onMouseOut="HideTip('tt20')">mxCell</a> that represents the target terminal.</td></tr><tr><tdclass=CDLEntry>sourceOut</td><tdclass=CDLDescription>Number of outgoing edges from the source terminal.</td></tr><tr><tdclass=CDLEntry>targetIn</td><tdclass=CDLDescription>Number of incoming edges for the target terminal.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.checkNeighbors"></a>checkNeighbors</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxMultiplicity.prototype.checkNeighbors = function(</td><tdclass=PParameternowrap>graph,</td></tr><tr><td></td><tdclass=PParameternowrap>edge,</td></tr><tr><td></td><tdclass=PParameternowrap>source,</td></tr><tr><td></td><tdclass=PParameternowrap>target</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if there are any valid neighbours in <ahref="#mxMultiplicity.validNeighbors"class=LVariableid=link35onMouseOver="ShowTip(event, 'tt9', 'link35')"onMouseOut="HideTip('tt9')">validNeighbors</a>. This is only called if <ahref="#mxMultiplicity.validNeighbors"class=LVariableid=link36onMouseOver="ShowTip(event, 'tt9', 'link36')"onMouseOut="HideTip('tt9')">validNeighbors</a> is a non-empty array.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.checkTerminal"></a>checkTerminal</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxMultiplicity.prototype.checkTerminal = function(</td><tdclass=PParameternowrap>graph,</td></tr><tr><td></td><tdclass=PParameternowrap>terminal,</td></tr><tr><td></td><tdclass=PParameternowrap>edge</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks the given terminal cell and returns true if this rule applies. The given cell is the source or target of the given edge, depending on <ahref="#mxMultiplicity.source"class=LVariableid=link37onMouseOver="ShowTip(event, 'tt6', 'link37')"onMouseOut="HideTip('tt6')">source</a>. This implementation uses <ahref="#mxMultiplicity.checkType"class=LFunctionid=link38onMouseOver="ShowTip(event, 'tt16', 'link38')"onMouseOut="HideTip('tt16')">checkType</a> on the terminal’s value.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxMultiplicity.checkType"></a>checkType</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxMultiplicity.prototype.checkType = function(</td><tdclass=PParameternowrap>graph,</td></tr><tr><td></td><tdclass=PParameternowrap>value,</td></tr><tr><td></td><tdclass=PParameternowrap>type,</td></tr><tr><td></td><tdclass=PParameternowrap>attr,</td></tr><tr><td></td><tdclass=PParameternowrap>attrValue</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks the type of the given value.</p></div></div></div>
</div><!--Content-->
<divid=Footer><ahref="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
<divclass=CToolTipid="tt1"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function mxMultiplicity(</td><tdclass=PParameternowrap>source,</td></tr><tr><td></td><tdclass=PParameternowrap>type,</td></tr><tr><td></td><tdclass=PParameternowrap>attr,</td></tr><tr><td></td><tdclass=PParameternowrap>value,</td></tr><tr><td></td><tdclass=PParameternowrap>min,</td></tr><tr><td></td><tdclass=PParameternowrap>max,</td></tr><tr><td></td><tdclass=PParameternowrap>validNeighbors,</td></tr><tr><td></td><tdclass=PParameternowrap>countError,</td></tr><tr><td></td><tdclass=PParameternowrap>typeError,</td></tr><tr><td></td><tdclass=PParameternowrap>validNeighborsAllowed</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote>Instantiate class mxMultiplicity in order to describe allowed connections in a graph. </div></div><divclass=CToolTipid="tt2"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.type</td></tr></table></blockquote>Defines the type of the source or target terminal. </div></div><divclass=CToolTipid="tt3"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.attr</td></tr></table></blockquote>Optional string that specifies the attributename to be passed to mxUtils.isNode to check if the rule applies to a cell.</div></div><divclass=CToolTipid="tt4"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>isNode: function(</td><tdclass=PParameternowrap>value,</td></tr><tr><td></td><tdclass=PParameternowrap>nodeName,</td></tr><tr><td></td><tdclass=PParameternowrap>attributeName,</td></tr><tr><td></td><tdclass=PParameternowrap>attributeValue</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given value is an XML node with the node name and if the optional attribute has the specified value.</div></div><divclass=CToolTipid="tt5"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.value</td></tr></table></blockquote>Optional string that specifies the value of the attribute to be passed to mxUtils.isNode to check if the rule applies to a cell.</div></div><divclass=CToolTipid="tt6"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.source</td></tr></table></blockquote>Boolean that specifies if the rule is applied to the source or target terminal of an edge.</div></div><divclass=CToolTipid="tt7"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.min</td></tr></table></blockquote>Defines the minimum number of connections for which this rule applies. </div></div><divclass=CToolTipid="tt8"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.max</td></tr></table></blockquote>Defines the maximum number of connections for which this rule applies. </div></div><divclass=CToolTipid="tt9"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.validNeighbors</td></tr></table></blockquote>Holds an array of strings that specify the type of neighbor for which this rule applies. </div></div><divclass=CToolTipid="tt10"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxMultiplicity.prototype.validNeighborsAllowed</td></tr></table></blockquote>Boolean indicating