# Hierarchy For All Packages

Package Hierarchies:

- com.google.cloud.spanner,
- com.google.cloud.spanner.jdbc

## Class Hierarchy

- java.lang.Object
  - com.google.cloud.spanner.jdbc.JdbcConstants
  - com.google.cloud.spanner.jdbc.JdbcDataSource (implements javax.sql.DataSource)
  - com.google.cloud.spanner.JdbcDataTypeConverter
  - com.google.cloud.spanner.jdbc.JdbcDriver (implements java.sql.Driver)
  - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory
  - com.google.cloud.spanner.jdbc.JsonType (implements java.sql.SQLType)
  - com.google.cloud.spanner.jdbc.PgJsonbType (implements java.sql.SQLType)
  - com.google.cloud.spanner.jdbc.ProtoEnumType (implements java.sql.SQLType)
  - com.google.cloud.spanner.jdbc.ProtoMessageType (implements java.sql.SQLType)
  - com.google.cloud.spanner.SessionPoolOptionsHelper
  - com.google.cloud.spanner.jdbc.SpannerPool
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.sql.SQLException (implements java.lang.Iterable<T>)
        - java.sql.BatchUpdateException
          - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcSqlBatchUpdateException (implements com.google.cloud.spanner.jdbc.JdbcSqlException)
        - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcSqlExceptionImpl (implements com.google.cloud.spanner.jdbc.JdbcSqlException)
          - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcAbortedException
            - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcAbortedDueToConcurrentModificationException
        - java.sql.SQLClientInfoException
          - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcSqlClientInfoException (implements com.google.cloud.spanner.jdbc.JdbcSqlException)
        - java.sql.SQLNonTransientException
          - java.sql.SQLFeatureNotSupportedException
            - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcSqlFeatureNotSupportedException (implements com.google.cloud.spanner.jdbc.JdbcSqlException)
        - java.sql.SQLTransientException
          - java.sql.SQLTimeoutException
            - com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.JdbcSqlTimeoutException (implements com.google.cloud.spanner.jdbc.JdbcSqlException)

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.sql.Connection (also extends java.sql.Wrapper)
    - com.google.cloud.spanner.jdbc.CloudSpannerJdbcConnection
  - java.sql.ResultSet (also extends java.sql.Wrapper)
    - com.google.cloud.spanner.jdbc.CloudSpannerJdbcPartitionedQueryResultSet
  - java.sql.Statement (also extends java.sql.Wrapper)
    - com.google.cloud.spanner.jdbc.CloudSpannerJdbcStatement
    - java.sql.PreparedStatement
      - com.google.cloud.spanner.jdbc.CloudSpannerJdbcPreparedStatement
- com.google.cloud.spanner.jdbc.JdbcSqlException
- com.google.cloud.spanner.jdbc.TransactionRetryListener
- java.sql.Wrapper
  - java.sql.Connection (also extends java.lang.AutoCloseable)
    - com.google.cloud.spanner.jdbc.CloudSpannerJdbcConnection
  - java.sql.ResultSet (also extends java.lang.AutoCloseable)
    - com.google.cloud.spanner.jdbc.CloudSpannerJdbcPartitionedQueryResultSet
  - java.sql.Statement (also extends java.lang.AutoCloseable)
    - com.google.cloud.spanner.jdbc.CloudSpannerJdbcStatement
    - java.sql.PreparedStatement
      - com.google.cloud.spanner.jdbc.CloudSpannerJdbcPreparedStatement

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.google.cloud.spanner.jdbc.TransactionRetryListener.RetryResult