com.mxgraph.model

## Interface mxIGraphModel

- All Known Implementing Classes:
    mxGraphModel

      public interface mxIGraphModel

  Defines the requirements for a graph model to be used with mxGraph.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `mxIGraphModel.mxAtomicGraphModelChange` Defines the interface for an atomic change of the graph model.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `add(java.lang.Object parent, java.lang.Object child, int index)` Adds the specified child to the parent at the given index.
    `void` | `addListener(java.lang.String eventName, mxEventSource.mxIEventListener listener)` Binds the specified function to the given event name.
    `void` | `beginUpdate()` Increments the updateLevel by one.
    `java.lang.Object[]` | `cloneCells(java.lang.Object[] cells, boolean includeChildren)` Returns an array of clones for the given array of cells.
    `boolean` | `contains(java.lang.Object cell)` Returns true if the model contains the given cell.
    `void` | `endUpdate()` Decrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.
    `java.lang.Object` | `getChildAt(java.lang.Object parent, int index)` Returns the child of the given parent at the given index.
    `int` | `getChildCount(java.lang.Object cell)` Returns the number of children in the given cell.
    `java.lang.Object` | `getEdgeAt(java.lang.Object cell, int index)` Returns the edge of cell at the given index.
    `int` | `getEdgeCount(java.lang.Object cell)` Returns the number of distinct edges connected to the given cell.
    `mxGeometry` | `getGeometry(java.lang.Object cell)` Returns the geometry of the given cell.
    `java.lang.Object` | `getParent(java.lang.Object child)` Returns the parent of the given cell.
    `java.lang.Object` | `getRoot()` Returns the root of the model or the topmost parent of the given cell.
    `java.lang.String` | `getStyle(java.lang.Object cell)` Returns the style of the given cell.
    `java.lang.Object` | `getTerminal(java.lang.Object edge, boolean isSource)` Returns the source or target terminal of the given edge depending on the value of the boolean parameter.
    `java.lang.Object` | `getValue(java.lang.Object cell)` Returns the user object of the given cell.
    `boolean` | `isAncestor(java.lang.Object parent, java.lang.Object child)` Returns true if the given parent is an ancestor of the given child.
    `boolean` | `isCollapsed(java.lang.Object cell)` Returns true if the given cell is collapsed.
    `boolean` | `isConnectable(java.lang.Object cell)` Returns true if the given cell is connectable.
    `boolean` | `isEdge(java.lang.Object cell)` Returns true if the given cell is an edge.
    `boolean` | `isVertex(java.lang.Object cell)` Returns true if the given cell is a vertex.
    `boolean` | `isVisible(java.lang.Object cell)` Returns true if the given cell is visible.
    `java.lang.Object` | `remove(java.lang.Object cell)` Removes the specified cell from the model.
    `void` | `removeListener(mxEventSource.mxIEventListener listener)` Function: removeListener Removes the given listener from the list of listeners.
    `void` | `removeListener(mxEventSource.mxIEventListener listener, java.lang.String eventName)` Function: removeListener Removes the given listener from the list of listeners.
    `boolean` | `setCollapsed(java.lang.Object cell, boolean collapsed)` Sets the collapsed state of the given cell.
    `mxGeometry` | `setGeometry(java.lang.Object cell, mxGeometry geometry)` Sets the geometry of the given cell.
    `java.lang.Object` | `setRoot(java.lang.Object root)` Sets the root of the model and resets all structures.
    `java.lang.String` | `setStyle(java.lang.Object cell, java.lang.String style)` Sets the style of the given cell.
    `java.lang.Object` | `setTerminal(java.lang.Object edge, java.lang.Object terminal, boolean isSource)` Sets the source or target terminal of the given edge using.
    `java.lang.Object` | `setValue(java.lang.Object cell, java.lang.Object value)` Sets the user object of then given cell.
    `boolean` | `setVisible(java.lang.Object cell, boolean visible)` Sets the visible state of the given cell.

- - ### Method Detail

    - #### getRoot

          java.lang.Object getRoot()

      Returns the root of the model or the topmost parent of the given cell.
      Returns:
        Returns the root cell.

    - #### setRoot

          java.lang.Object setRoot(java.lang.Object root)

      Sets the root of the model and resets all structures.
      Parameters:
        `root` - Cell that specifies the new root.

    - #### cloneCells

          java.lang.Object[] cloneCells(java.lang.Object[] cells,
                                      boolean includeChildren)

      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.
      Parameters:
        `cells` - Array of cells to be cloned.
        `includeChildren` - Boolean indicating if the cells should be cloned with all descendants.
      Returns:
        Returns a cloned array of cells.

    - #### isAncestor

          boolean isAncestor(java.lang.Object parent,
                           java.lang.Object child)

      Returns true if the given parent is an ancestor of the given child.
      Parameters:
        `parent` - Cell that specifies the parent.
        `child` - Cell that specifies the child.
      Returns:
        Returns true if child is an ancestor of parent.

    - #### contains

          boolean contains(java.lang.Object cell)

      Returns true if the model contains the given cell.
      Parameters:
        `cell` - Cell to be checked.
      Returns:
        Returns true if the cell is in the model.

    - #### getParent

          java.lang.Object getParent(java.lang.Object child)

      Returns the parent of the given cell.
      Parameters:
        `child` - Cell whose parent should be returned.
      Returns:
        Returns the parent of the given cell.

    - #### add

          java.lang.Object add(java.lang.Object parent,
                             java.lang.Object child,
                             int index)

      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.
      Parameters:
        `parent` - Cell that specifies the parent to contain the child.
        `child` - Cell that specifies the child to be inserted.
        `index` - Integer that specifies the index of the child.
      Returns:
        Returns the inserted child.

    - #### remove

          java.lang.Object remove(java.lang.Object cell)

      Removes the specified cell from the model. This operation will remove the cell and all of its children from the model.
      Parameters:
        `cell` - Cell that should be removed.
      Returns:
        Returns the removed cell.

    - #### getChildCount

          int getChildCount(java.lang.Object cell)

      Returns the number of children in the given cell.
      Parameters:
        `cell` - Cell whose number of children should be returned.
      Returns:
        Returns the number of children in the given cell.

    - #### getChildAt

          java.lang.Object getChildAt(java.lang.Object parent,
                                    int index)

      Returns the child of the given parent at the given index.
      Parameters:
        `parent` - Cell that represents the parent.
        `index` - Integer that specifies the index of the child to be returned.
      Returns:
        Returns the child at index in parent.

    - #### getTerminal

          java.lang.Object getTerminal(java.lang.Object edge,
                                     boolean isSource)

      Returns the source or target terminal of the given edge depending on the value of the boolean parameter.
      Parameters:
        `edge` - Cell that specifies the edge.
        `isSource` - Boolean indicating which end of the edge should be returned.
      Returns:
        Returns the source or target of the given edge.

    - #### setTerminal

          java.lang.Object setTerminal(java.lang.Object edge,
                                     java.lang.Object terminal,
                                     boolean isSource)

      Sets the source or target terminal of the given edge using.
      Parameters:
        `edge` - Cell that specifies the edge.
        `terminal` - Cell that specifies the new terminal.
        `isSource` - Boolean indicating if the terminal is the new source or target terminal of the edge.
      Returns:
        Returns the new terminal.

    - #### getEdgeCount

          int getEdgeCount(java.lang.Object cell)

      Returns the number of distinct edges connected to the given cell.
      Parameters:
        `cell` - Cell that represents the vertex.
      Returns:
        Returns the number of edges connected to cell.

    - #### getEdgeAt

          java.lang.Object getEdgeAt(java.lang.Object cell,
                                   int index)

      Returns the edge of cell at the given index.
      Parameters:
        `cell` - Cell that specifies the vertex.
        `index` - Integer that specifies the index of the edge to return.
      Returns:
        Returns the edge at the given index.

    - #### isVertex

          boolean isVertex(java.lang.Object cell)

      Returns true if the given cell is a vertex.
      Parameters:
        `cell` - Cell that represents the possible vertex.
      Returns:
        Returns true if the given cell is a vertex.

    - #### isEdge

          boolean isEdge(java.lang.Object cell)

      Returns true if the given cell is an edge.
      Parameters:
        `cell` - Cell that represents the possible edge.
      Returns:
        Returns true if the given cell is an edge.

    - #### isConnectable

          boolean isConnectable(java.lang.Object cell)

      Returns true if the given cell is connectable.
      Parameters:
        `cell` - Cell whose connectable state should be returned.
      Returns:
        Returns the connectable state of the given cell.

    - #### getValue

          java.lang.Object getValue(java.lang.Object cell)

      Returns the user object of the given cell.
      Parameters:
        `cell` - Cell whose user object should be returned.
      Returns:
        Returns the user object of the given cell.

    - #### setValue

          java.lang.Object setValue(java.lang.Object cell,
                                  java.lang.Object value)

      Sets the user object of then given cell.
      Parameters:
        `cell` - Cell whose user object should be changed.
        `value` - Object that defines the new user object.
      Returns:
        Returns the new value.

    - #### getGeometry

          mxGeometry getGeometry(java.lang.Object cell)

      Returns the geometry of the given cell.
      Parameters:
        `cell` - Cell whose geometry should be returned.
      Returns:
        Returns the geometry of the given cell.

    - #### setGeometry

          mxGeometry setGeometry(java.lang.Object cell,
                               mxGeometry geometry)

      Sets the geometry of the given cell.
      Parameters:
        `cell` - Cell whose geometry should be changed.
        `geometry` - Object that defines the new geometry.
      Returns:
        Returns the new geometry.

    - #### getStyle

          java.lang.String getStyle(java.lang.Object cell)

      Returns the style of the given cell.
      Parameters:
        `cell` - Cell whose style should be returned.
      Returns:
        Returns the style of the given cell.

    - #### setStyle

          java.lang.String setStyle(java.lang.Object cell,
                                  java.lang.String style)

      Sets the style of the given cell.
      Parameters:
        `cell` - Cell whose style should be changed.
        `style` - String of the form stylename[;key=value] to specify the new cell style.
      Returns:
        Returns the new style.

    - #### isCollapsed

          boolean isCollapsed(java.lang.Object cell)

      Returns true if the given cell is collapsed.
      Parameters:
        `cell` - Cell whose collapsed state should be returned.
      Returns:
        Returns the collapsed state of the given cell.

    - #### setCollapsed

          boolean setCollapsed(java.lang.Object cell,
                             boolean collapsed)

      Sets the collapsed state of the given cell.
      Parameters:
        `cell` - Cell whose collapsed state should be changed.
        `collapsed` - Boolean that specifies the new collpased state.
      Returns:
        Returns the new collapsed state.

    - #### isVisible

          boolean isVisible(java.lang.Object cell)

      Returns true if the given cell is visible.
      Parameters:
        `cell` - Cell whose visible state should be returned.
      Returns:
        Returns the visible state of the given cell.

    - #### setVisible

          boolean setVisible(java.lang.Object cell,
                           boolean visible)

      Sets the visible state of the given cell.
      Parameters:
        `cell` - Cell whose visible state should be changed.
        `visible` - Boolean that specifies the new visible state.
      Returns:
        Returns the new visible state.

    - #### beginUpdate

          void beginUpdate()

      Increments the updateLevel by one. The event notification is queued until updateLevel reaches 0 by use of endUpdate.

    - #### endUpdate

          void endUpdate()

      Decrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.

    - #### addListener

          void addListener(java.lang.String eventName,
                         mxEventSource.mxIEventListener listener)

      Binds the specified function to the given event name. If no event name is given, then the listener is registered for all events.

    - #### removeListener

          void removeListener(mxEventSource.mxIEventListener listener)

      Function: removeListener Removes the given listener from the list of listeners.

    - #### removeListener

          void removeListener(mxEventSource.mxIEventListener listener,
                            java.lang.String eventName)

      Function: removeListener Removes the given listener from the list of listeners.

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