Module org.firebirdsql.jaybird
Package org.firebirdsql.jdbc.field

# Class JdbcTypeConverter

java.lang.Object
org.firebirdsql.jdbc.field.JdbcTypeConverter

@InternalApi @NullMarked public final class JdbcTypeConverter extends Object
Helper class to convert from Firebird and metadata type information to JDBC type information.

Since:
  3.0
Author:
  Mark Rotteveel

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static int`
  `fromFirebirdToJdbcType(int firebirdType, int subtype, int scale)`
  Converts from the Firebird type, subtype and scale to the JDBC type value from `Types`.
  `static int`
  `fromMetaDataToFirebirdType(int metaDataType)`
  Converts the metadata type value to the Firebird type value (null bit not set).
  `static int`
  `fromMetaDataToJdbcType(int metaDataType, int subtype, int scale)`
  Converts from the metadata type (as used in the system tables) to JDBC type values from `Types`.
  `static String`
  `getTypeName(int jdbcType, int firebirdType, int subtype, int scale)`
  `static boolean`
  `isJdbcType(FieldDescriptor fieldDescriptor, int jdbcType)`
  Determines if a field descriptor matches a JDBC type value from `Types`.
  `static int`
  `toJdbcType(FieldDescriptor fieldDescriptor)`
  Gets the JDBC type value from `Types` for the field descriptor.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### toJdbcType

    public static int toJdbcType(FieldDescriptor fieldDescriptor)
    Gets the JDBC type value from `Types` for the field descriptor.
    Parameters:
      `fieldDescriptor` - Field descriptor
    Returns:
      JDBC type, or `Types.OTHER` for unknown types

  - ### isJdbcType

    public static boolean isJdbcType(FieldDescriptor fieldDescriptor, int jdbcType)
    Determines if a field descriptor matches a JDBC type value from `Types`.
    Parameters:
      `fieldDescriptor` - Field descritpor
      `jdbcType` - JDBC type
    Returns:
      `true` if the field descriptor and JDBC type are equivalent (using `toJdbcType(FieldDescriptor)`)

  - ### fromFirebirdToJdbcType

    public static int fromFirebirdToJdbcType(int firebirdType, int subtype, int scale)
    Converts from the Firebird type, subtype and scale to the JDBC type value from `Types`.

    This method is not capable of identifying `Types.ROWID`; this will be identified as `Types.BINARY` instead.

    Parameters:
      `firebirdType` - Firebird type value (from `ISCConstants` `SQL_*` with or without nullable bit set
      `subtype` - Subtype
      `scale` - Scale
    Returns:
      JDBC type, or `Types.OTHER` for unknown types

  - ### fromMetaDataToJdbcType

    public static int fromMetaDataToJdbcType(int metaDataType, int subtype, int scale)
    Converts from the metadata type (as used in the system tables) to JDBC type values from `Types`.
    Parameters:
      `metaDataType` - Metadata type value
      `subtype` - Subtype
      `scale` - Scale
    Returns:
      JDBC type, or `Types.OTHER` for unknown types

  - ### fromMetaDataToFirebirdType

    public static int fromMetaDataToFirebirdType(int metaDataType)
    Converts the metadata type value to the Firebird type value (null bit not set).
    Parameters:
      `metaDataType` - Metadata type value
    Returns:
      Firebird type value

  - ### getTypeName

    public static String getTypeName(int jdbcType, int firebirdType, int subtype, int scale)