# Hierarchy For Package org.apache.cayenne

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - org.apache.cayenne.DataRow
  - org.apache.cayenne.BaseContext (implements org.apache.cayenne.ObjectContext)
  - org.apache.cayenne.Cayenne
  - org.apache.cayenne.DataChannelSyncCallbackAction (implements org.apache.cayenne.graph.GraphChangeHandler)
  - org.apache.cayenne.Fault (implements java.io.Serializable)
  - org.apache.cayenne.util.GenericQueryResult<T> (implements org.apache.cayenne.QueryResult<T>)
    - org.apache.cayenne.ProcedureResult<T>
  - org.apache.cayenne.PersistenceState
  - org.apache.cayenne.PersistentObject (implements org.apache.cayenne.Persistent)
    - org.apache.cayenne.BaseDataObject (implements org.apache.cayenne.DataObject, org.apache.cayenne.Validating)
      - org.apache.cayenne.CayenneDataObject
      - org.apache.cayenne.HybridDataObject
  - org.apache.cayenne.ResultBatchIterator<T> (implements java.lang.AutoCloseable, java.lang.Iterable<T>, java.util.Iterator<E>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.apache.cayenne.CayenneException
      - java.lang.RuntimeException
        - org.apache.cayenne.CayenneRuntimeException
          - org.apache.cayenne.ConfigurationException
          - org.apache.cayenne.DeleteDenyException
          - org.apache.cayenne.FaultFailureException

## Interface Hierarchy

- java.lang.AutoCloseable
  - org.apache.cayenne.ResultIterator<T> (also extends java.lang.Iterable<T>)
- org.apache.cayenne.DataChannel
  - org.apache.cayenne.ObjectContext (also extends java.io.Serializable)
- org.apache.cayenne.DataChannelFilterChain
- org.apache.cayenne.DataChannelListener
- org.apache.cayenne.DataChannelQueryFilter
  - org.apache.cayenne.DataChannelFilter (also extends org.apache.cayenne.DataChannelSyncFilter)
- org.apache.cayenne.DataChannelQueryFilterChain
- org.apache.cayenne.DataChannelSyncFilter
  - org.apache.cayenne.DataChannelFilter (also extends org.apache.cayenne.DataChannelQueryFilter)
- org.apache.cayenne.DataChannelSyncFilterChain
- org.apache.cayenne.EmbeddableObject
- org.apache.cayenne.ExtendedEnumeration
- java.lang.Iterable<T>
  - org.apache.cayenne.QueryResult<T>
  - org.apache.cayenne.ResultIterator<T> (also extends java.lang.AutoCloseable)
- org.apache.cayenne.LifecycleListener
- org.apache.cayenne.QueryResponse
- org.apache.cayenne.QueryResultItem<T>
- org.apache.cayenne.ResultIteratorCallback<T>
- java.io.Serializable
  - org.apache.cayenne.ObjectContext (also extends org.apache.cayenne.DataChannel)
  - org.apache.cayenne.ObjectId
  - org.apache.cayenne.Persistent
    - org.apache.cayenne.DataObject
  - org.apache.cayenne.ValueHolder<E>
- org.apache.cayenne.Validating