Package org.apache.cayenne.graph
Class GraphMap
java.lang.Object
org.apache.cayenne.graph.GraphMap
- All Implemented Interfaces:
GraphChangeHandler
,GraphManager
A base implementation of GraphManager that stores graph nodes keyed by their ids.
Tracking Object Changes
Registered objects may choose to notify GraphMap of their changes by using callback methods defined in GraphChangeHandler interface. GraphMap itself implements as noops, leaving it up to subclasses to handle object updates.
- Since:
- 1.2
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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.Returns a graph node given an id.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.Returns an immutable collection of registered nodes.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 nodeId) "Unregisters" a graph node, forgetting any information associated with nodeId.
-
Field Details
-
nodes
-
-
Constructor Details
-
GraphMap
public GraphMap()Creates a new GraphMap.
-
-
Method Details
-
registeredNodes
Returns an immutable collection of registered nodes.- Specified by:
registeredNodes
in interfaceGraphManager
-
getNode
Description copied from interface:GraphManager
Returns a graph node given an id.- Specified by:
getNode
in interfaceGraphManager
-
registerNode
Description copied from interface:GraphManager
"Registers" a graph node, usually storing the node in some internal map using its id as a key.- Specified by:
registerNode
in interfaceGraphManager
-
unregisterNode
Description copied from interface:GraphManager
"Unregisters" a graph node, forgetting any information associated with nodeId.- Specified by:
unregisterNode
in interfaceGraphManager
-
arcCreated
Description copied from interface:GraphChangeHandler
Notifies implementing object that a new arc was created between two nodes.- Specified by:
arcCreated
in interfaceGraphChangeHandler
-
arcDeleted
Description copied from interface:GraphChangeHandler
Notifies implementing object that an arc between two nodes was deleted.- Specified by:
arcDeleted
in interfaceGraphChangeHandler
-
nodeCreated
Description copied from interface:GraphChangeHandler
Notifies implementing object that a new node was created in the graph.- Specified by:
nodeCreated
in interfaceGraphChangeHandler
-
nodeRemoved
Description copied from interface:GraphChangeHandler
Notifies implementing object that a node was removed from the graph.- Specified by:
nodeRemoved
in interfaceGraphChangeHandler
-
nodeIdChanged
Description copied from interface:GraphChangeHandler
Notifies implementing object that a node was assigned a new id.- Specified by:
nodeIdChanged
in interfaceGraphChangeHandler
-
nodePropertyChanged
Description copied from interface:GraphChangeHandler
Notifies implementing object that a node's property was modified.- Specified by:
nodePropertyChanged
in interfaceGraphChangeHandler
-