Class mxCell

java.lang.Object
com.mxgraph.model.mxCell
All Implemented Interfaces:
mxICell, Serializable, Cloneable

public class mxCell extends Object implements mxICell, Cloneable, 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:
  • Field Summary

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

    Constructors
    Constructor
    Description
    Constructs a new cell with an empty user object.
    mxCell(Object value)
    Constructs a new cell for the given user object.
    mxCell(Object value, mxGeometry geometry, String style)
    Constructs a new cell for the given parameters.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a clone of the cell.
    protected Object
    Returns a clone of the user object.
    Returns the specified attribute from the user object if it is an XML node.
    getAttribute(String name, String defaultValue)
    Returns the specified attribute from the user object if it is an XML node.
    getChildAt(int index)
    Returns the child at the specified index.
    int
    Returns the number of child cells.
    getEdgeAt(int index)
    Returns the edge at the specified index in the edge array.
    int
    Returns the number of edges in the edge array.
    int
    Returns the index of the specified edge in the edge array.
    Returns the object that describes the geometry.
    Returns the Id of the cell as a string.
    int
    Returns the index of the specified child in the child array.
    Returns the cell's parent.
    Returns the source terminal.
    Returns the string that describes the style.
    Returns the target terminal.
    getTerminal(boolean source)
    Returns the source or target terminal.
    Returns the user object of the cell.
    insert(mxICell child)
    Appends the specified child into the child array and updates the parent reference of the child.
    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.
    insertEdge(mxICell edge, boolean isOutgoing)
    Inserts the specified edge into the edge array and returns the edge.
    boolean
    Returns true if the cell is collapsed.
    boolean
    Returns true if the cell is connectable.
    boolean
    Returns true if the cell is an edge.
    boolean
    Returns true if the cell is a vertex.
    boolean
    Returns true if the cell is visibile.
    remove(int index)
    Removes the child at the specified index from the child array and returns the child that was removed.
    remove(mxICell child)
    Removes the given child from the child array and returns it.
    removeEdge(mxICell edge, boolean isOutgoing)
    Removes the specified edge from the edge array and returns the edge.
    void
    Removes the cell from its parent.
    void
    removeFromTerminal(boolean isSource)
    Removes the edge from its source or target terminal.
    void
    setAttribute(String name, 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
    Sets the object to be used as the geometry.
    void
    Sets the Id of the cell to the given string.
    void
    Sets the parent cell.
    void
    Sets the source terminal.
    void
    Sets the string to be used as the style.
    void
    Sets the target terminal.
    setTerminal(mxICell terminal, boolean isSource)
    Sets the source or target terminal and returns the new terminal.
    void
    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, wait, wait, wait
  • Field Details

    • id

      protected String id
      Holds the Id. Default is null.
    • value

      protected Object value
      Holds the user object. Default is null.
    • geometry

      protected mxGeometry geometry
      Holds the geometry. Default is null.
    • style

      protected 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 List<Object> children
      Holds the child cells and connected edges.
    • edges

      protected List<Object> edges
      Holds the child cells and connected edges.
  • Constructor Details

    • mxCell

      public mxCell()
      Constructs a new cell with an empty user object.
    • mxCell

      public mxCell(Object value)
      Constructs a new cell for the given user object.
      Parameters:
      value - Object that represents the value of the cell.
    • mxCell

      public mxCell(Object value, mxGeometry geometry, 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 Details

    • getId

      public 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(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 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(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 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(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 String getAttribute(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 String getAttribute(String name, 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(String name, 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 Object clone() throws CloneNotSupportedException
      Returns a clone of the cell.
      Specified by:
      clone in interface mxICell
      Overrides:
      clone in class Object
      Returns:
      Returns a clone of this cell.
      Throws:
      CloneNotSupportedException
    • cloneValue

      protected Object cloneValue()
      Returns a clone of the user object. This implementation clones any XML nodes or otherwise returns the same user object instance.
    • toString

      public String toString()
      Overrides:
      toString in class Object