Package org.apache.cayenne.graph

# Interface GraphChangeHandler

All Known Subinterfaces:
  `GraphManager`

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

public interface GraphChangeHandler
Defines callback API that can be used by object graph nodes to notify of their state changes. Graph nodes can be any objects as long as each node supports a notion of a unique id within the graph and each directional arc has a unique identifier within its source node.

Since:
  1.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `arcCreated(Object nodeId, Object targetNodeId, ArcId arcId)`
  Notifies implementing object that a new arc was created between two nodes.
  `void`
  `arcDeleted(Object nodeId, Object targetNodeId, ArcId arcId)`
  Notifies implementing object that an arc between two nodes was deleted.
  `void`
  `nodeCreated(Object nodeId)`
  Notifies implementing object that a new node was created in the graph.
  `void`
  `nodeIdChanged(Object nodeId, Object newId)`
  Notifies implementing object that a node was assigned a new id.
  `void`
  `nodePropertyChanged(Object nodeId, String property, Object oldValue, Object newValue)`
  Notifies implementing object that a node's property was modified.
  `void`
  `nodeRemoved(Object nodeId)`
  Notifies implementing object that a node was removed from the graph.

- ## Method Details

  - ### nodeIdChanged

    void nodeIdChanged(Object nodeId, Object newId)
    Notifies implementing object that a node was assigned a new id.

  - ### nodeCreated

    void nodeCreated(Object nodeId)
    Notifies implementing object that a new node was created in the graph.

  - ### nodeRemoved

    void nodeRemoved(Object nodeId)
    Notifies implementing object that a node was removed from the graph.

  - ### nodePropertyChanged

    void nodePropertyChanged(Object nodeId, String property, Object oldValue, Object newValue)
    Notifies implementing object that a node's property was modified.

  - ### arcCreated

    void arcCreated(Object nodeId, Object targetNodeId, ArcId arcId)
    Notifies implementing object that a new arc was created between two nodes.

  - ### arcDeleted

    void arcDeleted(Object nodeId, Object targetNodeId, ArcId arcId)
    Notifies implementing object that an arc between two nodes was deleted.