`org.apache.cayenne.ObjectContext` is an interface that defines API for the application interaction with Cayenne. Two most notable implementors are DataContext, used in most Cayenne applications, and `CayenneContext` used on the remote client.

ObjectContext accesses the underlying persistence stack via a parent DataChannel. ObjectContexts that support multiple levels of nesting (such as DataContext) themselves implement a `org.apache.cayenne.DataChannel` interface.