JGraph X 1.3.0.0

## com.mxgraph.model
Class mxCell

    java.lang.Object
      com.mxgraph.model.mxCell

All Implemented Interfaces:
  mxICell, java.io.Serializable, java.lang.Cloneable

    public class mxCell

extends java.lang.Object
implements mxICell, java.lang.Cloneable, java.io.Serializable

Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.

#### Edge Labels

Using the x- and y-coordinates of a cell's geometry it is possible to position the label on edges on a specific location on the actual edge shape as it appears on the screen. The x-coordinate of an edge's geometry is used to describe the distance from the center of the edge from -1 to 1 with 0 being the center of the edge and the default value. The y-coordinate of an edge's geometry is used to describe the absolute, orthogonal distance in pixels from that point. In addition, the mxGeometry.offset is used as a absolute offset vector from the resulting point. The width and height of an edge geometry are ignored. To add more than one edge label, add a child vertex with a relative geometry. The x- and y-coordinates of that geometry will have the same semantiv as the above for edge labels.

See Also:
  Serialized Form

Field Summary
`protected java.util.List<java.lang.Object>` `children` Holds the child cells and connected edges.
`protected boolean` `collapsed` Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.
`protected boolean` `connectable` Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.
`protected boolean` `edge` Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.
`protected java.util.List<java.lang.Object>` `edges` Holds the child cells and connected edges.
`protected mxGeometry` `geometry` Holds the geometry.
`protected java.lang.String` `id` Holds the Id.
`protected mxICell` `parent` Reference to the parent cell and source and target terminals for edges.
`protected mxICell` `source` Reference to the parent cell and source and target terminals for edges.
`protected java.lang.String` `style` Holds the style as a string of the form stylename[;key=value].
`protected mxICell` `target` Reference to the parent cell and source and target terminals for edges.
`protected java.lang.Object` `value` Holds the user object.
`protected boolean` `vertex` Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.
`protected boolean` `visible` Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed.

Constructor Summary
`mxCell()` Constructs a new cell with an empty user object.
`mxCell(java.lang.Object value)` Constructs a new cell for the given user object.
`mxCell(java.lang.Object value, mxGeometry geometry, java.lang.String style)` Constructs a new cell for the given parameters.

Method Summary
`java.lang.Object` `clone()` Returns a clone of the cell.
`protected java.lang.Object` `cloneValue()` Returns a clone of the user object.
`java.lang.String` `getAttribute(java.lang.String name)` Returns the specified attribute from the user object if it is an XML node.
`java.lang.String` `getAttribute(java.lang.String name, java.lang.String defaultValue)` Returns the specified attribute from the user object if it is an XML node.
`mxICell` `getChildAt(int index)` Returns the child at the specified index.
`int` `getChildCount()` Returns the number of child cells.
`mxICell` `getEdgeAt(int index)` Returns the edge at the specified index in the edge array.
`int` `getEdgeCount()` Returns the number of edges in the edge array.
`int` `getEdgeIndex(mxICell edge)` Returns the index of the specified edge in the edge array.
`mxGeometry` `getGeometry()` Returns the object that describes the geometry.
`java.lang.String` `getId()` Returns the Id of the cell as a string.
`int` `getIndex(mxICell child)` Returns the index of the specified child in the child array.
`mxICell` `getParent()` Returns the cell's parent.
`mxICell` `getSource()` Returns the source terminal.
`java.lang.String` `getStyle()` Returns the string that describes the style.
`mxICell` `getTarget()` Returns the target terminal.
`mxICell` `getTerminal(boolean source)` Returns the source or target terminal.
`java.lang.Object` `getValue()` Returns the user object of the cell.
`mxICell` `insert(mxICell child)` Appends the specified child into the child array and updates the parent reference of the child.
`mxICell` `insert(mxICell child, int index)` Inserts the specified child into the child array at the specified index and updates the parent reference of the child.
`mxICell` `insertEdge(mxICell edge, boolean isOutgoing)` Inserts the specified edge into the edge array and returns the edge.
`boolean` `isCollapsed()` Returns true if the cell is collapsed.
`boolean` `isConnectable()` Returns true if the cell is connectable.
`boolean` `isEdge()` Returns true if the cell is an edge.
`boolean` `isVertex()` Returns true if the cell is a vertex.
`boolean` `isVisible()` Returns true if the cell is visibile.
`mxICell` `remove(int index)` Removes the child at the specified index from the child array and returns the child that was removed.
`mxICell` `remove(mxICell child)` Removes the given child from the child array and returns it.
`mxICell` `removeEdge(mxICell edge, boolean isOutgoing)` Removes the specified edge from the edge array and returns the edge.
`void` `removeFromParent()` Removes the cell from its parent.
`void` `removeFromTerminal(boolean isSource)` Removes the edge from its source or target terminal.
`void` `setAttribute(java.lang.String name, java.lang.String value)` Sets the specified attribute on the user object if it is an XML node.
`void` `setCollapsed(boolean collapsed)` Sets the collapsed state.
`void` `setConnectable(boolean connectable)`
`void` `setEdge(boolean edge)`
`void` `setGeometry(mxGeometry geometry)` Sets the object to be used as the geometry.
`void` `setId(java.lang.String id)` Sets the Id of the cell to the given string.
`void` `setParent(mxICell parent)` Sets the parent cell.
`void` `setSource(mxICell source)` Sets the source terminal.
`void` `setStyle(java.lang.String style)` Sets the string to be used as the style.
`void` `setTarget(mxICell target)` Sets the target terminal.
`mxICell` `setTerminal(mxICell terminal, boolean isSource)` Sets the source or target terminal and returns the new terminal.
`void` `setValue(java.lang.Object value)` Sets the user object of the cell.
`void` `setVertex(boolean vertex)`
`void` `setVisible(boolean visible)` Specifies if the cell is visible.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### id

    protected java.lang.String id

  Holds the Id. Default is null.

### value

    protected java.lang.Object value

  Holds the user object. Default is null.

### geometry

    protected mxGeometry geometry

  Holds the geometry. Default is null.

### style

    protected java.lang.String style

  Holds the style as a string of the form stylename[;key=value]. Default is null.

### vertex

    protected boolean vertex

  Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.

### edge

    protected boolean edge

  Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.

### connectable

    protected boolean connectable

  Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.

### visible

    protected boolean visible

  Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.

### collapsed

    protected boolean collapsed

  Specifies whether the cell is a vertex or edge and whether it is connectable, visible and collapsed. Default values are false, false, true, true and false respectively.

### parent

    protected mxICell parent

  Reference to the parent cell and source and target terminals for edges.

### source

    protected mxICell source

  Reference to the parent cell and source and target terminals for edges.

### target

    protected mxICell target

  Reference to the parent cell and source and target terminals for edges.

### children

    protected java.util.List<java.lang.Object> children

  Holds the child cells and connected edges.

### edges

    protected java.util.List<java.lang.Object> edges

  Holds the child cells and connected edges.

Constructor Detail

### mxCell

    public mxCell()

  Constructs a new cell with an empty user object.

### mxCell

    public mxCell(java.lang.Object value)

  Constructs a new cell for the given user object.

  Parameters:
    `value` - Object that represents the value of the cell.

### mxCell

    public mxCell(java.lang.Object value,
                  mxGeometry geometry,
                  java.lang.String style)

  Constructs a new cell for the given parameters.

  Parameters:
    `value` - Object that represents the value of the cell.
    `geometry` - Specifies the geometry of the cell.
    `style` - Specifies the style as a formatted string.

Method Detail

### getId

    public java.lang.String getId()

  Description copied from interface: `mxICell`
  Returns the Id of the cell as a string.

  Specified by:
    `getId` in interface `mxICell`
  Returns:
    Returns the Id.

### setId

    public void setId(java.lang.String id)

  Description copied from interface: `mxICell`
  Sets the Id of the cell to the given string.

  Specified by:
    `setId` in interface `mxICell`
  Parameters:
    `id` - String that represents the new Id.

### getValue

    public java.lang.Object getValue()

  Description copied from interface: `mxICell`
  Returns the user object of the cell.

  Specified by:
    `getValue` in interface `mxICell`
  Returns:
    Returns the user object.

### setValue

    public void setValue(java.lang.Object value)

  Description copied from interface: `mxICell`
  Sets the user object of the cell.

  Specified by:
    `setValue` in interface `mxICell`
  Parameters:
    `value` - Object that represents the new value.

### getGeometry

    public mxGeometry getGeometry()

  Description copied from interface: `mxICell`
  Returns the object that describes the geometry.

  Specified by:
    `getGeometry` in interface `mxICell`
  Returns:
    Returns the cell geometry.

### setGeometry

    public void setGeometry(mxGeometry geometry)

  Description copied from interface: `mxICell`
  Sets the object to be used as the geometry.

  Specified by:
    `setGeometry` in interface `mxICell`

### getStyle

    public java.lang.String getStyle()

  Description copied from interface: `mxICell`
  Returns the string that describes the style.

  Specified by:
    `getStyle` in interface `mxICell`
  Returns:
    Returns the cell style.

### setStyle

    public void setStyle(java.lang.String style)

  Description copied from interface: `mxICell`
  Sets the string to be used as the style.

  Specified by:
    `setStyle` in interface `mxICell`

### isVertex

    public boolean isVertex()

  Description copied from interface: `mxICell`
  Returns true if the cell is a vertex.

  Specified by:
    `isVertex` in interface `mxICell`
  Returns:
    Returns true if the cell is a vertex.

### setVertex

    public void setVertex(boolean vertex)

### isEdge

    public boolean isEdge()

  Description copied from interface: `mxICell`
  Returns true if the cell is an edge.

  Specified by:
    `isEdge` in interface `mxICell`
  Returns:
    Returns true if the cell is an edge.

### setEdge

    public void setEdge(boolean edge)

### isConnectable

    public boolean isConnectable()

  Description copied from interface: `mxICell`
  Returns true if the cell is connectable.

  Specified by:
    `isConnectable` in interface `mxICell`
  Returns:
    Returns the connectable state.

### setConnectable

    public void setConnectable(boolean connectable)

### isVisible

    public boolean isVisible()

  Description copied from interface: `mxICell`
  Returns true if the cell is visibile.

  Specified by:
    `isVisible` in interface `mxICell`
  Returns:
    Returns the visible state.

### setVisible

    public void setVisible(boolean visible)

  Description copied from interface: `mxICell`
  Specifies if the cell is visible.

  Specified by:
    `setVisible` in interface `mxICell`
  Parameters:
    `visible` - Boolean that specifies the new visible state.

### isCollapsed

    public boolean isCollapsed()

  Description copied from interface: `mxICell`
  Returns true if the cell is collapsed.

  Specified by:
    `isCollapsed` in interface `mxICell`
  Returns:
    Returns the collapsed state.

### setCollapsed

    public void setCollapsed(boolean collapsed)

  Description copied from interface: `mxICell`
  Sets the collapsed state.

  Specified by:
    `setCollapsed` in interface `mxICell`
  Parameters:
    `collapsed` - Boolean that specifies the new collapsed state.

### getParent

    public mxICell getParent()

  Description copied from interface: `mxICell`
  Returns the cell's parent.

  Specified by:
    `getParent` in interface `mxICell`
  Returns:
    Returns the parent cell.

### setParent

    public void setParent(mxICell parent)

  Description copied from interface: `mxICell`
  Sets the parent cell.

  Specified by:
    `setParent` in interface `mxICell`
  Parameters:
    `parent` - Cell that represents the new parent.

### getSource

    public mxICell getSource()

  Returns the source terminal.

### setSource

    public void setSource(mxICell source)

  Sets the source terminal.

  Parameters:
    `source` - Cell that represents the new source terminal.

### getTarget

    public mxICell getTarget()

  Returns the target terminal.

### setTarget

    public void setTarget(mxICell target)

  Sets the target terminal.

  Parameters:
    `target` - Cell that represents the new target terminal.

### getTerminal

    public mxICell getTerminal(boolean source)

  Description copied from interface: `mxICell`
  Returns the source or target terminal.

  Specified by:
    `getTerminal` in interface `mxICell`
  Parameters:
    `source` - Boolean that specifies if the source terminal should be returned.
  Returns:
    Returns the source or target terminal.

### setTerminal

    public mxICell setTerminal(mxICell terminal,
                               boolean isSource)

  Description copied from interface: `mxICell`
  Sets the source or target terminal and returns the new terminal.

  Specified by:
    `setTerminal` in interface `mxICell`
  Parameters:
    `terminal` - Cell that represents the new source or target terminal.
    `isSource` - Boolean that specifies if the source or target terminal should be set.
  Returns:
    Returns the new terminal.

### getChildCount

    public int getChildCount()

  Description copied from interface: `mxICell`
  Returns the number of child cells.

  Specified by:
    `getChildCount` in interface `mxICell`
  Returns:
    Returns the number of children.

### getIndex

    public int getIndex(mxICell child)

  Description copied from interface: `mxICell`
  Returns the index of the specified child in the child array.

  Specified by:
    `getIndex` in interface `mxICell`
  Parameters:
    `child` - Child whose index should be returned.
  Returns:
    Returns the index of the given child.

### getChildAt

    public mxICell getChildAt(int index)

  Description copied from interface: `mxICell`
  Returns the child at the specified index.

  Specified by:
    `getChildAt` in interface `mxICell`
  Parameters:
    `index` - Integer that specifies the child to be returned.
  Returns:
    Returns the child at the given index.

### insert

    public mxICell insert(mxICell child)

  Description copied from interface: `mxICell`
  Appends the specified child into the child array and updates the parent reference of the child. Returns the appended child.

  Specified by:
    `insert` in interface `mxICell`
  Parameters:
    `child` - Cell to be appended to the child array.
  Returns:
    Returns the new child.

### insert

    public mxICell insert(mxICell child,
                          int index)

  Description copied from interface: `mxICell`
  Inserts the specified child into the child array at the specified index and updates the parent reference of the child. Returns the inserted child.

  Specified by:
    `insert` in interface `mxICell`
  Parameters:
    `child` - Cell to be inserted into the child array.
    `index` - Integer that specifies the index at which the child should be inserted into the child array.
  Returns:
    Returns the new child.

### remove

    public mxICell remove(int index)

  Description copied from interface: `mxICell`
  Removes the child at the specified index from the child array and returns the child that was removed. Will remove the parent reference of the child.

  Specified by:
    `remove` in interface `mxICell`
  Parameters:
    `index` - Integer that specifies the index of the child to be removed.
  Returns:
    Returns the child that was removed.

### remove

    public mxICell remove(mxICell child)

  Description copied from interface: `mxICell`
  Removes the given child from the child array and returns it. Will remove the parent reference of the child.

  Specified by:
    `remove` in interface `mxICell`
  Parameters:
    `child` - Cell that represents the child to be removed.
  Returns:
    Returns the child that was removed.

### removeFromParent

    public void removeFromParent()

  Description copied from interface: `mxICell`
  Removes the cell from its parent.

  Specified by:
    `removeFromParent` in interface `mxICell`

### getEdgeCount

    public int getEdgeCount()

  Description copied from interface: `mxICell`
  Returns the number of edges in the edge array.

  Specified by:
    `getEdgeCount` in interface `mxICell`
  Returns:
    Returns the number of edges.

### getEdgeIndex

    public int getEdgeIndex(mxICell edge)

  Description copied from interface: `mxICell`
  Returns the index of the specified edge in the edge array.

  Specified by:
    `getEdgeIndex` in interface `mxICell`
  Parameters:
    `edge` - Cell whose index should be returned.
  Returns:
    Returns the index of the given edge.

### getEdgeAt

    public mxICell getEdgeAt(int index)

  Description copied from interface: `mxICell`
  Returns the edge at the specified index in the edge array.

  Specified by:
    `getEdgeAt` in interface `mxICell`
  Parameters:
    `index` - Integer that specifies the index of the edge to be returned.
  Returns:
    Returns the edge at the given index.

### insertEdge

    public mxICell insertEdge(mxICell edge,
                              boolean isOutgoing)

  Description copied from interface: `mxICell`
  Inserts the specified edge into the edge array and returns the edge. Will update the respective terminal reference of the edge.

  Specified by:
    `insertEdge` in interface `mxICell`
  Parameters:
    `edge` - Cell to be inserted into the edge array.
    `isOutgoing` - Boolean that specifies if the edge is outgoing.
  Returns:
    Returns the new edge.

### removeEdge

    public mxICell removeEdge(mxICell edge,
                              boolean isOutgoing)

  Description copied from interface: `mxICell`
  Removes the specified edge from the edge array and returns the edge. Will remove the respective terminal reference from the edge.

  Specified by:
    `removeEdge` in interface `mxICell`
  Parameters:
    `edge` - Cell to be removed from the edge array.
    `isOutgoing` - Boolean that specifies if the edge is outgoing.
  Returns:
    Returns the edge that was removed.

### removeFromTerminal

    public void removeFromTerminal(boolean isSource)

  Description copied from interface: `mxICell`
  Removes the edge from its source or target terminal.

  Specified by:
    `removeFromTerminal` in interface `mxICell`
  Parameters:
    `isSource` - Boolean that specifies if the edge should be removed from its source or target terminal.

### getAttribute

    public java.lang.String getAttribute(java.lang.String name)

  Returns the specified attribute from the user object if it is an XML node.

  Parameters:
    `name` - Name of the attribute whose value should be returned.
  Returns:
    Returns the value of the given attribute or null.

### getAttribute

    public java.lang.String getAttribute(java.lang.String name,
                                         java.lang.String defaultValue)

  Returns the specified attribute from the user object if it is an XML node.

  Parameters:
    `name` - Name of the attribute whose value should be returned.
    `defaultValue` - Default value to use if the attribute has no value.
  Returns:
    Returns the value of the given attribute or defaultValue.

### setAttribute

    public void setAttribute(java.lang.String name,
                             java.lang.String value)

  Sets the specified attribute on the user object if it is an XML node.

  Parameters:
    `name` - Name of the attribute whose value should be set.
    `value` - New value of the attribute.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the cell.

  Specified by:
    `clone` in interface `mxICell`
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    Returns a clone of this cell.
  Throws:
    `java.lang.CloneNotSupportedException`

### cloneValue

    protected java.lang.Object cloneValue()

  Returns a clone of the user object. This implementation clones any XML nodes or otherwise returns the same user object instance.

JGraph X 1.3.0.0

Copyright (c) 2008 Gaudenz Alder. All rights reserved.