|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.BaseContext
org.apache.cayenne.CayenneContext
public class CayenneContext
A default generic implementation of ObjectContext suitable for accessing Cayenne from
either an ORM or a client tiers. Communicates with Cayenne via a
DataChannel
.
Field Summary | |
---|---|
protected EntityResolver |
entityResolver
|
Fields inherited from class org.apache.cayenne.BaseContext |
---|
channel, queryCache, threadObjectContext, userProperties |
Fields inherited from interface org.apache.cayenne.DataChannel |
---|
FLUSH_CASCADE_SYNC, FLUSH_NOCASCADE_SYNC, GRAPH_CHANGED_SUBJECT, GRAPH_FLUSHED_SUBJECT, GRAPH_ROLLEDBACK_SUBJECT, ROLLBACK_CASCADE_SYNC |
Constructor Summary | |
---|---|
CayenneContext()
Creates a new CayenneContext with no channel and disabled graph events. |
|
CayenneContext(DataChannel channel)
Creates a new CayenneContext, initializing it with a channel instance. |
|
CayenneContext(DataChannel channel,
boolean changeEventsEnabled,
boolean syncEventsEnabled)
Creates a new CayenneContext, initializing it with a channel. |
Method Summary | ||
---|---|---|
void |
commitChanges()
Commits changes to uncommitted objects. |
|
void |
commitChangesToParent()
Flushes all changes to objects in this context to the parent DataChannel. |
|
ObjectContext |
createChildContext()
Creates and returns a new child ObjectContext. |
|
Collection<?> |
deletedObjects()
Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.DELETED |
|
void |
deleteObject(Object object)
Deletes an object locally, scheduling it for future deletion from the external data store. |
|
void |
deleteObjects(Collection<?> objects)
Deletes a collection of objects by repeatedly calling deleteObject safely (avoiding a concurrent modification exception). |
|
EntityResolver |
getEntityResolver()
Returns an EntityResolver that provides mapping information needed for CayenneContext operation. |
|
GraphManager |
getGraphManager()
Returns GraphManager that manages object graph associated with this context. |
|
boolean |
hasChanges()
Returns true if there are any modified, deleted or new objects
registered with this CayenneContext, false otherwise. |
|
boolean |
isChangeEventsEnabled()
Returns true if this context posts individual object modification events. |
|
boolean |
isLifecycleEventsEnabled()
Returns true if this context posts lifecycle events. |
|
Persistent |
localObject(ObjectId id,
Object prototype)
Converts a list of Persistent objects registered in some other ObjectContext to a list of objects local to this ObjectContext. |
|
Collection<?> |
modifiedObjects()
Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.MODIFIED |
|
|
newObject(Class<T> persistentClass)
Creates and registers a new Persistent object instance. |
|
Collection<?> |
newObjects()
Returns a collection of objects that are registered with this ObjectContext and have a state PersistenceState.NEW |
|
protected GraphDiff |
onContextFlush(ObjectContext originatingContext,
GraphDiff changes,
boolean cascade)
|
|
QueryResponse |
onQuery(ObjectContext context,
Query query)
Executes a query, using provided context to register persistent objects if query returns any objects. |
|
QueryResponse |
performGenericQuery(Query query)
Executes any kind of query providing the result in a form of QueryResponse. |
|
List |
performQuery(Query query)
Runs a query, returning result as list. |
|
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. |
|
void |
setChannel(DataChannel channel)
Sets the context channel, setting up a listener for channel events. |
|
void |
setEntityResolver(EntityResolver entityResolver)
|
|
Collection<?> |
uncommittedObjects()
Returns a collection of MODIFIED, DELETED or NEW objects. |
Methods inherited from class org.apache.cayenne.BaseContext |
---|
bindThreadObjectContext, fireDataChannelChanged, fireDataChannelCommitted, fireDataChannelRolledback, getChannel, getEventManager, getQueryCache, getThreadObjectContext, getUserProperties, getUserProperty, injectInitialValue, invalidateObjects, onSync, prepareForAccess, prepareForAccess, setQueryCache, setUserProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected EntityResolver entityResolver
Constructor Detail |
---|
public CayenneContext()
public CayenneContext(DataChannel channel)
public CayenneContext(DataChannel channel, boolean changeEventsEnabled, boolean syncEventsEnabled)
graphEventsEnabled
is true, this context will broadcast GraphEvents
using ObjectContext.GRAPH_CHANGE_SUBJECT.
Method Detail |
---|
public void setChannel(DataChannel channel)
public boolean isChangeEventsEnabled()
ObjectContext.GRAPH_CHANGED_SUBJECT
.
public boolean isLifecycleEventsEnabled()
ObjectContext.GRAPH_COMMIT_STARTED_SUBJECT, ObjectContext.GRAPH_COMMITTED_SUBJECT,
ObjectContext.GRAPH_COMMIT_ABORTED_SUBJECT, ObjectContext.GRAPH_ROLLEDBACK_SUBJECT.
.
public EntityResolver getEntityResolver()
getEntityResolver
in interface DataChannel
getEntityResolver
in interface ObjectContext
getEntityResolver
in class BaseContext
public void setEntityResolver(EntityResolver entityResolver)
public GraphManager getGraphManager()
ObjectContext
getGraphManager
in interface ObjectContext
getGraphManager
in class BaseContext
public void commitChanges()
commitChanges
in interface ObjectContext
commitChanges
in class BaseContext
public void commitChangesToParent()
ObjectContext
ObjectContext.commitChanges()
, but no cascading flush occurs.
commitChangesToParent
in interface ObjectContext
commitChangesToParent
in class BaseContext
public void rollbackChanges()
ObjectContext
rollbackChanges
in interface ObjectContext
rollbackChanges
in class BaseContext
public void rollbackChangesLocally()
ObjectContext
ObjectContext.rollbackChanges()()
, but rollback is local to this context and no
cascading changes undoing occurs.
rollbackChangesLocally
in interface ObjectContext
rollbackChangesLocally
in class BaseContext
public void deleteObject(Object object)
deleteObject
in interface ObjectContext
deleteObject
in class BaseContext
public void deleteObjects(Collection<?> objects) throws DeleteDenyException
ObjectContext
DeleteDenyException
public <T> T newObject(Class<T> persistentClass)
newObject
in interface ObjectContext
newObject
in class BaseContext
public void registerNewObject(Object object)
ObjectContext
ObjectContext.newObject(Class)
is that a user creates an object herself, before
attaching it to the context, instead of relying on Cayenne to do that.
registerNewObject
in interface ObjectContext
registerNewObject
in class BaseContext
object
- new object that needs to be made persistent.public List performQuery(Query query)
performQuery
in interface ObjectContext
performQuery
in class BaseContext
public QueryResponse performGenericQuery(Query query)
ObjectContext
performGenericQuery
in interface ObjectContext
performGenericQuery
in class BaseContext
public QueryResponse onQuery(ObjectContext context, Query query)
DataChannel
context
- an ObjectContext that originated the query, used to
register result objects.
public Persistent localObject(ObjectId id, Object prototype)
Current limitation: all objects in the source list must be either in COMMITTED or in HOLLOW state.
localObject
in interface ObjectContext
localObject
in class BaseContext
public void propertyChanged(Persistent object, String property, Object oldValue, Object newValue)
ObjectContext
propertyChanged
in interface ObjectContext
propertyChanged
in class BaseContext
public Collection<?> uncommittedObjects()
ObjectContext
uncommittedObjects
in interface ObjectContext
uncommittedObjects
in class BaseContext
public Collection<?> deletedObjects()
ObjectContext
deletedObjects
in interface ObjectContext
deletedObjects
in class BaseContext
public Collection<?> modifiedObjects()
ObjectContext
modifiedObjects
in interface ObjectContext
modifiedObjects
in class BaseContext
public Collection<?> newObjects()
ObjectContext
newObjects
in interface ObjectContext
newObjects
in class BaseContext
public ObjectContext createChildContext()
protected GraphDiff onContextFlush(ObjectContext originatingContext, GraphDiff changes, boolean cascade)
onContextFlush
in class BaseContext
public boolean hasChanges()
true
if there are any modified, deleted or new objects
registered with this CayenneContext, false
otherwise.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |