Package org.apache.cayenne.access

# Class ClientServerChannel

java.lang.Object
org.apache.cayenne.access.ClientServerChannel

All Implemented Interfaces:
  `DataChannel`

public class ClientServerChannel extends Object implements DataChannel
A DataChannel that provides a server-side end of the bridge between client and server objects in a Remote Object Persistence stack.

Since:
  1.2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected DataContext`
  `serverContext`

  ### 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

  Constructors
  Constructor
  Description
  `ClientServerChannel(DataContext serverContext)`
  Creates a ClientServerChannel that wraps a specified DataContext.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `EntityResolver`
  `getEntityResolver()`
  Returns an EntityResolver instance that contains runtime mapping information.
  `EventManager`
  `getEventManager()`
  Returns an EventManager associated with this channel.
  `DataChannel`
  `getParentChannel()`
  `QueryResponse`
  `onQuery(ObjectContext context, 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 synchronization.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### serverContext

    protected DataContext serverContext

- ## Constructor Details

  - ### ClientServerChannel

    public ClientServerChannel(DataContext serverContext)
    Creates a ClientServerChannel that wraps a specified DataContext.
    Since:
      3.0

- ## Method Details

  - ### onQuery

    public QueryResponse onQuery(ObjectContext context, Query query)
    Description copied from interface: `DataChannel`
    Executes a query, using provided context to register persistent objects if query returns any objects.
    Specified by:
      `onQuery` in interface `DataChannel`
    Parameters:
      `context` - an ObjectContext that originated the query, used to register result objects.
    Returns:
      a generic response object that encapsulates result of the execution.

  - ### getParentChannel

    public DataChannel getParentChannel()
    Since:
      3.1

  - ### getEntityResolver

    public EntityResolver getEntityResolver()
    Description copied from interface: `DataChannel`
    Returns an EntityResolver instance that contains runtime mapping information.
    Specified by:
      `getEntityResolver` in interface `DataChannel`

  - ### getEventManager

    public EventManager getEventManager()
    Description copied from interface: `DataChannel`
    Returns an EventManager associated with this channel. Channel may return null if EventManager is not available for any reason.
    Specified by:
      `getEventManager` in interface `DataChannel`

  - ### onSync

    public GraphDiff onSync(ObjectContext originatingContext, GraphDiff changes, int syncType)
    Description copied from interface: `DataChannel`
    Processes synchronization request from a child ObjectContext, returning a GraphDiff that describes changes to objects made on the receiving end as a result of synchronization.
    Specified by:
      `onSync` in interface `DataChannel`
    Parameters:
      `originatingContext` - an ObjectContext that initiated the sync. Can be null.
      `changes` - diff from the context that initiated the sync.
      `syncType` - One of `DataChannel.FLUSH_NOCASCADE_SYNC`, `DataChannel.FLUSH_CASCADE_SYNC`, `DataChannel.ROLLBACK_CASCADE_SYNC`.