org.apache.cayenne
Interface DataChannel

All Known Implementing Classes:
BaseContext, CayenneContext, ClientChannel, ClientServerChannel, DataContext, DataDomain

public interface DataChannel

DataChannel is an abstraction used by ObjectContexts to obtain mapping metadata and access a persistent store. There is rarely a need to use it directly.

Since:
1.2

Field Summary
static int FLUSH_CASCADE_SYNC
          A synchronization type that results in changes from an ObjectContext to be recorded in the parent DataChannel.
static int FLUSH_NOCASCADE_SYNC
          A synchronization type that results in changes from an ObjectContext to be recorded in the parent DataChannel.
static EventSubject GRAPH_CHANGED_SUBJECT
           
static EventSubject GRAPH_FLUSHED_SUBJECT
           
static EventSubject GRAPH_ROLLEDBACK_SUBJECT
           
static int ROLLBACK_CASCADE_SYNC
          A synchronization type that results in cascading rollback of changes through the DataChannel stack.
 
Method Summary
 EntityResolver getEntityResolver()
          Returns an EntityResolver instance that contains runtime mapping information.
 EventManager getEventManager()
          Returns an EventManager associated with this channel.
 QueryResponse onQuery(ObjectContext originatingContext, Query query)
          Executes a query, using provided context to register persistent objects if query returns any objects.
 GraphDiff onSync(ObjectContext originatingContext, GraphDiff changes, int syncType)
          Processes synchronization request from a child ObjectContext, returning a GraphDiff that describes changes to objects made on the receiving end as a result of syncronization.
 

Field Detail

FLUSH_NOCASCADE_SYNC

static final int FLUSH_NOCASCADE_SYNC
A synchronization type that results in changes from an ObjectContext to be recorded in the parent DataChannel. If the parent is itself an ObjectContext, changes are NOT propagated any further.

See Also:
Constant Field Values

FLUSH_CASCADE_SYNC

static final int FLUSH_CASCADE_SYNC
A synchronization type that results in changes from an ObjectContext to be recorded in the parent DataChannel. If the parent is itself an ObjectContext, it is expected to send its own sync message to its parent DataChannel to cascade sycnhronization all the way down the stack.

See Also:
Constant Field Values

ROLLBACK_CASCADE_SYNC

static final int ROLLBACK_CASCADE_SYNC
A synchronization type that results in cascading rollback of changes through the DataChannel stack.

See Also:
Constant Field Values

GRAPH_CHANGED_SUBJECT

static final EventSubject GRAPH_CHANGED_SUBJECT

GRAPH_FLUSHED_SUBJECT

static final EventSubject GRAPH_FLUSHED_SUBJECT

GRAPH_ROLLEDBACK_SUBJECT

static final EventSubject GRAPH_ROLLEDBACK_SUBJECT
Method Detail

getEventManager

EventManager getEventManager()
Returns an EventManager associated with this channel. Channel may return null if EventManager is not available for any reason.


getEntityResolver

EntityResolver getEntityResolver()
Returns an EntityResolver instance that contains runtime mapping information.


onQuery

QueryResponse onQuery(ObjectContext originatingContext,
                      Query query)
Executes a query, using provided context to register persistent objects if query returns any objects.

Parameters:
originatingContext - an ObjectContext that originated the query, used to register result objects.
Returns:
a generic response object that encapsulates result of the execution.

onSync

GraphDiff onSync(ObjectContext originatingContext,
                 GraphDiff changes,
                 int syncType)
Processes synchronization request from a child ObjectContext, returning a GraphDiff that describes changes to objects made on the receiving end as a result of syncronization.

Parameters:
originatingContext - an ObjectContext that initiated the sync. Can be null.
changes - diff from the context that initiated the sync.
syncType - One of FLUSH_NOCASCADE_SYNC, FLUSH_CASCADE_SYNC, ROLLBACK_CASCADE_SYNC.


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