## Uses of Interface
org.apache.cayenne.graph.GraphChangeHandler

- Packages that use GraphChangeHandler
  Package | Description
  --- | ---
  org.apache.cayenne | Contains persistence APIs directly accessible by users.
  org.apache.cayenne.access | Contains classes that make up Cayenne ORM stack.
  org.apache.cayenne.graph | Contains generic graph management tools used in Cayenne.

- - ### Uses of GraphChangeHandler in org.apache.cayenne

    Classes in org.apache.cayenne that implement GraphChangeHandler
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DataChannelSyncCallbackAction` |

  - ### Uses of GraphChangeHandler in org.apache.cayenne.access

    Classes in org.apache.cayenne.access that implement GraphChangeHandler
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoSyncObjectStore` | An `ObjectStore` which doesn't receive notifications on parent's `DataRowStore` events.
    `class` | `ObjectStore` | ObjectStore stores objects using their ObjectId as a key.

  - ### Uses of GraphChangeHandler in org.apache.cayenne.graph

    Subinterfaces of GraphChangeHandler in org.apache.cayenne.graph
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `GraphManager` | Represents a generic "managed" graph with nodes mapped by their ids.

    Classes in org.apache.cayenne.graph that implement GraphChangeHandler
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ChildDiffLoader` | A GraphChangeHandler that loads child ObjectContext diffs into a parent ObjectContext.
    `class` | `GraphMap` | A base implementation of GraphManager that stores graph nodes keyed by their ids.

    Methods in org.apache.cayenne.graph with parameters of type GraphChangeHandler
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ArcCreateOperation.`apply​(GraphChangeHandler tracker)` |
    `void` | ArcDeleteOperation.`apply​(GraphChangeHandler tracker)` |
    `void` | CompoundDiff.`apply​(GraphChangeHandler tracker)` | Iterates over diffs list, calling "apply" on each individual diff.
    `void` | GraphDiff.`apply​(GraphChangeHandler handler)` | Calls appropriate methods on the handler to "replay" this change.
    `void` | NodeCreateOperation.`apply​(GraphChangeHandler tracker)` |
    `void` | NodeDeleteOperation.`apply​(GraphChangeHandler tracker)` |
    `abstract void` | NodeDiff.`apply​(GraphChangeHandler tracker)` |
    `void` | NodeIdChangeOperation.`apply​(GraphChangeHandler tracker)` |
    `void` | NodePropertyChangeOperation.`apply​(GraphChangeHandler tracker)` |
    `void` | ArcCreateOperation.`undo​(GraphChangeHandler tracker)` |
    `void` | ArcDeleteOperation.`undo​(GraphChangeHandler tracker)` |
    `void` | CompoundDiff.`undo​(GraphChangeHandler tracker)` | Iterates over diffs list in reverse order, calling "apply" on each individual diff.
    `void` | GraphDiff.`undo​(GraphChangeHandler handler)` | Calls appropriate methods on the handler to revert this change.
    `void` | NodeCreateOperation.`undo​(GraphChangeHandler tracker)` |
    `void` | NodeDeleteOperation.`undo​(GraphChangeHandler tracker)` |
    `abstract void` | NodeDiff.`undo​(GraphChangeHandler tracker)` |
    `void` | NodeIdChangeOperation.`undo​(GraphChangeHandler tracker)` |
    `void` | NodePropertyChangeOperation.`undo​(GraphChangeHandler tracker)` |