|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.access.ObjectStore
public class ObjectStore
ObjectStore stores objects using their ObjectId as a key. It works as a dedicated object cache for a DataContext. Users rarely need to access ObjectStore directly, as DataContext serves as a facade, providing cover methods for most ObjectStore operations.
Field Summary | |
---|---|
protected java.util.Map<java.lang.Object,org.apache.cayenne.access.ObjectDiff> |
changes
|
protected DataContext |
context
The DataContext that owns this ObjectStore. |
protected DataRowStore |
dataRowCache
Stores a reference to the DataRowStore. |
protected boolean |
dataRowCacheSet
|
protected java.util.Map<java.lang.Object,Persistent> |
objectMap
|
Constructor Summary | |
---|---|
ObjectStore()
Deprecated. since 3.1 |
|
ObjectStore(DataRowStore dataRowCache)
Deprecated. since 3.1 |
|
ObjectStore(DataRowStore dataRowCache,
java.util.Map<java.lang.Object,Persistent> objectMap)
Creates an ObjectStore with DataRowStore and a map to use for storing
registered objects. |
Method Summary | |
---|---|
void |
arcCreated(java.lang.Object nodeId,
java.lang.Object targetNodeId,
java.lang.Object arcId)
Notifies implementing object that a new arc was created between two nodes. |
void |
arcDeleted(java.lang.Object nodeId,
java.lang.Object targetNodeId,
java.lang.Object arcId)
Notifies implementing object that an arc between two nodes was deleted. |
DataRow |
getCachedSnapshot(ObjectId oid)
Returns a snapshot for ObjectId from the underlying snapshot cache. |
DataContext |
getContext()
|
DataRowStore |
getDataRowCache()
Returns a DataRowStore associated with this ObjectStore. |
java.lang.Object |
getNode(java.lang.Object nodeId)
Returns a registered DataObject or null of no object exists for the ObjectId. |
java.util.Iterator |
getObjectIterator()
Returns an iterator over the registered objects. |
DataRow |
getSnapshot(ObjectId oid)
Returns a snapshot for ObjectId from the underlying snapshot cache. |
boolean |
hasChanges()
Returns true if there are any modified, deleted or new objects
registered with this ObjectStore, false otherwise. |
void |
nodeCreated(java.lang.Object nodeId)
Notifies implementing object that a new node was created in the graph. |
void |
nodeIdChanged(java.lang.Object nodeId,
java.lang.Object newId)
Does nothing. |
void |
nodePropertyChanged(java.lang.Object nodeId,
java.lang.String property,
java.lang.Object oldValue,
java.lang.Object newValue)
Records dirty object snapshot. |
void |
nodeRemoved(java.lang.Object nodeId)
Notifies implementing object that a node was removed from the graph. |
java.util.List<Persistent> |
objectsInState(int state)
Return a subset of registered objects that are in a certain persistence state. |
void |
objectsRolledBack()
Reverts changes to all stored uncomitted objects. |
void |
objectsUnregistered(java.util.Collection objects)
Evicts a collection of DataObjects from the ObjectStore, invalidates the underlying cache snapshots. |
java.util.Collection<java.lang.Object> |
registeredNodes()
Returns all registered DataObjects. |
int |
registeredObjectsCount()
Returns a number of objects currently registered with this ObjectStore. |
void |
registerNode(java.lang.Object nodeId,
java.lang.Object nodeObject)
"Registers" a graph node, usually storing the node in some internal map using its id as a key. |
void |
setContext(DataContext context)
|
void |
setDataRowCache(DataRowStore dataRowCache)
Sets parent DataRowStore. |
void |
snapshotsChanged(SnapshotEvent event)
SnapshotEventListener implementation that processes snapshot change event, updating DataObjects that have the changes. |
java.lang.Object |
unregisterNode(java.lang.Object nodeId)
"Unregisters" a graph node, forgetting any information associated with nodeId. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.Map<java.lang.Object,Persistent> objectMap
protected java.util.Map<java.lang.Object,org.apache.cayenne.access.ObjectDiff> changes
protected transient DataRowStore dataRowCache
Serialization note: It is up to the owner of this ObjectStore to initialize DataRowStore after deserialization of this object. ObjectStore will not know how to restore the DataRowStore by itself.
protected boolean dataRowCacheSet
protected DataContext context
Constructor Detail |
---|
@Deprecated public ObjectStore()
@Deprecated public ObjectStore(DataRowStore dataRowCache)
public ObjectStore(DataRowStore dataRowCache, java.util.Map<java.lang.Object,Persistent> objectMap)
DataRowStore
and a map to use for storing
registered objects. Passed map doesn't require any special synchronization
behavior, as ObjectStore is synchronized itself.
Method Detail |
---|
public int registeredObjectsCount()
public DataRowStore getDataRowCache()
public void setDataRowCache(DataRowStore dataRowCache)
public void objectsUnregistered(java.util.Collection objects)
public void objectsRolledBack()
public DataRow getCachedSnapshot(ObjectId oid)
public DataRow getSnapshot(ObjectId oid)
public java.util.Iterator getObjectIterator()
public boolean hasChanges()
true
if there are any modified, deleted or new objects
registered with this ObjectStore, false
otherwise. This method will
treat "phantom" modifications are real ones. I.e. if you "change" an object
property to an equivalent value, this method will still think such object is
modified. Phantom modifications are only detected and discarded during commit.
public java.util.List<Persistent> objectsInState(int state)
public void snapshotsChanged(SnapshotEvent event)
Implementation note: This method should not attempt to alter the underlying DataRowStore, since it is normally invoked *AFTER* the DataRowStore was modified as a result of some external interaction.
snapshotsChanged
in interface SnapshotEventListener
public DataContext getContext()
public void setContext(DataContext context)
public java.lang.Object getNode(java.lang.Object nodeId)
getNode
in interface GraphManager
public java.util.Collection<java.lang.Object> registeredNodes()
registeredNodes
in interface GraphManager
public void registerNode(java.lang.Object nodeId, java.lang.Object nodeObject)
GraphManager
registerNode
in interface GraphManager
public java.lang.Object unregisterNode(java.lang.Object nodeId)
GraphManager
unregisterNode
in interface GraphManager
public void nodeIdChanged(java.lang.Object nodeId, java.lang.Object newId)
nodeIdChanged
in interface GraphChangeHandler
public void nodeCreated(java.lang.Object nodeId)
GraphChangeHandler
nodeCreated
in interface GraphChangeHandler
public void nodeRemoved(java.lang.Object nodeId)
GraphChangeHandler
nodeRemoved
in interface GraphChangeHandler
public void nodePropertyChanged(java.lang.Object nodeId, java.lang.String property, java.lang.Object oldValue, java.lang.Object newValue)
nodePropertyChanged
in interface GraphChangeHandler
public void arcCreated(java.lang.Object nodeId, java.lang.Object targetNodeId, java.lang.Object arcId)
GraphChangeHandler
arcCreated
in interface GraphChangeHandler
public void arcDeleted(java.lang.Object nodeId, java.lang.Object targetNodeId, java.lang.Object arcId)
GraphChangeHandler
arcDeleted
in interface GraphChangeHandler
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |