Package org.apache.cayenne.graph

# Interface GraphManager

All Superinterfaces:
  `GraphChangeHandler`

All Known Implementing Classes:
  `GraphMap`, `NoSyncObjectStore`, `ObjectStore`

public interface GraphManager extends GraphChangeHandler
Represents a generic "managed" graph with nodes mapped by their ids. Inherited GraphChangeHandler methods are intended as callbacks for graph node objects to notify graph of their changes.

Since:
  1.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getNode(Object nodeId)`
  Returns a graph node given an id.
  `Collection<Object>`
  `registeredNodes()`
  Returns all graph nodes registered with GraphManager.
  `void`
  `registerNode(Object nodeId, Object nodeObject)`
  "Registers" a graph node, usually storing the node in some internal map using its id as a key.
  `Object`
  `unregisterNode(Object nodeId)`
  "Unregisters" a graph node, forgetting any information associated with nodeId.

  ### Methods inherited from interface org.apache.cayenne.graph.GraphChangeHandler

  `arcCreated, arcDeleted, nodeCreated, nodeIdChanged, nodePropertyChanged, nodeRemoved`

- ## Method Details

  - ### getNode

    Object getNode(Object nodeId)
    Returns a graph node given an id.

  - ### registerNode

    void registerNode(Object nodeId, Object nodeObject)
    "Registers" a graph node, usually storing the node in some internal map using its id as a key.

  - ### unregisterNode

    Object unregisterNode(Object nodeId)
    "Unregisters" a graph node, forgetting any information associated with nodeId.

  - ### registeredNodes

    Collection<Object> registeredNodes()
    Returns all graph nodes registered with GraphManager.