# Hierarchy For All Packages

Package Hierarchies:

- org.apache.cayenne,
- org.apache.cayenne.access,
- org.apache.cayenne.access.dbsync,
- org.apache.cayenne.access.event,
- org.apache.cayenne.access.flush,
- org.apache.cayenne.access.flush.operation,
- org.apache.cayenne.access.jdbc,
- org.apache.cayenne.access.jdbc.reader,
- org.apache.cayenne.access.sqlbuilder,
- org.apache.cayenne.access.sqlbuilder.sqltree,
- org.apache.cayenne.access.translator,
- org.apache.cayenne.access.translator.batch,
- org.apache.cayenne.access.translator.ejbql,
- org.apache.cayenne.access.translator.procedure,
- org.apache.cayenne.access.translator.select,
- org.apache.cayenne.access.translator.sqltemplate,
- org.apache.cayenne.access.translator.sqltemplate.directive,
- org.apache.cayenne.access.translator.sqltemplate.parser,
- org.apache.cayenne.access.types,
- org.apache.cayenne.annotation,
- org.apache.cayenne.ashwood,
- org.apache.cayenne.ashwood.graph,
- org.apache.cayenne.cache,
- org.apache.cayenne.commitlog,
- org.apache.cayenne.commitlog.meta,
- org.apache.cayenne.commitlog.model,
- org.apache.cayenne.configuration,
- org.apache.cayenne.configuration.runtime,
- org.apache.cayenne.configuration.server,
- org.apache.cayenne.configuration.xml,
- org.apache.cayenne.datasource,
- org.apache.cayenne.dba,
- org.apache.cayenne.dba.db2,
- org.apache.cayenne.dba.derby,
- org.apache.cayenne.dba.derby.sqltree,
- org.apache.cayenne.dba.firebird,
- org.apache.cayenne.dba.firebird.sqltree,
- org.apache.cayenne.dba.frontbase,
- org.apache.cayenne.dba.h2,
- org.apache.cayenne.dba.hsqldb,
- org.apache.cayenne.dba.ingres,
- org.apache.cayenne.dba.mariadb,
- org.apache.cayenne.dba.mysql,
- org.apache.cayenne.dba.mysql.sqltree,
- org.apache.cayenne.dba.oracle,
- org.apache.cayenne.dba.postgres,
- org.apache.cayenne.dba.postgres.sqltree,
- org.apache.cayenne.dba.sqlite,
- org.apache.cayenne.dba.sqlserver,
- org.apache.cayenne.dba.sqlserver.sqltree,
- org.apache.cayenne.dba.sybase,
- org.apache.cayenne.di,
- org.apache.cayenne.di.spi,
- org.apache.cayenne.ejbql,
- org.apache.cayenne.ejbql.parser,
- org.apache.cayenne.event,
- org.apache.cayenne.exp,
- org.apache.cayenne.exp.parser,
- org.apache.cayenne.exp.path,
- org.apache.cayenne.exp.property,
- org.apache.cayenne.graph,
- org.apache.cayenne.log,
- org.apache.cayenne.map,
- org.apache.cayenne.query,
- org.apache.cayenne.reflect,
- org.apache.cayenne.reflect.generic,
- org.apache.cayenne.reflect.valueholder,
- org.apache.cayenne.resource,
- org.apache.cayenne.runtime,
- org.apache.cayenne.tx,
- org.apache.cayenne.util,
- org.apache.cayenne.util.commons,
- org.apache.cayenne.util.concurrentlinkedhashmap,
- org.apache.cayenne.validation,
- org.apache.cayenne.value,
- org.apache.cayenne.value.json

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractList<E> (implements java.util.List<E>)
      - java.util.ArrayList<E> (implements java.lang.Cloneable, java.util.List<E>, java.util.RandomAccess, java.io.Serializable)
        - org.apache.cayenne.query.Orderings
      - org.apache.cayenne.util.IndexPropertyList (implements org.apache.cayenne.ValueHolder<E>)
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap<K,V> (implements java.util.concurrent.ConcurrentMap<K,V>, java.io.Serializable)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - org.apache.cayenne.DataRow
    - org.apache.cayenne.util.SoftValueMap<K,V> (implements java.io.Serializable)
    - org.apache.cayenne.util.WeakValueMap<K,V> (implements java.io.Serializable)
  - org.apache.cayenne.reflect.AdditionalDbEntityDescriptor
  - org.apache.cayenne.commitlog.meta.AnnotationCommitLogEntityFactory (implements org.apache.cayenne.commitlog.meta.CommitLogEntityFactory)
  - org.apache.cayenne.graph.ArcId (implements java.io.Serializable)
  - org.apache.cayenne.util.ArrayUtil
  - org.apache.cayenne.ashwood.AshwoodEntitySorter (implements org.apache.cayenne.map.EntitySorter)
    - org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter
  - org.apache.cayenne.ashwood.AshwoodEntitySorterFactory (implements org.apache.cayenne.map.EntitySorterFactory)
  - org.apache.cayenne.map.Attribute<E,A,R> (implements org.apache.cayenne.util.CayenneMapEntry, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
    - org.apache.cayenne.map.DbAttribute (implements org.apache.cayenne.configuration.ConfigurationNode)
    - org.apache.cayenne.map.ObjAttribute (implements org.apache.cayenne.configuration.ConfigurationNode)
      - org.apache.cayenne.map.EmbeddedAttribute
  - org.apache.cayenne.dba.AutoAdapter (implements org.apache.cayenne.dba.DbAdapter)
  - org.apache.cayenne.access.translator.batch.BaseBatchTranslator<T> (implements org.apache.cayenne.access.translator.BatchTranslator<T>)
    - org.apache.cayenne.access.translator.batch.DeleteBatchTranslator
    - org.apache.cayenne.access.translator.batch.InsertBatchTranslator
    - org.apache.cayenne.access.translator.batch.UpdateBatchTranslator
  - org.apache.cayenne.access.sqlbuilder.BaseBuilder (implements org.apache.cayenne.access.sqlbuilder.NodeBuilder)
    - org.apache.cayenne.access.sqlbuilder.DeleteBuilder
    - org.apache.cayenne.access.sqlbuilder.InsertBuilder
    - org.apache.cayenne.access.sqlbuilder.SelectBuilder
    - org.apache.cayenne.access.sqlbuilder.UpdateBuilder
  - org.apache.cayenne.configuration.BaseConfigurationNodeVisitor<T> (implements org.apache.cayenne.configuration.ConfigurationNodeVisitor<T>)
  - org.apache.cayenne.access.flush.operation.BaseDbRowOp (implements org.apache.cayenne.access.flush.operation.DbRowOp)
    - org.apache.cayenne.access.flush.operation.DeleteDbRowOp (implements org.apache.cayenne.access.flush.operation.DbRowOpWithQualifier)
      - org.apache.cayenne.access.flush.operation.SoftDeleteDbRowOp (implements org.apache.cayenne.access.flush.operation.DbRowOpWithValues)
    - org.apache.cayenne.access.flush.operation.DeleteInsertDbRowOp
    - org.apache.cayenne.access.flush.operation.InsertDbRowOp (implements org.apache.cayenne.access.flush.operation.DbRowOpWithValues)
    - org.apache.cayenne.access.flush.operation.UpdateDbRowOp (implements org.apache.cayenne.access.flush.operation.DbRowOpWithQualifier, org.apache.cayenne.access.flush.operation.DbRowOpWithValues)
  - org.apache.cayenne.exp.property.BaseProperty<E> (implements org.apache.cayenne.exp.property.Property<E>)
    - org.apache.cayenne.exp.property.BaseIdProperty<E> (implements org.apache.cayenne.exp.property.IdProperty<E>)
    - org.apache.cayenne.exp.property.CollectionProperty<V,E> (implements org.apache.cayenne.exp.property.RelationshipProperty<E>)
      - org.apache.cayenne.exp.property.ListProperty<V>
      - org.apache.cayenne.exp.property.SetProperty<V>
    - org.apache.cayenne.exp.property.DateProperty<E> (implements org.apache.cayenne.exp.property.ComparableProperty<E>)
    - org.apache.cayenne.exp.property.EmbeddableProperty<E> (implements org.apache.cayenne.exp.property.PathProperty<E>)
    - org.apache.cayenne.exp.property.EntityProperty<E> (implements org.apache.cayenne.exp.property.RelationshipProperty<E>)
      - org.apache.cayenne.exp.property.SelfProperty<E>
    - org.apache.cayenne.exp.property.MapProperty<K,V> (implements org.apache.cayenne.exp.property.RelationshipProperty<E>)
    - org.apache.cayenne.exp.property.NumericProperty<E> (implements org.apache.cayenne.exp.property.ComparableProperty<E>)
      - org.apache.cayenne.exp.property.NumericIdProperty<E> (implements org.apache.cayenne.exp.property.IdProperty<E>)
    - org.apache.cayenne.exp.property.StringProperty<E> (implements org.apache.cayenne.exp.property.ComparableProperty<E>)
  - org.apache.cayenne.reflect.BaseProperty (implements org.apache.cayenne.reflect.PropertyDescriptor)
    - org.apache.cayenne.reflect.BaseArcProperty (implements org.apache.cayenne.reflect.ArcProperty)
      - org.apache.cayenne.reflect.BaseToManyProperty (implements org.apache.cayenne.reflect.ToManyProperty)
      - org.apache.cayenne.reflect.BaseToOneProperty (implements org.apache.cayenne.reflect.ToOneProperty)
    - org.apache.cayenne.reflect.SimpleAttributeProperty (implements org.apache.cayenne.reflect.AttributeProperty)
  - org.apache.cayenne.access.dbsync.BaseSchemaUpdateStrategy (implements org.apache.cayenne.access.dbsync.SchemaUpdateStrategy)
    - org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy
    - org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy
      - org.apache.cayenne.access.dbsync.ThrowOnPartialOrCreateSchemaStrategy
  - org.apache.cayenne.access.jdbc.BaseSQLAction (implements org.apache.cayenne.query.SQLAction)
    - org.apache.cayenne.access.jdbc.BatchAction
      - org.apache.cayenne.dba.postgres.PostgresBatchAction
      - org.apache.cayenne.dba.sqlserver.SQLServerBatchAction
    - org.apache.cayenne.access.jdbc.EJBQLAction
    - org.apache.cayenne.access.jdbc.ProcedureAction
      - org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction
    - org.apache.cayenne.access.jdbc.SelectAction
      - org.apache.cayenne.dba.db2.DB2SelectAction
      - org.apache.cayenne.dba.derby.DerbySelectAction
      - org.apache.cayenne.dba.firebird.FirebirdSelectAction
      - org.apache.cayenne.dba.h2.H2SelectAction
      - org.apache.cayenne.dba.ingres.IngresSelectAction
      - org.apache.cayenne.dba.sqlite.SQLiteSelectAction
      - org.apache.cayenne.dba.sqlserver.SQLServerSelectAction
  - org.apache.cayenne.tx.BaseTransaction (implements org.apache.cayenne.tx.Transaction)
    - org.apache.cayenne.tx.CayenneTransaction
    - org.apache.cayenne.tx.ExternalTransaction
  - org.apache.cayenne.query.BatchQuery (implements org.apache.cayenne.query.Query)
    - org.apache.cayenne.query.DeleteBatchQuery
    - org.apache.cayenne.query.InsertBatchQuery
    - org.apache.cayenne.query.UpdateBatchQuery
  - org.apache.cayenne.query.BatchQueryRow
  - org.apache.cayenne.reflect.BeanAccessor (implements org.apache.cayenne.reflect.Accessor)
  - org.apache.cayenne.access.types.BigDecimalType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.types.BigDecimalValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.access.types.BigIntegerValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.access.translator.sqltemplate.directive.Bind (implements org.apache.cayenne.access.translator.sqltemplate.directive.Directive)
    - org.apache.cayenne.access.translator.sqltemplate.directive.BindEqual
    - org.apache.cayenne.access.translator.sqltemplate.directive.BindNotEqual
  - org.apache.cayenne.access.translator.sqltemplate.directive.BindObjectEqual (implements org.apache.cayenne.access.translator.sqltemplate.directive.Directive)
    - org.apache.cayenne.access.translator.sqltemplate.directive.BindObjectNotEqual
  - org.apache.cayenne.access.types.BooleanType (implements org.apache.cayenne.access.types.ExtendedType<T>)
    - org.apache.cayenne.dba.ingres.IngresBooleanType
  - org.apache.cayenne.access.types.ByteArrayType (implements org.apache.cayenne.access.types.ExtendedType<T>)
    - org.apache.cayenne.dba.oracle.OracleByteArrayType
  - org.apache.cayenne.access.types.ByteType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.query.CacheableQuery (implements org.apache.cayenne.query.Query)
    - org.apache.cayenne.query.AbstractQuery
      - org.apache.cayenne.query.FluentSelect<T,S> (implements org.apache.cayenne.query.Select<T>)
        - org.apache.cayenne.query.ColumnSelect<T>
        - org.apache.cayenne.query.ObjectSelect<T> (implements org.apache.cayenne.query.ParameterizedQuery)
          - org.apache.cayenne.query.PrefetchSelectQuery<T>
      - org.apache.cayenne.query.ProcedureQuery (implements org.apache.cayenne.query.ParameterizedQuery)
      - org.apache.cayenne.query.SQLTemplate (implements org.apache.cayenne.query.ParameterizedQuery)
    - org.apache.cayenne.query.EJBQLQuery
  - org.apache.cayenne.access.types.CalendarType<T> (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.map.CallbackDescriptor (implements java.io.Serializable)
  - org.apache.cayenne.map.CallbackMap (implements java.io.Serializable)
  - org.apache.cayenne.Cayenne
  - org.apache.cayenne.datasource.CayenneDataSource
  - org.apache.cayenne.datasource.CayenneDataSource.Builder
  - org.apache.cayenne.exp.path.CayennePathSegment (implements java.lang.CharSequence, java.io.Serializable)
  - org.apache.cayenne.runtime.CayenneRuntime
    - org.apache.cayenne.configuration.server.ServerRuntime
  - org.apache.cayenne.runtime.CayenneRuntimeBuilder
  - org.apache.cayenne.access.types.CharacterValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.access.types.CharType (implements org.apache.cayenne.access.types.ExtendedType<T>)
    - org.apache.cayenne.dba.h2.H2CharType
    - org.apache.cayenne.dba.oracle.OracleCharType
  - org.apache.cayenne.graph.ChildDiffLoader (implements org.apache.cayenne.graph.GraphChangeHandler)
  - org.apache.cayenne.reflect.ClassDescriptorMap
  - org.apache.cayenne.resource.ClassLoaderResourceLocator (implements org.apache.cayenne.resource.ResourceLocator)
  - org.apache.cayenne.access.sqlbuilder.ColumnNodeBuilder
  - org.apache.cayenne.commitlog.CommitLogFilter (implements org.apache.cayenne.DataChannelSyncFilter)
  - org.apache.cayenne.util.CompareToBuilder
  - org.apache.cayenne.util.commons.CompositeCollection<E> (implements java.util.Collection<E>)
  - org.apache.cayenne.graph.CompoundDiff (implements org.apache.cayenne.graph.GraphDiff)
  - org.apache.cayenne.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap.Builder<K,V>
  - org.apache.cayenne.access.flush.operation.ConditionalSoftDeleteDbRowOpFactory (implements org.apache.cayenne.access.flush.operation.DeleteDbRowOpFactory)
  - org.apache.cayenne.commitlog.Confidential
  - org.apache.cayenne.configuration.ConfigurationTree<T>
  - org.apache.cayenne.access.jdbc.ConnectionAwareResultIterator<T> (implements org.apache.cayenne.ResultIterator<T>)
  - org.apache.cayenne.di.spi.ConstructorInjectingDecoratorProvider<T>
  - org.apache.cayenne.access.translator.sqltemplate.Context
  - org.apache.cayenne.util.ConversionUtil
  - org.apache.cayenne.reflect.ConverterFactory
  - org.apache.cayenne.configuration.runtime.CoreModule (implements org.apache.cayenne.di.Module)
  - org.apache.cayenne.configuration.runtime.CoreModuleExtender
  - org.apache.cayenne.configuration.runtime.CoreModuleProvider (implements org.apache.cayenne.runtime.CayenneRuntimeModuleProvider)
  - org.apache.cayenne.configuration.DataChannelDescriptor (implements org.apache.cayenne.configuration.ConfigurationNode, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.DataChannelSyncCallbackAction (implements org.apache.cayenne.graph.GraphChangeHandler)
  - org.apache.cayenne.access.DataContext (implements org.apache.cayenne.ObjectContext)
    - org.apache.cayenne.BaseContext
  - org.apache.cayenne.configuration.runtime.DataContextFactory (implements org.apache.cayenne.configuration.ObjectContextFactory)
  - org.apache.cayenne.access.DataDomain (implements org.apache.cayenne.DataChannel)
  - org.apache.cayenne.configuration.runtime.DataDomainProvider (implements org.apache.cayenne.di.Provider<T>)
  - org.apache.cayenne.map.DataMap (implements java.lang.Comparable<T>, org.apache.cayenne.configuration.ConfigurationNode, org.apache.cayenne.map.MappingNamespace, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.access.DataNode
  - org.apache.cayenne.configuration.DataNodeDescriptor.Builder
  - org.apache.cayenne.access.DataRowStore (implements java.io.Serializable)
  - org.apache.cayenne.datasource.DataSourceBuilder
  - org.apache.cayenne.configuration.DataSourceDescriptor (implements java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.access.types.DateType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.dba.db2.DB2Sniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.access.translator.ejbql.DbAdapterDelegatedEJBQLTranslator (implements org.apache.cayenne.access.translator.EJBQLTranslator)
  - org.apache.cayenne.access.translator.procedure.DbAdapterDelegatedProcedureTranslator (implements org.apache.cayenne.access.translator.ProcedureTranslator)
  - org.apache.cayenne.access.translator.select.DbAdapterDelegatedSelectTranslator (implements org.apache.cayenne.access.translator.SelectTranslator)
  - org.apache.cayenne.access.DbGenerator
  - org.apache.cayenne.map.DbJoin (implements java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.map.DbKeyGenerator (implements org.apache.cayenne.util.CayenneMapEntry, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.access.flush.operation.DbRowOpMerger (implements java.util.function.BiFunction<T,U,R>, org.apache.cayenne.access.flush.operation.DbRowOpVisitor<T>)
  - org.apache.cayenne.util.DeepMergeOperation
  - org.apache.cayenne.di.spi.DefaultAdhocObjectFactory (implements org.apache.cayenne.di.AdhocObjectFactory)
  - org.apache.cayenne.di.spi.DefaultClassLoaderManager (implements org.apache.cayenne.di.ClassLoaderManager)
  - org.apache.cayenne.configuration.DefaultConfigurationNameMapper (implements org.apache.cayenne.configuration.ConfigurationNameMapper)
  - org.apache.cayenne.configuration.DefaultDataChannelDescriptorMerger (implements org.apache.cayenne.configuration.DataChannelDescriptorMerger)
  - org.apache.cayenne.configuration.xml.DefaultDataChannelMetaData (implements org.apache.cayenne.configuration.xml.DataChannelMetaData)
  - org.apache.cayenne.access.flush.DefaultDataDomainFlushAction (implements org.apache.cayenne.access.flush.DataDomainFlushAction)
  - org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.EmptyRowChecker (implements org.apache.cayenne.access.flush.operation.DbRowOpVisitor<T>)
  - org.apache.cayenne.access.flush.DefaultDataDomainFlushAction.PhantomDbRowOpCleaner (implements org.apache.cayenne.access.flush.operation.DbRowOpVisitor<T>)
  - org.apache.cayenne.access.flush.DefaultDataDomainFlushActionFactory (implements org.apache.cayenne.access.flush.DataDomainFlushActionFactory)
  - org.apache.cayenne.configuration.runtime.DefaultDataNodeFactory (implements org.apache.cayenne.configuration.runtime.DataNodeFactory)
  - org.apache.cayenne.access.DefaultDataRowStoreFactory (implements org.apache.cayenne.access.DataRowStoreFactory)
  - org.apache.cayenne.access.flush.operation.DefaultDbRowOpSorter (implements org.apache.cayenne.access.flush.operation.DbRowOpSorter)
  - org.apache.cayenne.access.flush.operation.DefaultDbRowOpSorter.DbRowComparator (implements java.util.Comparator<T>)
  - org.apache.cayenne.access.flush.operation.DefaultDbRowOpSorter.DbRowTypeVisitor (implements org.apache.cayenne.access.flush.operation.DbRowOpVisitor<T>)
  - org.apache.cayenne.query.DefaultEmbeddableResultSegment (implements org.apache.cayenne.query.EmbeddableResultSegment)
  - org.apache.cayenne.map.DefaultEntityResultSegment (implements org.apache.cayenne.query.EntityResultSegment)
  - org.apache.cayenne.event.DefaultEventManager (implements org.apache.cayenne.event.EventManager)
  - org.xml.sax.helpers.DefaultHandler (implements org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler)
    - org.apache.cayenne.configuration.xml.SAXNestedTagHandler
      - org.apache.cayenne.configuration.xml.NamespaceAwareNestedTagHandler
        - org.apache.cayenne.configuration.xml.DataMapHandler
        - org.apache.cayenne.configuration.xml.DbEntityHandler
        - org.apache.cayenne.configuration.xml.DbKeyGeneratorHandler
        - org.apache.cayenne.configuration.xml.DbRelationshipHandler
        - org.apache.cayenne.configuration.xml.EmbeddableAttributeHandler
        - org.apache.cayenne.configuration.xml.EmbeddableHandler
        - org.apache.cayenne.configuration.xml.ObjEntityHandler
        - org.apache.cayenne.configuration.xml.ObjRelationshipHandler
        - org.apache.cayenne.configuration.xml.ProcedureHandler
        - org.apache.cayenne.configuration.xml.QueryDescriptorHandler
        - org.apache.cayenne.configuration.xml.VersionAwareHandler
          - org.apache.cayenne.configuration.xml.DataChannelHandler
          - org.apache.cayenne.configuration.xml.RootDataMapHandler
  - org.apache.cayenne.configuration.xml.DefaultHandlerFactory (implements org.apache.cayenne.configuration.xml.HandlerFactory)
  - org.apache.cayenne.di.spi.DefaultInjector (implements org.apache.cayenne.di.Injector)
  - org.apache.cayenne.access.DefaultObjectMapRetainStrategy (implements org.apache.cayenne.access.ObjectMapRetainStrategy)
  - org.apache.cayenne.configuration.DefaultObjectStoreFactory (implements org.apache.cayenne.configuration.ObjectStoreFactory)
  - org.apache.cayenne.access.translator.procedure.DefaultProcedureTranslator (implements org.apache.cayenne.access.translator.ProcedureTranslator)
    - org.apache.cayenne.dba.hsqldb.HSQLDBProcedureTranslator
    - org.apache.cayenne.dba.mysql.MySQLProcedureTranslator
    - org.apache.cayenne.dba.postgres.PostgresProcedureTranslator
  - org.apache.cayenne.dba.DefaultQuotingStrategy (implements org.apache.cayenne.dba.QuotingStrategy)
  - org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory (implements org.apache.cayenne.access.jdbc.reader.RowReaderFactory)
  - org.apache.cayenne.configuration.DefaultRuntimeProperties (implements org.apache.cayenne.configuration.RuntimeProperties)
  - org.apache.cayenne.map.DefaultScalarResultSegment (implements org.apache.cayenne.query.ScalarResultSegment)
  - org.apache.cayenne.di.spi.DefaultScope (implements org.apache.cayenne.di.Scope)
  - org.apache.cayenne.di.spi.DefaultScopeProvider<T> (implements org.apache.cayenne.di.Provider<T>)
  - org.apache.cayenne.access.translator.select.DefaultSelectTranslator (implements org.apache.cayenne.access.translator.SelectTranslator)
  - org.apache.cayenne.access.sqlbuilder.DefaultSQLAppendable (implements org.apache.cayenne.access.sqlbuilder.SQLAppendable)
  - org.apache.cayenne.access.translator.sqltemplate.DefaultSQLTemplateTranslator (implements org.apache.cayenne.access.translator.SQLTemplateTranslator)
  - org.apache.cayenne.access.translator.sqltemplate.DefaultTemplateContextFactory (implements org.apache.cayenne.access.translator.sqltemplate.TemplateContextFactory)
  - org.apache.cayenne.tx.DefaultTransactionFactory (implements org.apache.cayenne.tx.TransactionFactory)
  - org.apache.cayenne.tx.DefaultTransactionManager (implements org.apache.cayenne.tx.TransactionManager)
  - org.apache.cayenne.tx.DefaultTransactionManager.BaseTransactionHandler
  - org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory (implements org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory)
  - org.apache.cayenne.access.types.DefaultValueObjectTypeRegistry (implements org.apache.cayenne.access.types.ValueObjectTypeRegistry)
  - org.apache.cayenne.map.DeleteRule
  - org.apache.cayenne.util.DeleteRuleUpdater (implements org.apache.cayenne.util.EntityMergeListener)
  - org.apache.cayenne.ashwood.graph.DepthFirstSearch<E> (implements java.util.Iterator<E>)
    - org.apache.cayenne.ashwood.graph.DepthFirstStampSearch<E>
  - org.apache.cayenne.dba.derby.DerbySniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.di.DIBootstrap
  - org.apache.cayenne.di.spi.DICollectionBuilder<K,E>
  - org.apache.cayenne.access.jdbc.DistinctResultIterator<T> (implements org.apache.cayenne.ResultIterator<T>)
  - org.apache.cayenne.access.types.DoubleType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.datasource.DriverDataSource (implements javax.sql.DataSource)
  - org.apache.cayenne.access.types.DurationType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.flush.EffectiveOpId
  - org.apache.cayenne.ejbql.parser.EJBQL (implements org.apache.cayenne.ejbql.parser.EJBQLConstants, org.apache.cayenne.ejbql.parser.EJBQLTreeConstants)
  - org.apache.cayenne.ejbql.parser.EJBQL.EJBQLDefaultParser (implements org.apache.cayenne.ejbql.EJBQLParser)
  - org.apache.cayenne.ejbql.EJBQLBaseVisitor (implements org.apache.cayenne.ejbql.EJBQLExpressionVisitor)
    - org.apache.cayenne.access.translator.ejbql.EJBQLConditionTranslator
      - org.apache.cayenne.dba.db2.DB2EJBQLConditionTranslator
      - org.apache.cayenne.dba.derby.DerbyEJBQLConditionTranslator
      - org.apache.cayenne.dba.firebird.FirebirdEJBQLConditionTranslator
      - org.apache.cayenne.dba.h2.H2EJBQLConditionTranslator
      - org.apache.cayenne.dba.hsqldb.HSQLEJBQLConditionTranslator
    - org.apache.cayenne.access.translator.ejbql.EJBQLDbPathTranslator
    - org.apache.cayenne.access.translator.ejbql.EJBQLDeleteTranslator
    - org.apache.cayenne.access.translator.ejbql.EJBQLFromTranslator
    - org.apache.cayenne.access.translator.ejbql.EJBQLPathTranslator
    - org.apache.cayenne.access.translator.ejbql.EJBQLSelectColumnsTranslator
    - org.apache.cayenne.access.translator.ejbql.EJBQLSelectTranslator
  - org.apache.cayenne.access.translator.ejbql.EJBQLJoinAppender
  - org.apache.cayenne.access.translator.ejbql.EJBQLMultiColumnOperand
  - org.apache.cayenne.ejbql.EJBQLParserFactory
  - org.apache.cayenne.ejbql.parser.EJBQLTokenManager (implements org.apache.cayenne.ejbql.parser.EJBQLConstants)
  - org.apache.cayenne.access.translator.ejbql.EJBQLTranslationContext
  - org.apache.cayenne.map.Embeddable (implements org.apache.cayenne.configuration.ConfigurationNode, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.map.EmbeddableAttribute (implements org.apache.cayenne.configuration.ConfigurationNode, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.reflect.EmbeddedFieldAccessor (implements org.apache.cayenne.reflect.Accessor)
  - org.apache.cayenne.map.EmbeddedResult
  - org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor (implements org.apache.cayenne.configuration.ConfigurationNodeVisitor<T>)
  - org.apache.cayenne.map.Entity<E,A,R> (implements org.apache.cayenne.util.CayenneMapEntry, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
    - org.apache.cayenne.map.DbEntity (implements org.apache.cayenne.configuration.ConfigurationNode)
    - org.apache.cayenne.map.ObjEntity (implements org.apache.cayenne.configuration.ConfigurationNode)
  - org.apache.cayenne.map.EntityInheritanceTree
  - org.apache.cayenne.map.EntityResolver (implements org.apache.cayenne.map.MappingNamespace, java.io.Serializable)
  - org.apache.cayenne.map.EntityResult
  - org.apache.cayenne.access.types.EnumType<T> (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.types.EnumTypeFactory (implements org.apache.cayenne.access.types.ExtendedTypeFactory)
  - org.apache.cayenne.util.EqualsBuilder
  - org.apache.cayenne.event.EventBridge (implements java.util.EventListener)
    - org.apache.cayenne.event.NoopEventBridge
  - org.apache.cayenne.event.EventManagerProvider (implements org.apache.cayenne.di.Provider<T>)
  - java.util.EventObject (implements java.io.Serializable)
    - org.apache.cayenne.event.CayenneEvent
      - org.apache.cayenne.graph.GraphEvent
      - org.apache.cayenne.access.event.SnapshotEvent
  - org.apache.cayenne.event.EventSubject (implements java.io.Serializable)
  - org.apache.cayenne.util.EventUtil
  - org.apache.cayenne.exp.Expression (implements java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
    - org.apache.cayenne.exp.parser.SimpleNode (implements org.apache.cayenne.exp.parser.Node)
      - org.apache.cayenne.exp.parser.AggregateConditionNode
        - org.apache.cayenne.exp.parser.ASTAnd (implements org.apache.cayenne.exp.ValueInjector)
        - org.apache.cayenne.exp.parser.ASTNot
        - org.apache.cayenne.exp.parser.ASTOr
        - org.apache.cayenne.exp.parser.ASTWhen
      - org.apache.cayenne.exp.parser.ASTAsterisk
      - org.apache.cayenne.exp.parser.ASTCaseWhen
      - org.apache.cayenne.exp.parser.ASTCustomOperator
      - org.apache.cayenne.exp.parser.ASTElse
      - org.apache.cayenne.exp.parser.ASTEnclosingObject
      - org.apache.cayenne.exp.parser.ASTFullObject
      - org.apache.cayenne.exp.parser.ASTList
      - org.apache.cayenne.exp.parser.ASTNegate
      - org.apache.cayenne.exp.parser.ASTPath
        - org.apache.cayenne.exp.parser.ASTDbPath
          - org.apache.cayenne.exp.parser.ASTDbIdPath
        - org.apache.cayenne.exp.parser.ASTObjPath
      - org.apache.cayenne.exp.parser.ASTScalar
        - org.apache.cayenne.exp.parser.ASTEnum
        - org.apache.cayenne.exp.parser.ASTNamedParameter
      - org.apache.cayenne.exp.parser.ASTSubquery
      - org.apache.cayenne.exp.parser.ASTThen
      - org.apache.cayenne.exp.parser.ConditionNode
        - org.apache.cayenne.exp.parser.ASTAll
        - org.apache.cayenne.exp.parser.ASTAny
        - org.apache.cayenne.exp.parser.ASTBetween
        - org.apache.cayenne.exp.parser.ASTEqual (implements org.apache.cayenne.exp.ValueInjector)
        - org.apache.cayenne.exp.parser.ASTExists
        - org.apache.cayenne.exp.parser.ASTFalse
        - org.apache.cayenne.exp.parser.ASTGreater
        - org.apache.cayenne.exp.parser.ASTGreaterOrEqual
        - org.apache.cayenne.exp.parser.ASTIn
        - org.apache.cayenne.exp.parser.ASTLess
        - org.apache.cayenne.exp.parser.ASTLessOrEqual
        - org.apache.cayenne.exp.parser.ASTNotBetween
        - org.apache.cayenne.exp.parser.ASTNotEqual
        - org.apache.cayenne.exp.parser.ASTNotExists
        - org.apache.cayenne.exp.parser.ASTNotIn
        - org.apache.cayenne.exp.parser.ASTTrue
        - org.apache.cayenne.exp.parser.PatternMatchNode
          - org.apache.cayenne.exp.parser.ASTLike
          - org.apache.cayenne.exp.parser.ASTLikeIgnoreCase
          - org.apache.cayenne.exp.parser.ASTNotLike
          - org.apache.cayenne.exp.parser.ASTNotLikeIgnoreCase
      - org.apache.cayenne.exp.parser.EvaluatedNode
        - org.apache.cayenne.exp.parser.ASTBitwiseNot
        - org.apache.cayenne.exp.parser.ASTFunctionCall
          - org.apache.cayenne.exp.parser.ASTAbs
          - org.apache.cayenne.exp.parser.ASTAggregateFunctionCall
            - org.apache.cayenne.exp.parser.ASTAvg
            - org.apache.cayenne.exp.parser.ASTCount
            - org.apache.cayenne.exp.parser.ASTCustomAggregate
            - org.apache.cayenne.exp.parser.ASTDistinct
            - org.apache.cayenne.exp.parser.ASTMax
            - org.apache.cayenne.exp.parser.ASTMin
            - org.apache.cayenne.exp.parser.ASTSum
          - org.apache.cayenne.exp.parser.ASTConcat
          - org.apache.cayenne.exp.parser.ASTCurrentDate
          - org.apache.cayenne.exp.parser.ASTCurrentTime
          - org.apache.cayenne.exp.parser.ASTCurrentTimestamp
          - org.apache.cayenne.exp.parser.ASTCustomFunction
          - org.apache.cayenne.exp.parser.ASTExtract
          - org.apache.cayenne.exp.parser.ASTLength
          - org.apache.cayenne.exp.parser.ASTLocate
          - org.apache.cayenne.exp.parser.ASTLower
          - org.apache.cayenne.exp.parser.ASTMod
          - org.apache.cayenne.exp.parser.ASTSqrt
          - org.apache.cayenne.exp.parser.ASTSubstring
          - org.apache.cayenne.exp.parser.ASTTrim
          - org.apache.cayenne.exp.parser.ASTUpper
        - org.apache.cayenne.exp.parser.EvaluatedBitwiseNode
          - org.apache.cayenne.exp.parser.ASTBitwiseAnd
          - org.apache.cayenne.exp.parser.ASTBitwiseLeftShift
          - org.apache.cayenne.exp.parser.ASTBitwiseOr
          - org.apache.cayenne.exp.parser.ASTBitwiseRightShift
          - org.apache.cayenne.exp.parser.ASTBitwiseXor
        - org.apache.cayenne.exp.parser.EvaluatedMathNode
          - org.apache.cayenne.exp.parser.ASTAdd
          - org.apache.cayenne.exp.parser.ASTDivide
          - org.apache.cayenne.exp.parser.ASTMultiply
          - org.apache.cayenne.exp.parser.ASTSubtract
  - org.apache.cayenne.exp.ExpressionFactory
  - org.apache.cayenne.access.sqlbuilder.ExpressionNodeBuilder
  - org.apache.cayenne.exp.ExpressionParameter (implements java.io.Serializable)
  - org.apache.cayenne.exp.parser.ExpressionParser (implements org.apache.cayenne.exp.parser.ExpressionParserConstants, org.apache.cayenne.exp.parser.ExpressionParserTreeConstants)
  - org.apache.cayenne.exp.parser.ExpressionParserTokenManager (implements org.apache.cayenne.exp.parser.ExpressionParserConstants)
  - org.apache.cayenne.access.types.ExtendedEnumType<T> (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.types.ExtendedTypeMap
  - org.apache.cayenne.Fault (implements java.io.Serializable)
    - org.apache.cayenne.access.AttributeFault
    - org.apache.cayenne.access.ToManyListFault
    - org.apache.cayenne.access.ToManyMapFault
    - org.apache.cayenne.access.ToManySetFault
    - org.apache.cayenne.access.ToOneFault
  - org.apache.cayenne.reflect.FieldAccessor (implements org.apache.cayenne.reflect.Accessor)
  - org.apache.cayenne.reflect.FieldEmbeddableDescriptor (implements org.apache.cayenne.reflect.EmbeddableDescriptor)
  - org.apache.cayenne.ashwood.graph.FilterArcIterator<E,V> (implements org.apache.cayenne.ashwood.graph.ArcIterator<E,V>)
  - org.apache.cayenne.ashwood.graph.FilterIteration<E,V> (implements org.apache.cayenne.ashwood.graph.DigraphIteration<E,V>)
  - org.apache.cayenne.dba.firebird.FirebirdSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.access.types.FloatType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.translator.select.FluentSelectWrapper (implements org.apache.cayenne.access.translator.select.TranslatableQueryWrapper)
  - org.apache.cayenne.dba.frontbase.FrontBaseSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.exp.FunctionExpressionFactory
  - org.apache.cayenne.access.sqlbuilder.FunctionNodeBuilder
  - org.apache.cayenne.util.GenericQueryResult<T> (implements org.apache.cayenne.QueryResult<T>)
    - org.apache.cayenne.ProcedureResult<T>
  - org.apache.cayenne.util.GenericResponse (implements org.apache.cayenne.QueryResponse, java.io.Serializable)
  - org.apache.cayenne.value.GeoJson
  - org.apache.cayenne.access.types.GeoJsonType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter (implements org.apache.cayenne.access.flush.operation.DbRowOpSorter)
  - org.apache.cayenne.graph.GraphDiffCompressor
  - org.apache.cayenne.graph.GraphMap (implements org.apache.cayenne.graph.GraphManager)
  - org.apache.cayenne.dba.h2.H2Sniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.access.flush.operation.HardDeleteDbRowOpFactory (implements org.apache.cayenne.access.flush.operation.DeleteDbRowOpFactory)
  - org.apache.cayenne.util.HashCodeBuilder
  - org.apache.cayenne.dba.hsqldb.HSQLDBSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.reflect.IdMapKeyAccessor (implements org.apache.cayenne.reflect.Accessor)
  - org.apache.cayenne.util.IDUtil
  - org.apache.cayenne.commitlog.meta.IncludeAllCommitLogEntityFactory (implements org.apache.cayenne.commitlog.meta.CommitLogEntityFactory)
  - org.apache.cayenne.access.IncrementalFaultList<E> (implements java.util.List<E>, java.io.Serializable)
  - org.apache.cayenne.ashwood.graph.IndegreeTopologicalSort<E> (implements java.util.Iterator<E>)
  - org.apache.cayenne.query.IndirectQuery (implements org.apache.cayenne.query.Query)
    - org.apache.cayenne.query.AbstractMappedQuery
      - org.apache.cayenne.query.MappedExec
      - org.apache.cayenne.query.MappedSelect<T> (implements org.apache.cayenne.query.Select<T>)
    - org.apache.cayenne.query.ObjectIdQuery
    - org.apache.cayenne.query.ProcedureCall<T>
    - org.apache.cayenne.query.RelationshipQuery
    - org.apache.cayenne.query.SelectById<T> (implements org.apache.cayenne.query.Select<T>)
    - org.apache.cayenne.query.SQLExec
    - org.apache.cayenne.query.SQLSelect<T> (implements org.apache.cayenne.query.Select<T>)
  - org.apache.cayenne.dba.ingres.IngresSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.access.types.IntegerType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.types.InternalUnsupportedTypeFactory (implements org.apache.cayenne.access.types.ExtendedTypeFactory)
  - org.apache.cayenne.util.Invocation
  - org.apache.cayenne.query.IteratedQueryDecorator (implements org.apache.cayenne.query.Query)
  - org.apache.cayenne.access.translator.sqltemplate.parser.JavaCharStream
  - org.apache.cayenne.ejbql.parser.JavaCharStream
  - org.apache.cayenne.exp.parser.JavaCharStream
  - org.apache.cayenne.dba.JdbcActionBuilder (implements org.apache.cayenne.query.SQLActionVisitor)
    - org.apache.cayenne.dba.db2.DB2ActionBuilder
    - org.apache.cayenne.dba.derby.DerbyActionBuilder
    - org.apache.cayenne.dba.firebird.FirebirdActionBuilder
    - org.apache.cayenne.dba.frontbase.FrontBaseActionBuilder
    - org.apache.cayenne.dba.h2.H2ActionBuilder
    - org.apache.cayenne.dba.ingres.IngresActionBuilder
    - org.apache.cayenne.dba.sqlserver.SQLServerActionBuilder
  - org.apache.cayenne.dba.JdbcAdapter (implements org.apache.cayenne.dba.DbAdapter)
    - org.apache.cayenne.dba.db2.DB2Adapter
    - org.apache.cayenne.dba.derby.DerbyAdapter
    - org.apache.cayenne.dba.firebird.FirebirdAdapter
    - org.apache.cayenne.dba.frontbase.FrontBaseAdapter
    - org.apache.cayenne.dba.h2.H2Adapter
    - org.apache.cayenne.dba.hsqldb.HSQLDBAdapter
    - org.apache.cayenne.dba.ingres.IngresAdapter
    - org.apache.cayenne.dba.mysql.MySQLAdapter
    - org.apache.cayenne.dba.oracle.OracleAdapter
    - org.apache.cayenne.dba.postgres.PostgresAdapter
    - org.apache.cayenne.dba.sqlite.SQLiteAdapter
    - org.apache.cayenne.dba.sqlserver.SQLServerAdapter
    - org.apache.cayenne.dba.sybase.SybaseAdapter
  - org.apache.cayenne.access.translator.ejbql.JdbcEJBQLTranslator (implements org.apache.cayenne.access.translator.EJBQLTranslator)
    - org.apache.cayenne.dba.db2.DB2EJBQLTranslator
    - org.apache.cayenne.dba.derby.DerbyEJBQLTranslator
    - org.apache.cayenne.dba.firebird.FirebirdEJBQLTranslator
    - org.apache.cayenne.dba.h2.H2EJBQLTranslator
    - org.apache.cayenne.dba.hsqldb.HSQLEJBQLTranslator
  - org.apache.cayenne.dba.JdbcPkGenerator (implements org.apache.cayenne.dba.PkGenerator)
    - org.apache.cayenne.dba.frontbase.FrontBasePkGenerator
    - org.apache.cayenne.dba.mysql.MySQLPkGenerator
    - org.apache.cayenne.dba.SequencePkGenerator
      - org.apache.cayenne.dba.db2.DB2PkGenerator
      - org.apache.cayenne.dba.derby.DerbyPkGenerator
      - org.apache.cayenne.dba.h2.H2PkGenerator
      - org.apache.cayenne.dba.ingres.IngresPkGenerator
      - org.apache.cayenne.dba.oracle.OraclePkGenerator
      - org.apache.cayenne.dba.postgres.PostgresPkGenerator
    - org.apache.cayenne.dba.sqlserver.SQLServerPkGenerator
    - org.apache.cayenne.dba.sybase.SybasePkGenerator
  - org.apache.cayenne.ejbql.parser.JJTEJBQLState
  - org.apache.cayenne.exp.parser.JJTExpressionParserState
  - org.apache.cayenne.access.translator.sqltemplate.parser.JJTSQLTemplateParserState
  - org.apache.cayenne.access.sqlbuilder.JoinNodeBuilder (implements org.apache.cayenne.access.sqlbuilder.NodeBuilder)
  - org.apache.cayenne.value.Json (implements java.io.Serializable)
  - org.apache.cayenne.access.types.JsonType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.value.json.JsonUtils
  - org.apache.cayenne.di.Key<T>
  - org.apache.cayenne.reflect.LazyClassDescriptorDecorator (implements org.apache.cayenne.reflect.ClassDescriptor)
  - org.apache.cayenne.reflect.LifecycleCallbackRegistry
  - org.apache.cayenne.access.jdbc.LimitResultIterator<T> (implements org.apache.cayenne.ResultIterator<T>)
  - org.apache.cayenne.util.ListResponse (implements org.apache.cayenne.QueryResponse, java.io.Serializable)
    - org.apache.cayenne.util.IncrementalListResponse
  - org.apache.cayenne.configuration.xml.LoaderContext
  - org.apache.cayenne.access.types.LocalDateTimeValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.access.types.LocalDateValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.util.LocalizedStringsHandler
  - org.apache.cayenne.access.types.LocalTimeValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.access.types.LongType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.datasource.ManagedPoolingDataSource (implements java.lang.AutoCloseable, javax.sql.DataSource, org.apache.cayenne.di.ScopeEventListener)
  - org.apache.cayenne.reflect.MapAccessor (implements org.apache.cayenne.reflect.Accessor)
  - org.apache.cayenne.ashwood.graph.MapDigraph<E,V> (implements org.apache.cayenne.ashwood.graph.Digraph<E,V>)
  - org.apache.cayenne.cache.MapQueryCache (implements org.apache.cayenne.cache.QueryCache, java.io.Serializable)
  - org.apache.cayenne.cache.MapQueryCacheProvider (implements org.apache.cayenne.di.Provider<T>)
  - org.apache.cayenne.dba.mariadb.MariaDBSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.util.MemoryBlob (implements java.sql.Blob)
  - org.apache.cayenne.util.MemoryClob (implements java.sql.Clob)
  - org.apache.cayenne.di.spi.ModuleLoader
  - org.apache.cayenne.commitlog.model.MutableAttributeChange (implements org.apache.cayenne.commitlog.model.AttributeChange)
  - org.apache.cayenne.commitlog.model.MutableChangeMap (implements org.apache.cayenne.commitlog.model.ChangeMap)
  - org.apache.cayenne.commitlog.meta.MutableCommitLogLogEntity (implements org.apache.cayenne.commitlog.meta.CommitLogEntity)
  - org.apache.cayenne.commitlog.model.MutableObjectChange (implements org.apache.cayenne.commitlog.model.ObjectChange)
  - org.apache.cayenne.commitlog.model.MutableToManyRelationshipChange (implements org.apache.cayenne.commitlog.model.ToManyRelationshipChange)
  - org.apache.cayenne.commitlog.model.MutableToOneRelationshipChange (implements org.apache.cayenne.commitlog.model.ToOneRelationshipChange)
  - org.apache.cayenne.dba.mysql.MySQLSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.cache.NestedQueryCache (implements org.apache.cayenne.cache.QueryCache)
  - org.apache.cayenne.access.sqlbuilder.sqltree.Node
    - org.apache.cayenne.access.sqlbuilder.sqltree.AliasedNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.CaseNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode
    - org.apache.cayenne.dba.mysql.sqltree.ConvertNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.DeleteNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.DistinctNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.ElseNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.EmptyNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.ExistsNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.ExpressionNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.BetweenNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.BitwiseNotNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.EqualNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.LikeNode
        - org.apache.cayenne.dba.mysql.sqltree.MysqlLikeNode
        - org.apache.cayenne.dba.postgres.sqltree.PostgresLikeNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.NotEqualNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.OpExpressionNode
    - org.apache.cayenne.dba.firebird.sqltree.FirebirdLimitNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.FromNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.FunctionNode
      - org.apache.cayenne.dba.firebird.sqltree.FirebirdSubstringFunctionNode
      - org.apache.cayenne.dba.postgres.sqltree.PositionFunctionNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.GroupByNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.HavingNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.InNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.InsertColumnsNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.InsertNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.InsertValuesNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.JoinNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.LimitOffsetNode
      - org.apache.cayenne.dba.mysql.sqltree.MysqlLimitOffsetNode
      - org.apache.cayenne.access.sqlbuilder.sqltree.OffsetFetchNextNode
      - org.apache.cayenne.dba.postgres.sqltree.PostgresLimitOffsetNode
      - org.apache.cayenne.dba.sqlserver.sqltree.SQLServerLimitOffsetNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.NegateNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.NotNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.OffsetNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.OrderByNode
    - org.apache.cayenne.dba.postgres.sqltree.PostgresExtractFunctionNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.SelectNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.SelectResultNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.SubqueryNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.TableNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.TextNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.ThenNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.TopNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.TrimmingColumnNode
      - org.apache.cayenne.dba.h2.H2TrimmingColumnNode
      - org.apache.cayenne.dba.sqlserver.sqltree.SQLServerColumnNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.UpdateNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.UpdateSetNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.ValueNode
      - org.apache.cayenne.dba.derby.sqltree.DerbyValueNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.WhenNode
    - org.apache.cayenne.access.sqlbuilder.sqltree.WhereNode
  - org.apache.cayenne.graph.NodeDiff (implements java.lang.Comparable<T>, org.apache.cayenne.graph.GraphDiff)
    - org.apache.cayenne.graph.ArcCreateOperation
    - org.apache.cayenne.graph.ArcDeleteOperation
    - org.apache.cayenne.graph.NodeCreateOperation
    - org.apache.cayenne.graph.NodeDeleteOperation
    - org.apache.cayenne.graph.NodeIdChangeOperation
    - org.apache.cayenne.graph.NodePropertyChangeOperation
    - org.apache.cayenne.access.ObjectDiff
  - org.apache.cayenne.configuration.xml.NoopDataChannelMetaData (implements org.apache.cayenne.configuration.xml.DataChannelMetaData)
  - org.apache.cayenne.event.NoopEventBridgeProvider (implements org.apache.cayenne.di.Provider<T>)
  - org.apache.cayenne.event.NoopEventManager (implements org.apache.cayenne.event.EventManager)
  - org.apache.cayenne.log.NoopSQLLogger (implements org.apache.cayenne.log.SQLLogger)
  - org.apache.cayenne.access.ObjectStore (implements org.apache.cayenne.graph.GraphManager, java.io.Serializable, org.apache.cayenne.access.event.SnapshotEventListener)
    - org.apache.cayenne.access.NoSyncObjectStore
  - org.apache.cayenne.access.ObjectStoreGraphDiff (implements org.apache.cayenne.graph.GraphDiff)
  - org.apache.cayenne.access.types.ObjectType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.flush.operation.OpIdFactory
  - org.apache.cayenne.dba.oracle.OracleSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.query.Ordering (implements java.util.Comparator<T>, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.access.sqlbuilder.OrderingNodeBuilder (implements org.apache.cayenne.access.sqlbuilder.NodeBuilder)
  - org.apache.cayenne.dba.PerAdapterProvider<T>
  - org.apache.cayenne.access.sqlbuilder.sqltree.PerAttributeChildProcessor<T> (implements org.apache.cayenne.access.sqlbuilder.sqltree.ChildProcessor<T>)
  - org.apache.cayenne.access.types.PeriodValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.PersistenceState
  - org.apache.cayenne.reflect.PersistentDescriptor (implements org.apache.cayenne.reflect.ClassDescriptor)
  - org.apache.cayenne.reflect.PersistentDescriptorFactory (implements org.apache.cayenne.reflect.ClassDescriptorFactory)
    - org.apache.cayenne.reflect.generic.PersistentObjectDescriptorFactory
    - org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory
  - org.apache.cayenne.PersistentObject (implements org.apache.cayenne.Persistent, org.apache.cayenne.Validating)
    - org.apache.cayenne.BaseDataObject (implements org.apache.cayenne.Persistent, org.apache.cayenne.Validating)
    - org.apache.cayenne.GenericPersistentObject
    - org.apache.cayenne.HybridPersistentObject
  - org.apache.cayenne.reflect.PojoMapper<T> (implements java.util.function.Function<T,R>)
  - org.apache.cayenne.datasource.PoolAwareConnection (implements java.sql.Connection)
  - org.apache.cayenne.datasource.PoolingDataSourceBuilder
  - org.apache.cayenne.datasource.PoolingDataSourceParameters
  - org.apache.cayenne.dba.postgres.PostgresSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.query.PrefetchTreeNode (implements java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.map.Procedure (implements org.apache.cayenne.util.CayenneMapEntry, org.apache.cayenne.configuration.ConfigurationNode, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.map.ProcedureParameter (implements org.apache.cayenne.util.CayenneMapEntry, org.apache.cayenne.configuration.ConfigurationNode, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
  - org.apache.cayenne.reflect.PropertyAccessor (implements org.apache.cayenne.reflect.Accessor)
  - org.apache.cayenne.exp.property.PropertyFactory
  - org.apache.cayenne.reflect.PropertyUtils
  - org.apache.cayenne.access.flush.operation.Qualifier
  - org.apache.cayenne.query.QueryChain (implements org.apache.cayenne.query.Query)
  - org.apache.cayenne.map.QueryDescriptor (implements org.apache.cayenne.configuration.ConfigurationNode, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
    - org.apache.cayenne.map.EJBQLQueryDescriptor
    - org.apache.cayenne.map.ProcedureQueryDescriptor
    - org.apache.cayenne.map.SelectQueryDescriptor
    - org.apache.cayenne.map.SQLTemplateDescriptor
  - org.apache.cayenne.map.QueryDescriptorLoader
  - org.apache.cayenne.query.QueryMetadataProxy (implements org.apache.cayenne.query.QueryMetadata)
  - org.apache.cayenne.util.QueryResultBuilder
    - org.apache.cayenne.util.ProcedureResultBuilder<T>
  - org.apache.cayenne.tx.ReadOnlyTransaction (implements org.apache.cayenne.tx.Transaction)
  - org.apache.cayenne.query.RefreshQuery (implements org.apache.cayenne.query.Query)
  - org.apache.cayenne.map.Relationship<E,A,R> (implements org.apache.cayenne.util.CayenneMapEntry, java.io.Serializable, org.apache.cayenne.util.XMLSerializable)
    - org.apache.cayenne.map.DbRelationship (implements org.apache.cayenne.configuration.ConfigurationNode)
    - org.apache.cayenne.map.ObjRelationship (implements org.apache.cayenne.configuration.ConfigurationNode)
  - org.apache.cayenne.util.RelationshipFault<E>
    - org.apache.cayenne.util.PersistentObjectHolder<E> (implements org.apache.cayenne.ValueHolder<E>)
    - org.apache.cayenne.util.PersistentObjectList<E> (implements java.util.List<E>, org.apache.cayenne.util.PersistentObjectCollection<E>, org.apache.cayenne.ValueHolder<E>)
      - org.apache.cayenne.access.ToManyList<E> (implements java.io.Serializable)
    - org.apache.cayenne.util.PersistentObjectMap (implements java.util.Map<K,V>, org.apache.cayenne.ValueHolder<E>)
    - org.apache.cayenne.util.PersistentObjectSet<E> (implements org.apache.cayenne.util.PersistentObjectCollection<E>, java.util.Set<E>, org.apache.cayenne.ValueHolder<E>)
      - org.apache.cayenne.access.ToManySet<E> (implements java.io.Serializable)
  - org.apache.cayenne.access.translator.sqltemplate.directive.Result (implements org.apache.cayenne.access.translator.sqltemplate.directive.Directive)
  - org.apache.cayenne.ResultBatchIterator<T> (implements java.lang.AutoCloseable, java.lang.Iterable<T>, java.util.Iterator<E>)
  - org.apache.cayenne.util.ResultIteratorIterator<T> (implements java.util.Iterator<E>)
  - org.apache.cayenne.ashwood.graph.ReversedIteration<E,V> (implements org.apache.cayenne.ashwood.graph.DigraphIteration<E,V>)
  - org.apache.cayenne.ashwood.graph.ReversedIteration.ReversedArcIterator<S,T> (implements org.apache.cayenne.ashwood.graph.ArcIterator<E,V>)
  - org.apache.cayenne.access.jdbc.RSColumn.RowBuilder
  - org.apache.cayenne.access.jdbc.RSIterator<T> (implements org.apache.cayenne.ResultIterator<T>)
  - org.apache.cayenne.di.spi.ScopeEventBinding
  - org.apache.cayenne.query.SelectById.MultiMapIdSpec (implements org.apache.cayenne.query.SelectById.IdSpec)
  - org.apache.cayenne.query.SelectById.MultiScalarIdSpec (implements org.apache.cayenne.query.SelectById.IdSpec)
  - org.apache.cayenne.query.SelectById.SingleMapIdSpec (implements org.apache.cayenne.query.SelectById.IdSpec)
  - org.apache.cayenne.query.SelectById.SingleScalarIdSpec (implements org.apache.cayenne.query.SelectById.IdSpec)
  - org.apache.cayenne.util.ShallowMergeOperation
  - org.apache.cayenne.access.types.ShortType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.translator.sqltemplate.parser.SimpleNode (implements org.apache.cayenne.access.translator.sqltemplate.parser.Node)
    - org.apache.cayenne.access.translator.sqltemplate.parser.ASTBlock
    - org.apache.cayenne.access.translator.sqltemplate.parser.ASTExpression (implements org.apache.cayenne.access.translator.sqltemplate.parser.ExpressionNode)
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTArray
    - org.apache.cayenne.access.translator.sqltemplate.parser.ASTIfElse
    - org.apache.cayenne.access.translator.sqltemplate.parser.IdentifierNode
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTDirective
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTMethod
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTVariable (implements org.apache.cayenne.access.translator.sqltemplate.parser.ExpressionNode)
    - org.apache.cayenne.access.translator.sqltemplate.parser.ScalarNode<V> (implements org.apache.cayenne.access.translator.sqltemplate.parser.ExpressionNode)
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTBoolScalar
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTFloatScalar
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTIntScalar
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTStringScalar
      - org.apache.cayenne.access.translator.sqltemplate.parser.ASTText
  - org.apache.cayenne.ejbql.parser.SimpleNode (implements org.apache.cayenne.ejbql.EJBQLExpression, org.apache.cayenne.ejbql.parser.Node, java.io.Serializable)
    - org.apache.cayenne.ejbql.parser.AggregateConditionNode
      - org.apache.cayenne.ejbql.parser.EJBQLAnd
      - org.apache.cayenne.ejbql.parser.EJBQLNot
      - org.apache.cayenne.ejbql.parser.EJBQLOr
    - org.apache.cayenne.ejbql.parser.EJBQLAbs
    - org.apache.cayenne.ejbql.parser.EJBQLAbstractSchemaName
    - org.apache.cayenne.ejbql.parser.EJBQLAdd
    - org.apache.cayenne.ejbql.parser.EJBQLAggregate
    - org.apache.cayenne.ejbql.parser.EJBQLAggregateColumn
      - org.apache.cayenne.ejbql.parser.EJBQLAverage
      - org.apache.cayenne.ejbql.parser.EJBQLCount
      - org.apache.cayenne.ejbql.parser.EJBQLMax
      - org.apache.cayenne.ejbql.parser.EJBQLMin
      - org.apache.cayenne.ejbql.parser.EJBQLSum
    - org.apache.cayenne.ejbql.parser.EJBQLAll
    - org.apache.cayenne.ejbql.parser.EJBQLAny
    - org.apache.cayenne.ejbql.parser.EJBQLAscending
    - org.apache.cayenne.ejbql.parser.EJBQLBetween
    - org.apache.cayenne.ejbql.parser.EJBQLBooleanLiteral
    - org.apache.cayenne.ejbql.parser.EJBQLClassName
    - org.apache.cayenne.ejbql.parser.EJBQLConcat
    - org.apache.cayenne.ejbql.parser.EJBQLConstructor
    - org.apache.cayenne.ejbql.parser.EJBQLConstructorParameter
    - org.apache.cayenne.ejbql.parser.EJBQLConstructorParameters
    - org.apache.cayenne.ejbql.parser.EJBQLCurrentDate
    - org.apache.cayenne.ejbql.parser.EJBQLCurrentTime
    - org.apache.cayenne.ejbql.parser.EJBQLCurrentTimestamp
    - org.apache.cayenne.ejbql.parser.EJBQLDecimalLiteral
    - org.apache.cayenne.ejbql.parser.EJBQLDelete
    - org.apache.cayenne.ejbql.parser.EJBQLDescending
    - org.apache.cayenne.ejbql.parser.EJBQLDistinct
    - org.apache.cayenne.ejbql.parser.EJBQLDivide
    - org.apache.cayenne.ejbql.parser.EJBQLEquals
    - org.apache.cayenne.ejbql.parser.EJBQLEscapeCharacter
    - org.apache.cayenne.ejbql.parser.EJBQLExists
    - org.apache.cayenne.ejbql.parser.EJBQLFrom
    - org.apache.cayenne.ejbql.parser.EJBQLFromItem
    - org.apache.cayenne.ejbql.parser.EJBQLGreaterOrEqual
    - org.apache.cayenne.ejbql.parser.EJBQLGreaterThan
    - org.apache.cayenne.ejbql.parser.EJBQLGroupBy
    - org.apache.cayenne.ejbql.parser.EJBQLHaving
    - org.apache.cayenne.ejbql.parser.EJBQLIdentificationVariable
    - org.apache.cayenne.ejbql.parser.EJBQLIdentifier
    - org.apache.cayenne.ejbql.parser.EJBQLIn
    - org.apache.cayenne.ejbql.parser.EJBQLIntegerLiteral
    - org.apache.cayenne.ejbql.parser.EJBQLIsEmpty
    - org.apache.cayenne.ejbql.parser.EJBQLIsNull
    - org.apache.cayenne.ejbql.parser.EJBQLJoin
      - org.apache.cayenne.ejbql.parser.EJBQLInnerFetchJoin
      - org.apache.cayenne.ejbql.parser.EJBQLInnerJoin
      - org.apache.cayenne.ejbql.parser.EJBQLOuterFetchJoin
      - org.apache.cayenne.ejbql.parser.EJBQLOuterJoin
    - org.apache.cayenne.ejbql.parser.EJBQLLength
    - org.apache.cayenne.ejbql.parser.EJBQLLessOrEqual
    - org.apache.cayenne.ejbql.parser.EJBQLLessThan
    - org.apache.cayenne.ejbql.parser.EJBQLLike
    - org.apache.cayenne.ejbql.parser.EJBQLLocate
    - org.apache.cayenne.ejbql.parser.EJBQLLower
    - org.apache.cayenne.ejbql.parser.EJBQLMemberOf
    - org.apache.cayenne.ejbql.parser.EJBQLMod
    - org.apache.cayenne.ejbql.parser.EJBQLMultiply
    - org.apache.cayenne.ejbql.parser.EJBQLNamedInputParameter
    - org.apache.cayenne.ejbql.parser.EJBQLNegative
    - org.apache.cayenne.ejbql.parser.EJBQLNotEquals
    - org.apache.cayenne.ejbql.parser.EJBQLOrderBy
    - org.apache.cayenne.ejbql.parser.EJBQLOrderByItem
    - org.apache.cayenne.ejbql.parser.EJBQLPath
      - org.apache.cayenne.ejbql.parser.EJBQLDbPath
    - org.apache.cayenne.ejbql.parser.EJBQLPatternValue
    - org.apache.cayenne.ejbql.parser.EJBQLPositionalInputParameter
    - org.apache.cayenne.ejbql.parser.EJBQLSelect
    - org.apache.cayenne.ejbql.parser.EJBQLSelectClause
    - org.apache.cayenne.ejbql.parser.EJBQLSelectExpression
    - org.apache.cayenne.ejbql.parser.EJBQLSelectExpressions
    - org.apache.cayenne.ejbql.parser.EJBQLSize
    - org.apache.cayenne.ejbql.parser.EJBQLSqrt
    - org.apache.cayenne.ejbql.parser.EJBQLStringLiteral
    - org.apache.cayenne.ejbql.parser.EJBQLSubselect
    - org.apache.cayenne.ejbql.parser.EJBQLSubstring
    - org.apache.cayenne.ejbql.parser.EJBQLSubtract
    - org.apache.cayenne.ejbql.parser.EJBQLTok
    - org.apache.cayenne.ejbql.parser.EJBQLTrim
    - org.apache.cayenne.ejbql.parser.EJBQLTrimCharacter
    - org.apache.cayenne.ejbql.parser.EJBQLTrimSpecification
      - org.apache.cayenne.ejbql.parser.EJBQLTrimBoth
      - org.apache.cayenne.ejbql.parser.EJBQLTrimLeading
      - org.apache.cayenne.ejbql.parser.EJBQLTrimTrailing
    - org.apache.cayenne.ejbql.parser.EJBQLUpdate
    - org.apache.cayenne.ejbql.parser.EJBQLUpdateField
    - org.apache.cayenne.ejbql.parser.EJBQLUpdateItem
    - org.apache.cayenne.ejbql.parser.EJBQLUpdateValue
    - org.apache.cayenne.ejbql.parser.EJBQLUpper
    - org.apache.cayenne.ejbql.parser.EJBQLWhere
  - org.apache.cayenne.access.sqlbuilder.sqltree.SimpleNodeTreeVisitor (implements org.apache.cayenne.access.sqlbuilder.NodeTreeVisitor)
    - org.apache.cayenne.access.translator.select.BaseSQLTreeProcessor (implements org.apache.cayenne.access.sqlbuilder.sqltree.SQLTreeProcessor)
      - org.apache.cayenne.dba.db2.DB2SQLTreeProcessor
      - org.apache.cayenne.dba.derby.DerbySQLTreeProcessor
      - org.apache.cayenne.dba.firebird.FirebirdSQLTreeProcessor
      - org.apache.cayenne.dba.frontbase.FrontBaseSQLTreeProcessor
      - org.apache.cayenne.dba.h2.H2SQLTreeProcessor
      - org.apache.cayenne.dba.hsqldb.HSQLTreeProcessor
      - org.apache.cayenne.dba.ingres.IngressSQLTreeProcessor
      - org.apache.cayenne.dba.oracle.OracleSQLTreeProcessor
      - org.apache.cayenne.dba.sqlite.SQLiteTreeProcessor
      - org.apache.cayenne.dba.sybase.SybaseSQLTreeProcessor
        - org.apache.cayenne.dba.sqlserver.SQLServerTreeProcessor
          - org.apache.cayenne.dba.sqlserver.SQLServerTreeProcessorV12
    - org.apache.cayenne.access.translator.select.TypeAwareSQLTreeProcessor (implements org.apache.cayenne.access.sqlbuilder.sqltree.SQLTreeProcessor)
      - org.apache.cayenne.dba.mysql.MySQLTreeProcessor
      - org.apache.cayenne.dba.postgres.PostgreSQLTreeProcessor
  - org.apache.cayenne.validation.SimpleValidationFailure (implements org.apache.cayenne.validation.ValidationFailure)
    - org.apache.cayenne.validation.BeanValidationFailure
  - org.apache.cayenne.util.SingleEntryMap<K,V> (implements java.util.Map<K,V>, java.util.Map.Entry<K,V>, java.io.Serializable)
  - org.apache.cayenne.reflect.SingletonFaultFactory (implements org.apache.cayenne.reflect.FaultFactory)
  - org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy (implements org.apache.cayenne.access.dbsync.SchemaUpdateStrategy)
  - org.apache.cayenne.log.Slf4jSQLLogger (implements org.apache.cayenne.log.SQLLogger)
  - org.apache.cayenne.access.sqlbuilder.SQLBuilder
  - org.apache.cayenne.access.sqlbuilder.SQLGenerationVisitor (implements org.apache.cayenne.access.sqlbuilder.NodeTreeVisitor)
  - org.apache.cayenne.dba.sqlite.SQLiteSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.map.SQLResult
  - org.apache.cayenne.access.translator.select.SQLResultStage
  - org.apache.cayenne.dba.sqlserver.SQLServerSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.access.jdbc.SQLTemplateAction (implements org.apache.cayenne.query.SQLAction)
    - org.apache.cayenne.dba.frontbase.FrontBaseTemplateAction
  - org.apache.cayenne.query.SQLTemplateMetadata
  - org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParser (implements org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParserConstants, org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParserTreeConstants)
  - org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParserTokenManager (implements org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParserConstants)
  - org.apache.cayenne.access.translator.sqltemplate.SQLTemplateRenderingUtils
  - org.apache.cayenne.ashwood.graph.StrongConnection<E,V> (implements java.util.Iterator<E>)
  - org.apache.cayenne.dba.sybase.SybaseSniffer (implements org.apache.cayenne.configuration.runtime.DbAdapterDetector)
  - org.apache.cayenne.access.sqlbuilder.TableNodeBuilder (implements org.apache.cayenne.access.sqlbuilder.NodeBuilder)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - org.apache.cayenne.access.translator.sqltemplate.parser.TokenMgrError
      - org.apache.cayenne.ejbql.parser.TokenMgrError
      - org.apache.cayenne.exp.parser.TokenMgrError
    - java.lang.Exception
      - org.apache.cayenne.access.translator.sqltemplate.parser.ParseException
      - org.apache.cayenne.ejbql.parser.ParseException
      - org.apache.cayenne.exp.parser.ParseException
      - java.lang.RuntimeException
        - org.apache.cayenne.CayenneRuntimeException
          - org.apache.cayenne.CayenneSqlException
          - org.apache.cayenne.ConfigurationException
            - org.apache.cayenne.configuration.runtime.DataDomainLoadException
          - org.apache.cayenne.DeleteDenyException
          - org.apache.cayenne.access.DomainStoppedException
          - org.apache.cayenne.exp.ExpressionException
            - org.apache.cayenne.ejbql.EJBQLException
          - org.apache.cayenne.FaultFailureException
          - org.apache.cayenne.access.OptimisticLockException
          - org.apache.cayenne.reflect.PropertyException
          - org.apache.cayenne.reflect.UnresolvablePathException
          - org.apache.cayenne.validation.ValidationException
        - org.apache.cayenne.di.DIRuntimeException
        - org.apache.cayenne.value.json.MalformedJsonException
      - java.sql.SQLException (implements java.lang.Iterable<T>)
        - org.apache.cayenne.datasource.BadValidationQueryException
        - org.apache.cayenne.datasource.UnmanagedPoolingDataSource.ConnectionUnavailableException
  - org.apache.cayenne.access.types.TimestampType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.access.types.TimeType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.reflect.ToAnyConverter<T> (implements org.apache.cayenne.reflect.Converter<T>)
  - org.apache.cayenne.access.translator.sqltemplate.parser.Token (implements java.io.Serializable)
  - org.apache.cayenne.ejbql.parser.Token (implements java.io.Serializable)
  - org.apache.cayenne.exp.parser.Token (implements java.io.Serializable)
  - org.apache.cayenne.util.ToStringBuilder
  - org.apache.cayenne.tx.TransactionDescriptor
  - org.apache.cayenne.tx.TransactionDescriptor.Builder
  - org.apache.cayenne.tx.TransactionFilter (implements org.apache.cayenne.DataChannelSyncFilter)
  - org.apache.cayenne.exp.TraversalHelper (implements org.apache.cayenne.exp.TraversalHandler)
  - org.apache.cayenne.dba.TypesMapping
  - org.apache.cayenne.datasource.UnmanagedPoolingDataSource (implements java.lang.AutoCloseable, javax.sql.DataSource)
  - org.apache.cayenne.resource.URLResource (implements org.apache.cayenne.resource.Resource)
  - org.apache.cayenne.util.Util
  - org.apache.cayenne.access.types.UtilDateType (implements org.apache.cayenne.access.types.ExtendedType<T>)
    - org.apache.cayenne.dba.oracle.OracleUtilDateType
  - org.apache.cayenne.access.types.UUIDValueType (implements org.apache.cayenne.access.types.ValueObjectType<V,T>)
  - org.apache.cayenne.validation.ValidationResult (implements java.io.Serializable)
  - org.apache.cayenne.access.sqlbuilder.ValueNodeBuilder (implements org.apache.cayenne.access.sqlbuilder.NodeBuilder)
  - org.apache.cayenne.access.types.ValueObjectTypeFactory (implements org.apache.cayenne.access.types.ExtendedTypeFactory)
  - org.apache.cayenne.access.flush.operation.Values
  - org.apache.cayenne.access.types.VoidType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.value.Wkt
  - org.apache.cayenne.access.types.WktType (implements org.apache.cayenne.access.types.ExtendedType<T>)
  - org.apache.cayenne.configuration.xml.XMLDataChannelDescriptorLoader (implements org.apache.cayenne.configuration.DataChannelDescriptorLoader)
  - org.apache.cayenne.configuration.xml.XMLDataMapLoader (implements org.apache.cayenne.configuration.DataMapLoader)
  - org.apache.cayenne.util.XMLEncoder
  - org.apache.cayenne.configuration.xml.XMLReaderProvider (implements org.apache.cayenne.di.Provider<T>)

## Interface Hierarchy

- org.apache.cayenne.reflect.AccessorFactory
- org.apache.cayenne.di.AdhocObjectFactory
- java.lang.AutoCloseable
  - org.apache.cayenne.ResultIterator<T> (also extends java.lang.Iterable<T>)
- org.apache.cayenne.access.translator.BatchTranslator<T>
- org.apache.cayenne.di.Binder
- org.apache.cayenne.di.BindingBuilder<T>
- org.apache.cayenne.util.CayenneMapEntry
- org.apache.cayenne.commitlog.model.ChangeMap
- org.apache.cayenne.access.sqlbuilder.sqltree.ChildProcessor<T>
- org.apache.cayenne.reflect.ClassDescriptor
- org.apache.cayenne.reflect.ClassDescriptorFactory
- org.apache.cayenne.di.ClassLoaderManager
- org.apache.cayenne.commitlog.meta.CommitLogEntity
- org.apache.cayenne.commitlog.meta.CommitLogEntityFactory
- org.apache.cayenne.commitlog.CommitLogListener
- org.apache.cayenne.configuration.ConfigurationNameMapper
- org.apache.cayenne.configuration.ConfigurationNode
- org.apache.cayenne.configuration.ConfigurationNodeVisitor<T>
- org.apache.cayenne.configuration.Constants
- org.apache.cayenne.reflect.Converter<T>
- org.apache.cayenne.DataChannel
  - org.apache.cayenne.ObjectContext (also extends java.io.Serializable)
- org.apache.cayenne.configuration.DataChannelDescriptorLoader
- org.apache.cayenne.configuration.DataChannelDescriptorMerger
- org.apache.cayenne.DataChannelListener
- org.apache.cayenne.configuration.xml.DataChannelLoaderListener
- org.apache.cayenne.configuration.xml.DataChannelMetaData
- org.apache.cayenne.DataChannelQueryFilter
- org.apache.cayenne.DataChannelQueryFilterChain
- org.apache.cayenne.DataChannelSyncFilter
- org.apache.cayenne.DataChannelSyncFilterChain
- org.apache.cayenne.access.DataContextDelegate
- org.apache.cayenne.access.flush.DataDomainFlushAction
- org.apache.cayenne.access.flush.DataDomainFlushActionFactory
- org.apache.cayenne.configuration.DataMapLoader
- org.apache.cayenne.configuration.xml.DataMapLoaderListener
- org.apache.cayenne.configuration.runtime.DataNodeFactory
- org.apache.cayenne.access.DataRowStoreFactory
- org.apache.cayenne.dba.DbAdapter
- org.apache.cayenne.configuration.runtime.DbAdapterDetector
- org.apache.cayenne.access.flush.operation.DbRowOp
  - org.apache.cayenne.access.flush.operation.DbRowOpWithQualifier
  - org.apache.cayenne.access.flush.operation.DbRowOpWithValues
- org.apache.cayenne.access.flush.operation.DbRowOpSorter
- org.apache.cayenne.access.flush.operation.DbRowOpVisitor<T>
- org.apache.cayenne.di.DecoratorBuilder<T>
- org.apache.cayenne.access.flush.operation.DeleteDbRowOpFactory
- org.apache.cayenne.ashwood.graph.DigraphIteration<E,V>
  - org.apache.cayenne.ashwood.graph.Digraph<E,V>
- org.apache.cayenne.access.translator.sqltemplate.directive.Directive
- org.apache.cayenne.ejbql.EJBQLCompiledExpression
- org.apache.cayenne.ejbql.parser.EJBQLConstants
- org.apache.cayenne.ejbql.EJBQLExpression
  - org.apache.cayenne.ejbql.parser.Node
- org.apache.cayenne.ejbql.EJBQLExpressionVisitor
- org.apache.cayenne.ejbql.EJBQLParser
- org.apache.cayenne.access.translator.EJBQLTranslator
- org.apache.cayenne.ejbql.parser.EJBQLTreeConstants
- org.apache.cayenne.reflect.EmbeddableDescriptor
- org.apache.cayenne.EmbeddableObject
- org.apache.cayenne.query.EmbeddableResultSegment
- org.apache.cayenne.util.EntityMergeListener
- org.apache.cayenne.query.EntityResultSegment
- org.apache.cayenne.map.EntitySorter
- org.apache.cayenne.map.EntitySorterFactory
- org.apache.cayenne.event.EventBridgeFactory
- java.util.EventListener
  - org.apache.cayenne.access.event.SnapshotEventListener
- org.apache.cayenne.event.EventManager
- org.apache.cayenne.access.translator.sqltemplate.parser.ExpressionNode
- org.apache.cayenne.exp.parser.ExpressionParserConstants
- org.apache.cayenne.exp.parser.ExpressionParserTreeConstants
- org.apache.cayenne.ExtendedEnumeration
- org.apache.cayenne.access.types.ExtendedType<T>
- org.apache.cayenne.access.types.ExtendedTypeFactory
- org.apache.cayenne.reflect.FaultFactory
- org.apache.cayenne.graph.GraphChangeHandler
  - org.apache.cayenne.graph.GraphManager
- org.apache.cayenne.configuration.xml.HandlerFactory
- org.apache.cayenne.di.Injector
- org.apache.cayenne.access.types.InternalUnsupportedTypeFactory.Marker
  - org.apache.cayenne.access.DeferredValue
- java.lang.Iterable<T>
  - org.apache.cayenne.exp.path.CayennePath (also extends java.io.Serializable)
  - java.util.Collection<E>
    - org.apache.cayenne.util.PersistentObjectCollection<E>
  - org.apache.cayenne.QueryResult<T>
  - org.apache.cayenne.ResultIterator<T> (also extends java.lang.AutoCloseable)
- java.util.Iterator<E>
  - org.apache.cayenne.ashwood.graph.ArcIterator<E,V>
- org.apache.cayenne.LifecycleListener
- org.apache.cayenne.di.ListBuilder<T>
- org.apache.cayenne.di.MapBuilder<T>
- org.apache.cayenne.map.MappingNamespace
- org.apache.cayenne.di.Module
- org.apache.cayenne.di.spi.ModuleProvider
  - org.apache.cayenne.runtime.CayenneRuntimeModuleProvider
- org.apache.cayenne.access.translator.sqltemplate.parser.Node
- org.apache.cayenne.exp.parser.Node
- org.apache.cayenne.access.sqlbuilder.NodeBuilder
- org.apache.cayenne.access.sqlbuilder.NodeTreeVisitor
- org.apache.cayenne.commitlog.model.ObjectChange
- org.apache.cayenne.configuration.ObjectContextFactory
- org.apache.cayenne.access.ObjectMapRetainStrategy
- org.apache.cayenne.configuration.ObjectStoreFactory
- org.apache.cayenne.access.OperationHints
  - org.apache.cayenne.access.OperationObserver
- org.apache.cayenne.map.PathComponent<A,R>
- org.apache.cayenne.dba.PkGenerator
- org.apache.cayenne.query.PrefetchProcessor
- org.apache.cayenne.access.translator.ProcedureTranslator
- org.apache.cayenne.exp.property.Property<E>
  - org.apache.cayenne.exp.property.ComparableProperty<E>
  - org.apache.cayenne.exp.property.IdProperty<E>
  - org.apache.cayenne.exp.property.PathProperty<E>
    - org.apache.cayenne.exp.property.RelationshipProperty<E>
- org.apache.cayenne.commitlog.model.PropertyChange
  - org.apache.cayenne.commitlog.model.AttributeChange
  - org.apache.cayenne.commitlog.model.ToManyRelationshipChange
  - org.apache.cayenne.commitlog.model.ToOneRelationshipChange
- org.apache.cayenne.commitlog.model.PropertyChangeVisitor<T>
- org.apache.cayenne.reflect.PropertyDescriptor
  - org.apache.cayenne.reflect.ArcProperty
    - org.apache.cayenne.reflect.ToManyProperty
      - org.apache.cayenne.reflect.ToManyMapProperty
    - org.apache.cayenne.reflect.ToOneProperty
  - org.apache.cayenne.reflect.AttributeProperty
- org.apache.cayenne.reflect.PropertyVisitor
- org.apache.cayenne.di.Provider<T>
- org.apache.cayenne.cache.QueryCache
- org.apache.cayenne.cache.QueryCacheEntryFactory
- org.apache.cayenne.query.QueryMetadata
- org.apache.cayenne.QueryResponse
- org.apache.cayenne.QueryResultItem<T>
- org.apache.cayenne.query.QueryRouter
- org.apache.cayenne.dba.QuotingStrategy
- org.apache.cayenne.resource.ResourceLocator
- org.apache.cayenne.ResultIteratorCallback<T>
- org.apache.cayenne.access.jdbc.reader.RowReader<T>
- org.apache.cayenne.access.jdbc.reader.RowReaderFactory
- org.apache.cayenne.configuration.RuntimeProperties
- org.apache.cayenne.query.ScalarResultSegment
- org.apache.cayenne.access.dbsync.SchemaUpdateStrategy
- org.apache.cayenne.di.Scope
- org.apache.cayenne.di.ScopeEventListener
- org.apache.cayenne.access.translator.SelectTranslator
- java.io.Serializable
  - org.apache.cayenne.reflect.Accessor
  - org.apache.cayenne.exp.path.CayennePath (also extends java.lang.Iterable<T>)
  - org.apache.cayenne.graph.GraphDiff
  - 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.query.Query
    - org.apache.cayenne.query.ParameterizedQuery
    - org.apache.cayenne.query.Select<T>
  - org.apache.cayenne.resource.Resource
  - org.apache.cayenne.query.SelectById.IdSpec
  - org.apache.cayenne.query.SelectById.QueryRoot
  - org.apache.cayenne.validation.ValidationFailure
  - org.apache.cayenne.ValueHolder<E>
- org.apache.cayenne.query.SQLAction
- org.apache.cayenne.query.SQLActionVisitor
- org.apache.cayenne.access.sqlbuilder.SQLAppendable
- org.apache.cayenne.access.sqlbuilder.SQLGenerationContext
- org.apache.cayenne.log.SQLLogger
- org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParserConstants
- org.apache.cayenne.access.translator.sqltemplate.parser.SQLTemplateParserTreeConstants
- org.apache.cayenne.access.translator.SQLTemplateTranslator
- org.apache.cayenne.access.sqlbuilder.sqltree.SQLTreeProcessor
- org.apache.cayenne.access.translator.sqltemplate.TemplateContextFactory
- org.apache.cayenne.tx.Transaction
- org.apache.cayenne.tx.TransactionalOperation<T>
- org.apache.cayenne.tx.TransactionFactory
- org.apache.cayenne.tx.TransactionListener
- org.apache.cayenne.tx.TransactionManager
- org.apache.cayenne.access.translator.select.TranslatableQueryWrapper
- org.apache.cayenne.access.translator.TranslatedStatement
- org.apache.cayenne.exp.TraversalHandler
- org.apache.cayenne.Validating
- org.apache.cayenne.reflect.generic.ValueComparisonStrategy<V>
- org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory
- org.apache.cayenne.exp.ValueInjector
- org.apache.cayenne.access.types.ValueObjectType<V,T>
- org.apache.cayenne.access.types.ValueObjectTypeRegistry
- org.apache.cayenne.util.XMLSerializable

## Annotation Interface Hierarchy

- org.apache.cayenne.di.BeforeScopeEnd (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.CommitLog (implements java.lang.annotation.Annotation)
- org.apache.cayenne.commitlog.CommitLog (implements java.lang.annotation.Annotation)
- org.apache.cayenne.di.Inject (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PostAdd (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PostLoad (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PostPersist (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PostRemove (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PostUpdate (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PrePersist (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PreRemove (implements java.lang.annotation.Annotation)
- org.apache.cayenne.annotation.PreUpdate (implements java.lang.annotation.Annotation)
- org.apache.cayenne.ashwood.SortWeight (implements java.lang.annotation.Annotation)

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.apache.cayenne.exp.parser.ASTExtract.DateTimePart
    - org.apache.cayenne.query.CapsStrategy
    - org.apache.cayenne.access.flush.operation.DbRowOpType (implements java.lang.Comparable<T>)
    - org.apache.cayenne.access.sqlbuilder.JoinType
    - org.apache.cayenne.map.JoinType
    - org.apache.cayenne.map.LifecycleEvent
    - org.apache.cayenne.access.sqlbuilder.sqltree.NodeType
    - org.apache.cayenne.commitlog.model.ObjectChangeType
    - org.apache.cayenne.query.QueryCacheStrategy
    - org.apache.cayenne.query.SortOrder
    - org.apache.cayenne.tx.TransactionPropagation

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - org.apache.cayenne.access.jdbc.CSParameter<T>
    - org.apache.cayenne.configuration.DataNodeDescriptor
    - org.apache.cayenne.configuration.DataNodeDescriptors
    - org.apache.cayenne.dba.NativeColumnType
    - org.apache.cayenne.query.ProcedureColumn
    - org.apache.cayenne.access.jdbc.PSBatchParameter
    - org.apache.cayenne.access.jdbc.PSParameter<T>
    - org.apache.cayenne.access.jdbc.RSColumn
    - org.apache.cayenne.access.translator.TranslatedBatch (implements org.apache.cayenne.access.translator.TranslatedStatement)
    - org.apache.cayenne.access.translator.TranslatedProcedure (implements org.apache.cayenne.access.translator.TranslatedStatement)
    - org.apache.cayenne.access.translator.TranslatedSelect (implements org.apache.cayenne.access.translator.TranslatedStatement)
    - org.apache.cayenne.access.translator.TranslatedSQL (implements org.apache.cayenne.access.translator.TranslatedStatement)