Contains generic graph management tools used in Cayenne. Main focus of this API is not graph semantics, but rather working with a graph as a random access map of nodes and tracking graph changes.
Interface Summary Interface Description GraphChangeHandlerDefines callback API that can be used by object graph nodes to notify of their state changes. GraphDiffRepresents a change in an object graph. GraphManagerRepresents a generic "managed" graph with nodes mapped by their ids.
Class Summary Class Description ArcCreateOperation ArcDeleteOperation ChildDiffLoaderA GraphChangeHandler that loads child ObjectContext diffs into a parent ObjectContext. CompoundDiffA GraphDiff that is a list of other GraphDiffs. GraphDiffCompressorA utility class that removes redundant and mutually exclusive graph changes from the graph diff. GraphEventAn event indicating a change in the object graph. GraphMapA base implementation of GraphManager that stores graph nodes keyed by their ids. NodeCreateOperation NodeDeleteOperation NodeDiffAn abstract superclass of operations on individual nodes and arcs in a digraph. NodeIdChangeOperationA GraphDiff representing a change in node ID. NodePropertyChangeOperation