org.apache.cayenne
Interface ObjectContext

All Superinterfaces:
Serializable
All Known Implementing Classes:
BaseContext, CayenneContext, DataContext, ObjectContextCallbackInterceptor, ObjectContextDecorator

public interface ObjectContext
extends Serializable

A Cayenne object facade to a persistent store. Instances of ObjectContext are used in the application code to access Cayenne persistence features.

Since:
1.2
Author:
Andrus Adamchik

Method Summary
 void commitChanges()
          Flushes all changes to objects in this context to the parent DataChannel, cascading flush operation all the way through the stack, ultimately saving data in the database.
 void commitChangesToParent()
          Flushes all changes to objects in this context to the parent DataChannel.
 Collection deletedObjects()
          Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.DELETED
 void deleteObject(Object object)
          Schedules a persistent object for deletion on next commit.
 DataChannel getChannel()
          Returns an DataChannel used by this context.
 EntityResolver getEntityResolver()
          Returns EntityResolver that stores all mapping information accessible by this ObjectContext.
 GraphManager getGraphManager()
          Returns GraphManager that manages object graph associated with this context.
 Persistent localObject(ObjectId id, Object prototype)
          Returns an object local to this ObjectContext and matching the ObjectId.
 Collection modifiedObjects()
          Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.MODIFIED
 Persistent newObject(Class persistentClass)
          Creates a new persistent object scheduled to be inserted to the database on next commit.
 Collection newObjects()
          Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.NEW
 QueryResponse performGenericQuery(Query query)
          Executes any kind of query providing the result in a form of QueryResponse.
 List performQuery(Query query)
          Executes a selecting query, returning a list of persistent objects or data rows.
 void prepareForAccess(Persistent object, String property)
          Deprecated. since 3.0 use prepareForAccess(Persistent, String, boolean).
 void prepareForAccess(Persistent object, String property, boolean lazyFaulting)
          A callback method that child Persistent objects are expected to call before accessing property values.
 void propertyChanged(Persistent object, String property, Object oldValue, Object newValue)
          A callback method that child Persistent objects are expected to call from inside the setter after modifying a value of a persistent property, including "simple" and "arc" properties.
 void registerNewObject(Object object)
          Registers a transient object with the context.
 void rollbackChanges()
          Resets all uncommitted changes made to the objects in this ObjectContext, cascading rollback operation all the way through the stack.
 void rollbackChangesLocally()
          Resets all uncommitted changes made to the objects in this ObjectContext.
 Collection uncommittedObjects()
          Returns a collection of MODIFIED, DELETED or NEW objects.
 

Method Detail

getEntityResolver

EntityResolver getEntityResolver()
Returns EntityResolver that stores all mapping information accessible by this ObjectContext.


newObjects

Collection newObjects()
Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.NEW


deletedObjects

Collection deletedObjects()
Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.DELETED


modifiedObjects

Collection modifiedObjects()
Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.MODIFIED


uncommittedObjects

Collection uncommittedObjects()
Returns a collection of MODIFIED, DELETED or NEW objects.


localObject

Persistent localObject(ObjectId id,
                       Object prototype)
Returns an object local to this ObjectContext and matching the ObjectId. If prototype is not null, local object is refreshed with the prototype values.

This method can do both "mapping" (i.e. finding an object with the same id in this context) and "synchronization" (i.e. updating the state of the found object with the state of the prototype object).


newObject

Persistent newObject(Class persistentClass)
Creates a new persistent object scheduled to be inserted to the database on next commit.


registerNewObject

void registerNewObject(Object object)
Registers a transient object with the context. The difference with newObject(Class) is that a user creates an object herself, before attaching it to the context, instead of relying on Cayenne to do that.

Parameters:
object - new object that needs to be made persistent.
Since:
3.0

deleteObject

void deleteObject(Object object)
                  throws DeleteDenyException
Schedules a persistent object for deletion on next commit.

Throws:
DeleteDenyException - if a DeleteRule.DENY delete rule is applicable for object deletion.

prepareForAccess

void prepareForAccess(Persistent object,
                      String property,
                      boolean lazyFaulting)
A callback method that child Persistent objects are expected to call before accessing property values. This callback allows ObjectContext to "inflate" unresolved objects on demand and also resolve properties that rely on lazy faulting.

Since:
3.0

prepareForAccess

void prepareForAccess(Persistent object,
                      String property)
Deprecated. since 3.0 use prepareForAccess(Persistent, String, boolean).


propertyChanged

void propertyChanged(Persistent object,
                     String property,
                     Object oldValue,
                     Object newValue)
A callback method that child Persistent objects are expected to call from inside the setter after modifying a value of a persistent property, including "simple" and "arc" properties.


commitChanges

void commitChanges()
Flushes all changes to objects in this context to the parent DataChannel, cascading flush operation all the way through the stack, ultimately saving data in the database.


commitChangesToParent

void commitChangesToParent()
Flushes all changes to objects in this context to the parent DataChannel. Same as commitChanges(), but no cascading flush occurs.


rollbackChanges

void rollbackChanges()
Resets all uncommitted changes made to the objects in this ObjectContext, cascading rollback operation all the way through the stack.


rollbackChangesLocally

void rollbackChangesLocally()
Resets all uncommitted changes made to the objects in this ObjectContext. Same as rollbackChanges()(), but rollback is local to this context and no cascading changes undoing occurs.


performQuery

List performQuery(Query query)
Executes a selecting query, returning a list of persistent objects or data rows.


performGenericQuery

QueryResponse performGenericQuery(Query query)
Executes any kind of query providing the result in a form of QueryResponse.


getGraphManager

GraphManager getGraphManager()
Returns GraphManager that manages object graph associated with this context.


getChannel

DataChannel getChannel()
Returns an DataChannel used by this context.



Copyright © 2001-2007 Apache Cayenne. All Rights Reserved.