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

    All Methods Instance Methods Abstract Methods
    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 Detail

    - #### 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.