# Hierarchy For All Packages

Package Hierarchies:

- org.apache.calcite.avatica,
- org.apache.calcite.avatica.ha,
- org.apache.calcite.avatica.remote,
- org.apache.calcite.avatica.util

## Class Hierarchy

- java.lang.Object
  - org.apache.calcite.avatica.util.AbstractCursor (implements org.apache.calcite.avatica.util.Cursor)
    - org.apache.calcite.avatica.util.PositionedCursor<T>
      - org.apache.calcite.avatica.util.IteratorCursor<E>
        - org.apache.calcite.avatica.util.ArrayIteratorCursor
        - org.apache.calcite.avatica.util.ListIteratorCursor
        - org.apache.calcite.avatica.util.MapIteratorCursor
        - org.apache.calcite.avatica.util.RecordIteratorCursor<E>
  - org.apache.calcite.avatica.util.AbstractCursor.AbstractGetter (implements org.apache.calcite.avatica.util.AbstractCursor.Getter)
    - org.apache.calcite.avatica.util.PositionedCursor.ArrayGetter
    - org.apache.calcite.avatica.util.PositionedCursor.FieldGetter
    - org.apache.calcite.avatica.util.PositionedCursor.ListGetter
    - org.apache.calcite.avatica.util.PositionedCursor.MapGetter<K>
    - org.apache.calcite.avatica.util.PositionedCursor.ObjectGetter
  - org.apache.calcite.avatica.util.AbstractCursor.ArrayAccessor
  - org.apache.calcite.avatica.util.AbstractCursor.SlotGetter (implements org.apache.calcite.avatica.util.AbstractCursor.Getter)
  - org.apache.calcite.avatica.util.AbstractCursor.StructGetter (implements org.apache.calcite.avatica.util.AbstractCursor.Getter)
  - org.apache.calcite.avatica.remote.AbstractHandler<T> (implements org.apache.calcite.avatica.remote.Handler<T>)
    - org.apache.calcite.avatica.remote.JsonHandler
    - org.apache.calcite.avatica.remote.ProtobufHandler
  - org.apache.calcite.avatica.remote.AbstractService (implements org.apache.calcite.avatica.remote.Service)
    - org.apache.calcite.avatica.remote.JsonService
      - org.apache.calcite.avatica.remote.LocalJsonService
      - org.apache.calcite.avatica.remote.MockJsonService
      - org.apache.calcite.avatica.remote.RemoteService
    - org.apache.calcite.avatica.remote.ProtobufService
      - org.apache.calcite.avatica.remote.LocalProtobufService
      - org.apache.calcite.avatica.remote.MockProtobufService
      - org.apache.calcite.avatica.remote.RemoteProtobufService
  - org.apache.calcite.avatica.util.ArrayFactoryImpl (implements org.apache.calcite.avatica.util.ArrayImpl.Factory)
    - org.apache.calcite.avatica.AvaticaResultSet (implements java.sql.ResultSet)
  - org.apache.calcite.avatica.util.ArrayImpl (implements java.sql.Array)
  - org.apache.calcite.avatica.remote.AvaticaCommonsHttpClientImpl (implements org.apache.calcite.avatica.remote.AvaticaHttpClient, org.apache.calcite.avatica.remote.GSSAuthenticateable, org.apache.calcite.avatica.remote.HttpClientPoolConfigurable, org.apache.calcite.avatica.remote.UsernamePasswordAuthenticateable)
  - org.apache.calcite.avatica.AvaticaConnection (implements java.sql.Connection)
  - org.apache.calcite.avatica.AvaticaConnection.Trojan
  - org.apache.calcite.avatica.AvaticaDatabaseMetaData (implements org.apache.calcite.avatica.AvaticaSpecificDatabaseMetaData)
  - org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl (implements org.apache.calcite.avatica.remote.AvaticaHttpClientFactory)
  - org.apache.calcite.avatica.remote.AvaticaHttpClientImpl (implements org.apache.calcite.avatica.remote.AvaticaHttpClient)
  - org.apache.calcite.avatica.AvaticaParameter
  - org.apache.calcite.avatica.AvaticaResultSetMetaData (implements java.sql.ResultSetMetaData)
  - org.apache.calcite.avatica.AvaticaSite
  - org.apache.calcite.avatica.AvaticaStatement (implements java.sql.Statement)
    - org.apache.calcite.avatica.AvaticaPreparedStatement (implements java.sql.ParameterMetaData, java.sql.PreparedStatement)
  - org.apache.calcite.avatica.AvaticaUtils
  - org.apache.calcite.avatica.util.Base64
  - org.apache.calcite.avatica.util.ByteString (implements java.lang.Comparable<T>, java.io.Serializable)
  - org.apache.calcite.avatica.ColumnMetaData
  - org.apache.calcite.avatica.ColumnMetaData.AvaticaType
    - org.apache.calcite.avatica.ColumnMetaData.ArrayType
    - org.apache.calcite.avatica.ColumnMetaData.ScalarType
    - org.apache.calcite.avatica.ColumnMetaData.StructType
  - org.apache.calcite.avatica.remote.CommonsHttpClientPoolCache
  - javax.security.auth.login.Configuration
    - org.apache.calcite.avatica.remote.ClientKeytabJaasConf
  - org.apache.calcite.avatica.ConnectionConfigImpl (implements org.apache.calcite.avatica.ConnectionConfig)
    - org.apache.calcite.avatica.remote.AvaticaRemoteConnectionConfigImpl
  - org.apache.calcite.avatica.ConnectionConfigImpl.PropEnv
  - org.apache.calcite.avatica.ConnectionPropertiesImpl (implements org.apache.calcite.avatica.Meta.ConnectionProperties)
  - org.apache.calcite.avatica.ConnectStringParser
  - org.apache.calcite.avatica.util.DateTimeUtils
  - org.apache.calcite.avatica.util.DateTimeUtils.PrecisionTime
  - org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient (implements org.apache.calcite.avatica.remote.AvaticaHttpClient)
  - org.apache.calcite.avatica.DriverVersion
  - org.apache.calcite.avatica.util.FilteredConstants
  - org.apache.calcite.avatica.remote.Handler.HandlerResponse<T>
  - org.apache.calcite.avatica.HandlerImpl (implements org.apache.calcite.avatica.Handler)
  - org.apache.calcite.avatica.Helper
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.FilterInputStream
      - org.apache.calcite.avatica.util.Base64.InputStream
  - org.apache.calcite.avatica.remote.KerberosConnection
  - org.apache.calcite.avatica.remote.LocalService (implements org.apache.calcite.avatica.remote.Service)
  - org.apache.calcite.avatica.Meta.ConnectionHandle
  - org.apache.calcite.avatica.Meta.CursorFactory
  - org.apache.calcite.avatica.Meta.ExecuteBatchResult
  - org.apache.calcite.avatica.Meta.ExecuteResult
  - org.apache.calcite.avatica.Meta.Frame
  - org.apache.calcite.avatica.Meta.MetaResultSet
  - org.apache.calcite.avatica.Meta.Pat
  - org.apache.calcite.avatica.Meta.Signature
  - org.apache.calcite.avatica.Meta.StatementHandle
  - org.apache.calcite.avatica.MetaImpl (implements org.apache.calcite.avatica.Meta)
  - org.apache.calcite.avatica.MetaImpl.MetaAttribute
  - org.apache.calcite.avatica.MetaImpl.MetaBestRowIdentifier
  - org.apache.calcite.avatica.MetaImpl.MetaCatalog (implements org.apache.calcite.avatica.MetaImpl.Named)
  - org.apache.calcite.avatica.MetaImpl.MetaClientInfoProperty
  - org.apache.calcite.avatica.MetaImpl.MetaColumn (implements org.apache.calcite.avatica.MetaImpl.Named)
  - org.apache.calcite.avatica.MetaImpl.MetaColumnPrivilege
  - org.apache.calcite.avatica.MetaImpl.MetaCrossReference
  - org.apache.calcite.avatica.MetaImpl.MetaExportedKey
  - org.apache.calcite.avatica.MetaImpl.MetaFunction
  - org.apache.calcite.avatica.MetaImpl.MetaFunctionColumn
  - org.apache.calcite.avatica.MetaImpl.MetaImportedKey
  - org.apache.calcite.avatica.MetaImpl.MetaIndexInfo
  - org.apache.calcite.avatica.MetaImpl.MetaPrimaryKey
  - org.apache.calcite.avatica.MetaImpl.MetaProcedure
  - org.apache.calcite.avatica.MetaImpl.MetaProcedureColumn
  - org.apache.calcite.avatica.MetaImpl.MetaPseudoColumn
  - org.apache.calcite.avatica.MetaImpl.MetaSchema (implements org.apache.calcite.avatica.MetaImpl.Named)
  - org.apache.calcite.avatica.MetaImpl.MetaSuperTable
  - org.apache.calcite.avatica.MetaImpl.MetaSuperType
  - org.apache.calcite.avatica.MetaImpl.MetaTable (implements org.apache.calcite.avatica.MetaImpl.Named)
  - org.apache.calcite.avatica.MetaImpl.MetaTablePrivilege
  - org.apache.calcite.avatica.MetaImpl.MetaTableType
  - org.apache.calcite.avatica.MetaImpl.MetaTypeInfo (implements org.apache.calcite.avatica.MetaImpl.Named)
  - org.apache.calcite.avatica.MetaImpl.MetaUdt
  - org.apache.calcite.avatica.MetaImpl.MetaVersionColumn
  - org.apache.calcite.avatica.remote.MetricsHelper
  - org.apache.calcite.avatica.remote.MockJsonService.Factory (implements org.apache.calcite.avatica.remote.Service.Factory)
  - org.apache.calcite.avatica.remote.MockProtobufService.MockProtobufServiceFactory (implements org.apache.calcite.avatica.remote.Service.Factory)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.FilterOutputStream
      - org.apache.calcite.avatica.util.Base64.OutputStream
    - org.apache.calcite.avatica.util.UnsynchronizedBuffer
  - org.apache.calcite.avatica.remote.ProtobufTranslationImpl (implements org.apache.calcite.avatica.remote.ProtobufTranslation)
  - org.apache.calcite.avatica.QueryState
  - org.apache.calcite.avatica.ha.RandomSelectLBStrategy (implements org.apache.calcite.avatica.ha.LBStrategy)
  - org.apache.calcite.avatica.ha.RoundRobinLBStrategy (implements org.apache.calcite.avatica.ha.LBStrategy)
  - org.apache.calcite.avatica.remote.Service.Base
    - org.apache.calcite.avatica.remote.Service.Request
      - org.apache.calcite.avatica.remote.Service.CatalogsRequest
      - org.apache.calcite.avatica.remote.Service.CloseConnectionRequest
      - org.apache.calcite.avatica.remote.Service.CloseStatementRequest
      - org.apache.calcite.avatica.remote.Service.ColumnsRequest
      - org.apache.calcite.avatica.remote.Service.CommitRequest
      - org.apache.calcite.avatica.remote.Service.ConnectionSyncRequest
      - org.apache.calcite.avatica.remote.Service.CreateStatementRequest
      - org.apache.calcite.avatica.remote.Service.DatabasePropertyRequest
      - org.apache.calcite.avatica.remote.Service.ExecuteBatchRequest
      - org.apache.calcite.avatica.remote.Service.ExecuteRequest
      - org.apache.calcite.avatica.remote.Service.FetchRequest
      - org.apache.calcite.avatica.remote.Service.OpenConnectionRequest
      - org.apache.calcite.avatica.remote.Service.PrepareAndExecuteBatchRequest
      - org.apache.calcite.avatica.remote.Service.PrepareAndExecuteRequest
      - org.apache.calcite.avatica.remote.Service.PrepareRequest
      - org.apache.calcite.avatica.remote.Service.RollbackRequest
      - org.apache.calcite.avatica.remote.Service.SchemasRequest
      - org.apache.calcite.avatica.remote.Service.SyncResultsRequest
      - org.apache.calcite.avatica.remote.Service.TablesRequest
      - org.apache.calcite.avatica.remote.Service.TableTypesRequest
      - org.apache.calcite.avatica.remote.Service.TypeInfoRequest
    - org.apache.calcite.avatica.remote.Service.Response
      - org.apache.calcite.avatica.remote.Service.CloseConnectionResponse
      - org.apache.calcite.avatica.remote.Service.CloseStatementResponse
      - org.apache.calcite.avatica.remote.Service.CommitResponse
      - org.apache.calcite.avatica.remote.Service.ConnectionSyncResponse
      - org.apache.calcite.avatica.remote.Service.CreateStatementResponse
      - org.apache.calcite.avatica.remote.Service.DatabasePropertyResponse
      - org.apache.calcite.avatica.remote.Service.ErrorResponse
      - org.apache.calcite.avatica.remote.Service.ExecuteBatchResponse
      - org.apache.calcite.avatica.remote.Service.ExecuteResponse
      - org.apache.calcite.avatica.remote.Service.FetchResponse
      - org.apache.calcite.avatica.remote.Service.OpenConnectionResponse
      - org.apache.calcite.avatica.remote.Service.PrepareResponse
      - org.apache.calcite.avatica.remote.Service.ResultSetResponse
      - org.apache.calcite.avatica.remote.Service.RollbackResponse
      - org.apache.calcite.avatica.remote.Service.RpcMetadataResponse
      - org.apache.calcite.avatica.remote.Service.SyncResultsResponse
  - org.apache.calcite.avatica.ha.ShuffledRoundRobinLBStrategy (implements org.apache.calcite.avatica.ha.LBStrategy)
  - org.apache.calcite.avatica.util.Sources
  - org.apache.calcite.avatica.util.Spacer
  - org.apache.calcite.avatica.util.Spaces
  - org.apache.calcite.avatica.util.StructImpl (implements java.sql.Struct)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.apache.calcite.avatica.MissingResultsException
      - org.apache.calcite.avatica.NoSuchStatementException
      - java.lang.RuntimeException
        - org.apache.calcite.avatica.AvaticaClientRuntimeException
        - org.apache.calcite.avatica.remote.AvaticaRuntimeException
        - org.apache.calcite.avatica.NoSuchConnectionException
      - java.sql.SQLException (implements java.lang.Iterable<T>)
        - org.apache.calcite.avatica.AvaticaSqlException
  - org.apache.calcite.avatica.remote.TypedValue
  - org.apache.calcite.avatica.UnregisteredDriver (implements java.sql.Driver)
    - org.apache.calcite.avatica.remote.Driver
  - org.apache.calcite.avatica.util.Unsafe

## Interface Hierarchy

- org.apache.calcite.avatica.util.AbstractCursor.Getter
- org.apache.calcite.avatica.util.ArrayImpl.Factory
- java.lang.AutoCloseable
  - org.apache.calcite.avatica.util.Cursor
- org.apache.calcite.avatica.AvaticaConnection.CallableWithoutException<T>
- org.apache.calcite.avatica.AvaticaFactory
- org.apache.calcite.avatica.remote.AvaticaHttpClient
- org.apache.calcite.avatica.remote.AvaticaHttpClientFactory
- org.apache.calcite.avatica.ConnectionConfig
- org.apache.calcite.avatica.ConnectionConfigImpl.Converter<T>
- org.apache.calcite.avatica.ConnectionProperty
- org.apache.calcite.avatica.util.Cursor.Accessor
- org.apache.calcite.avatica.remote.GSSAuthenticateable
- org.apache.calcite.avatica.Handler
- org.apache.calcite.avatica.remote.Handler<T>
- org.apache.calcite.avatica.Handler.ResultSink
- org.apache.calcite.avatica.remote.HostnameVerificationConfigurable
- org.apache.calcite.avatica.remote.HttpClientPoolConfigurable
- org.apache.calcite.avatica.remote.KeyStoreConfigurable
- org.apache.calcite.avatica.ha.LBStrategy
- org.apache.calcite.avatica.Meta
  - org.apache.calcite.avatica.remote.ProtobufMeta
- org.apache.calcite.avatica.Meta.ConnectionProperties
- org.apache.calcite.avatica.Meta.Factory
- org.apache.calcite.avatica.Meta.PrepareCallback
- org.apache.calcite.avatica.MetaImpl.Named
- org.apache.calcite.avatica.remote.ProtobufTranslation
- org.apache.calcite.avatica.remote.Service
- org.apache.calcite.avatica.remote.Service.Factory
- org.apache.calcite.avatica.util.Source
- org.apache.calcite.avatica.util.StructImpl.Factory
- org.apache.calcite.avatica.remote.TrustStoreConfigurable
- org.apache.calcite.avatica.remote.UsernamePasswordAuthenticateable
- java.sql.Wrapper
  - java.sql.DatabaseMetaData
    - org.apache.calcite.avatica.AvaticaSpecificDatabaseMetaData

## Annotation Type Hierarchy

- org.apache.calcite.avatica.MetaImpl.ColumnNullable (implements java.lang.annotation.Annotation)
- org.apache.calcite.avatica.MetaImpl.ColumnNullableUnknown (implements java.lang.annotation.Annotation)
- org.apache.calcite.avatica.MetaImpl.ColumnNoNulls (implements java.lang.annotation.Annotation)
- org.apache.calcite.avatica.util.PackageMarker (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.calcite.avatica.AvaticaSeverity
    - org.apache.calcite.avatica.BuiltInConnectionProperty (implements org.apache.calcite.avatica.ConnectionProperty)
    - org.apache.calcite.avatica.ColumnMetaData.Rep
    - org.apache.calcite.avatica.ConnectionProperty.Type
    - org.apache.calcite.avatica.InternalProperty
    - org.apache.calcite.avatica.Meta.DatabaseProperty
    - org.apache.calcite.avatica.Meta.Style
    - org.apache.calcite.avatica.Meta.StatementType
    - org.apache.calcite.avatica.QueryState.StateType
    - org.apache.calcite.avatica.remote.AuthenticationType
    - org.apache.calcite.avatica.remote.AvaticaRemoteConnectionProperty (implements org.apache.calcite.avatica.ConnectionProperty)
    - org.apache.calcite.avatica.remote.Driver.Serialization
    - org.apache.calcite.avatica.remote.HostnameVerificationConfigurable.HostnameVerification
    - org.apache.calcite.avatica.remote.MetaDataOperation
    - org.apache.calcite.avatica.SqlState
    - org.apache.calcite.avatica.SqlType
    - org.apache.calcite.avatica.SqlType.Method
    - org.apache.calcite.avatica.UnregisteredDriver.JdbcVersion
    - org.apache.calcite.avatica.util.Casing
    - org.apache.calcite.avatica.util.Quoting
    - org.apache.calcite.avatica.util.TimeUnit
    - org.apache.calcite.avatica.util.TimeUnitRange