# Hierarchy For All Packages

Package Hierarchies:

- net.snowflake.client.api.auth,
- net.snowflake.client.api.connection,
- net.snowflake.client.api.datasource,
- net.snowflake.client.api.driver,
- net.snowflake.client.api.exception,
- net.snowflake.client.api.http,
- net.snowflake.client.api.loader,
- net.snowflake.client.api.pooling,
- net.snowflake.client.api.resultset,
- net.snowflake.client.api.statement,
- net.snowflake.client.jdbc

## Class Hierarchy

- java.lang.Object
  - net.snowflake.client.api.connection.DownloadStreamConfig
  - net.snowflake.client.api.connection.DownloadStreamConfig.Builder
  - net.snowflake.client.api.loader.LoaderFactory
  - net.snowflake.client.api.loader.LoadingError
  - net.snowflake.client.api.resultset.QueryStatus
  - net.snowflake.client.api.pooling.SnowflakeConnectionPoolDataSourceFactory
  - net.snowflake.client.api.datasource.SnowflakeDataSourceFactory
  - net.snowflake.client.api.driver.SnowflakeDriver (implements java.sql.Driver)
    - net.snowflake.client.jdbc.SnowflakeDriver (implements java.sql.Driver)
  - net.snowflake.client.api.resultset.SnowflakeResultSetSerializable.ResultSetRetrieveConfig
  - net.snowflake.client.api.resultset.SnowflakeResultSetSerializable.ResultSetRetrieveConfig.Builder
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - net.snowflake.client.api.loader.Loader.ConnectionError
        - net.snowflake.client.api.loader.Loader.DataError
      - java.sql.SQLException (implements java.lang.Iterable<T>)
        - net.snowflake.client.api.exception.SnowflakeSQLException
  - net.snowflake.client.api.connection.UploadStreamConfig
  - net.snowflake.client.api.connection.UploadStreamConfig.Builder

## Interface Hierarchy

- java.lang.AutoCloseable
  - net.snowflake.client.api.loader.Loader
- javax.sql.CommonDataSource
  - javax.sql.ConnectionPoolDataSource
    - net.snowflake.client.api.pooling.SnowflakeConnectionPoolDataSource (also extends net.snowflake.client.api.datasource.SnowflakeDataSource)
  - javax.sql.DataSource (also extends java.sql.Wrapper)
    - net.snowflake.client.api.datasource.SnowflakeDataSource
      - net.snowflake.client.api.pooling.SnowflakeConnectionPoolDataSource (also extends javax.sql.ConnectionPoolDataSource)
- net.snowflake.client.api.resultset.FieldMetadata
- net.snowflake.client.api.http.HttpHeadersCustomizer
- net.snowflake.client.api.loader.LoadResultListener
- net.snowflake.client.api.connection.SnowflakeConnection
- net.snowflake.client.api.statement.SnowflakePreparedStatement
- net.snowflake.client.api.resultset.SnowflakeResultSet
  - net.snowflake.client.api.resultset.SnowflakeAsyncResultSet
- net.snowflake.client.api.resultset.SnowflakeResultSetMetaData
- net.snowflake.client.api.resultset.SnowflakeResultSetSerializable
- net.snowflake.client.api.statement.SnowflakeStatement
- java.sql.Wrapper
  - java.sql.DatabaseMetaData
    - net.snowflake.client.api.connection.SnowflakeDatabaseMetaData
  - javax.sql.DataSource (also extends javax.sql.CommonDataSource)
    - net.snowflake.client.api.datasource.SnowflakeDataSource
      - net.snowflake.client.api.pooling.SnowflakeConnectionPoolDataSource (also extends javax.sql.ConnectionPoolDataSource)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - net.snowflake.client.api.auth.AuthenticatorType
    - net.snowflake.client.api.exception.ErrorCode
    - net.snowflake.client.api.loader.LoaderProperty
    - net.snowflake.client.api.loader.LoadingError.ErrorProperty
    - net.snowflake.client.api.loader.Operation
    - net.snowflake.client.api.resultset.QueryStatus.Status
    - net.snowflake.client.api.resultset.SnowflakeType