# Package org.apache.cayenne.access

Contains classes that make up Cayenne ORM stack. Three main classes from top to bottom are DataContext, DataDomain and DataNode.

- Interface Summary
  Interface | Description
  --- | ---
  DataContextDelegate | Defines API for a DataContext "delegate" - an object that is temporarily passed control by DataContext at some critical points in the normal flow of execution.
  DataRowStoreFactory | A factory for creating `DataRowStore`
  ObjectMapRetainStrategy | A strategy for retaining objects in `ObjectStore`.
  OperationHints | Defines API that allows QueryEngine to obtain information about query execution strategy.
  OperationObserver | Defines a set of callback methods that allow `QueryEngine` to pass back query results and notify caller about exceptions.
  QueryEngine | Defines methods used to run Cayenne queries.

- Class Summary
  Class | Description
  --- | ---
  AttributeFault |
  ClientServerChannel | A DataChannel that provides a server-side end of the bridge between client and server objects in a Remote Object Persistence stack.
  DataContext | The most common implementation of `ObjectContext`.
  DataDomain | DataDomain performs query routing functions in Cayenne.
  DataNode | An abstraction of a single physical data storage.
  DataRowStore | A fixed size cache of DataRows keyed by ObjectId.
  DbGenerator | Utility class that generates database schema based on Cayenne mapping.
  DefaultDataRowStoreFactory | A default implementation of `DataRowStoreFactory`
  DefaultObjectMapRetainStrategy | Default implementation of `ObjectMapRetainStrategy`.
  IncrementalFaultList<E> | A synchronized list that serves as a container of DataObjects.
  LegacyDataDomainFlushAction | Deprecated. this implementation is deprecated since 4.2, `DefaultDataDomainFlushAction` is used
  LegacyDataDomainFlushActionFactory | Deprecated.
  NoSyncObjectStore | An `ObjectStore` which doesn't receive notifications on parent's `DataRowStore` events.
  ObjectDiff | A dynamic GraphDiff that represents a delta between object simple properties at diff creation time and its current state.
  ObjectStore | ObjectStore stores objects using their ObjectId as a key.
  ObjectStoreGraphDiff | A GraphDiff facade for the ObjectStore changes.
  ToManyList<E> | A list that holds objects for to-many relationships.
  ToManyListFault |
  ToManyMapFault |
  ToManySet<E> |
  ToManySetFault |
  ToOneFault |

- Exception Summary
  Exception | Description
  --- | ---
  DomainStoppedException | An exception thrown on attempts to access a DataDomain after it was explicitly shut down by the user.
  OptimisticLockException | An exception thrown on optimistic lock failure.