org.apache.cayenne.dba

## Class TypesMapping

- java.lang.Object
- - org.apache.cayenne.dba.TypesMapping

-     public class TypesMapping
      extends Object

  A utility class that handles mappings of JDBC data types to the database types and Java types. Also contains methods that provide information about JDBC types.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `JAVA_BIGDECIMAL`
    `static String` | `JAVA_BLOB`
    `static String` | `JAVA_BOOLEAN`
    `static String` | `JAVA_BYTE`
    `static String` | `JAVA_BYTES`
    `static String` | `JAVA_DOUBLE`
    `static String` | `JAVA_FLOAT`
    `static String` | `JAVA_INTEGER`
    `static String` | `JAVA_LONG`
    `static String` | `JAVA_SHORT`
    `static String` | `JAVA_SQLDATE`
    `static String` | `JAVA_STRING`
    `static String` | `JAVA_TIME`
    `static String` | `JAVA_TIMESTAMP`
    `static String` | `JAVA_UTILDATE`
    `static int` | `NOT_DEFINED`
    `static String` | `SQL_ARRAY`
    `static String` | `SQL_BIGINT`
    `static String` | `SQL_BINARY`
    `static String` | `SQL_BIT`
    `static String` | `SQL_BLOB`
    `static String` | `SQL_BOOLEAN`
    `static String` | `SQL_CHAR`
    `static String` | `SQL_CLOB`
    `static String` | `SQL_DATE`
    `static String` | `SQL_DECIMAL`
    `static String` | `SQL_DOUBLE`
    `static String` | `SQL_FLOAT`
    `static String` | `SQL_INTEGER`
    `static String` | `SQL_LONGNVARCHAR`
    `static String` | `SQL_LONGVARBINARY`
    `static String` | `SQL_LONGVARCHAR`
    `static String` | `SQL_NCHAR`
    `static String` | `SQL_NCLOB`
    `static String` | `SQL_NULL`
    `static String` | `SQL_NUMERIC`
    `static String` | `SQL_NVARCHAR`
    `static String` | `SQL_OTHER`
    `static String` | `SQL_REAL`
    `static String` | `SQL_SMALLINT`
    `static String` | `SQL_SQLXML`
    `static String` | `SQL_TIME`
    `static String` | `SQL_TIMESTAMP`
    `static String` | `SQL_TINYINT`
    `static String` | `SQL_VARBINARY`
    `static String` | `SQL_VARCHAR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypesMapping(DatabaseMetaData metaData)`

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String[]` | `getDatabaseTypes()` Returns an array of string names of the default JDBC data types.
    `static String` | `getJavaBySqlType(int type)` Get the corresponding Java type by its java.sql.Types counterpart.
    `static String` | `getSqlNameByType(int type)` Returns a String representation of the SQL type from its JDBC code.
    `static int` | `getSqlTypeByJava(Class<?> javaClass)` Guesses a default JDBC type for the Java class.
    `static int` | `getSqlTypeByJava(String className)` Returns default java.sql.Types type by the Java type name.
    `static int` | `getSqlTypeByName(String typeName)` Returns a JDBC int type for SQL typem name.
    `static boolean` | `isBinary(int type)` Returns true if supplied type is a binary type.
    `static boolean` | `isCharacter(int type)` Returns true if supplied type is a character type.
    `static boolean` | `isDecimal(int type)` Returns true if supplied type is a decimal type.
    `static boolean` | `isNumeric(int type)` Returns true if supplied type is a numeric type.
    `protected static String` | `pickDataType(int jdbcType, org.apache.cayenne.dba.TypesMapping.TypeInfo[] alts)` Method implements an algorithm to pick a data type from a list of alternatives that most closely matches JDBC data type.
    `static boolean` | `supportsLength(int type)` Deprecated. Returns true if supplied type can have a length attribute as a part of column definition.

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

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

- - ### Field Detail

    - #### NOT_DEFINED

          public static final int NOT_DEFINED

      See Also:
        Constant Field Values

    - #### SQL_ARRAY

          public static final String SQL_ARRAY

      See Also:
        Constant Field Values

    - #### SQL_BIGINT

          public static final String SQL_BIGINT

      See Also:
        Constant Field Values

    - #### SQL_BINARY

          public static final String SQL_BINARY

      See Also:
        Constant Field Values

    - #### SQL_BIT

          public static final String SQL_BIT

      See Also:
        Constant Field Values

    - #### SQL_BLOB

          public static final String SQL_BLOB

      See Also:
        Constant Field Values

    - #### SQL_BOOLEAN

          public static final String SQL_BOOLEAN

      Since:
        1.2
      See Also:
        Constant Field Values

    - #### SQL_CLOB

          public static final String SQL_CLOB

      See Also:
        Constant Field Values

    - #### SQL_NCLOB

          public static final String SQL_NCLOB

      See Also:
        Constant Field Values

    - #### SQL_CHAR

          public static final String SQL_CHAR

      See Also:
        Constant Field Values

    - #### SQL_NCHAR

          public static final String SQL_NCHAR

      See Also:
        Constant Field Values

    - #### SQL_DATE

          public static final String SQL_DATE

      See Also:
        Constant Field Values

    - #### SQL_DECIMAL

          public static final String SQL_DECIMAL

      See Also:
        Constant Field Values

    - #### SQL_DOUBLE

          public static final String SQL_DOUBLE

      See Also:
        Constant Field Values

    - #### SQL_FLOAT

          public static final String SQL_FLOAT

      See Also:
        Constant Field Values

    - #### SQL_INTEGER

          public static final String SQL_INTEGER

      See Also:
        Constant Field Values

    - #### SQL_LONGVARCHAR

          public static final String SQL_LONGVARCHAR

      See Also:
        Constant Field Values

    - #### SQL_LONGNVARCHAR

          public static final String SQL_LONGNVARCHAR

      See Also:
        Constant Field Values

    - #### SQL_LONGVARBINARY

          public static final String SQL_LONGVARBINARY

      See Also:
        Constant Field Values

    - #### SQL_NUMERIC

          public static final String SQL_NUMERIC

      See Also:
        Constant Field Values

    - #### SQL_REAL

          public static final String SQL_REAL

      See Also:
        Constant Field Values

    - #### SQL_SMALLINT

          public static final String SQL_SMALLINT

      See Also:
        Constant Field Values

    - #### SQL_TINYINT

          public static final String SQL_TINYINT

      See Also:
        Constant Field Values

    - #### SQL_TIME

          public static final String SQL_TIME

      See Also:
        Constant Field Values

    - #### SQL_TIMESTAMP

          public static final String SQL_TIMESTAMP

      See Also:
        Constant Field Values

    - #### SQL_VARBINARY

          public static final String SQL_VARBINARY

      See Also:
        Constant Field Values

    - #### SQL_VARCHAR

          public static final String SQL_VARCHAR

      See Also:
        Constant Field Values

    - #### SQL_NVARCHAR

          public static final String SQL_NVARCHAR

      See Also:
        Constant Field Values

    - #### SQL_SQLXML

          public static final String SQL_SQLXML

      See Also:
        Constant Field Values

    - #### SQL_OTHER

          public static final String SQL_OTHER

      See Also:
        Constant Field Values

    - #### SQL_NULL

          public static final String SQL_NULL

      See Also:
        Constant Field Values

    - #### JAVA_LONG

          public static final String JAVA_LONG

      See Also:
        Constant Field Values

    - #### JAVA_BYTES

          public static final String JAVA_BYTES

      See Also:
        Constant Field Values

    - #### JAVA_BOOLEAN

          public static final String JAVA_BOOLEAN

      See Also:
        Constant Field Values

    - #### JAVA_STRING

          public static final String JAVA_STRING

      See Also:
        Constant Field Values

    - #### JAVA_SQLDATE

          public static final String JAVA_SQLDATE

      See Also:
        Constant Field Values

    - #### JAVA_UTILDATE

          public static final String JAVA_UTILDATE

      See Also:
        Constant Field Values

    - #### JAVA_BIGDECIMAL

          public static final String JAVA_BIGDECIMAL

      See Also:
        Constant Field Values

    - #### JAVA_DOUBLE

          public static final String JAVA_DOUBLE

      See Also:
        Constant Field Values

    - #### JAVA_FLOAT

          public static final String JAVA_FLOAT

      See Also:
        Constant Field Values

    - #### JAVA_INTEGER

          public static final String JAVA_INTEGER

      See Also:
        Constant Field Values

    - #### JAVA_SHORT

          public static final String JAVA_SHORT

      See Also:
        Constant Field Values

    - #### JAVA_BYTE

          public static final String JAVA_BYTE

      See Also:
        Constant Field Values

    - #### JAVA_TIME

          public static final String JAVA_TIME

      See Also:
        Constant Field Values

    - #### JAVA_TIMESTAMP

          public static final String JAVA_TIMESTAMP

      See Also:
        Constant Field Values

    - #### JAVA_BLOB

          public static final String JAVA_BLOB

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TypesMapping

          public TypesMapping(DatabaseMetaData metaData)
                       throws SQLException

      Throws:
        `SQLException`

  - ### Method Detail

    - #### supportsLength

          public static boolean supportsLength(int type)

      Deprecated. Returns true if supplied type can have a length attribute as a part of column definition.

    - #### isCharacter

          public static boolean isCharacter(int type)

      Returns true if supplied type is a character type.
      Parameters:
        `type` - JDBC type
      Returns:
        true if supplied type is a character type.
      Since:
        4.0

    - #### isBinary

          public static boolean isBinary(int type)

      Returns true if supplied type is a binary type.
      Parameters:
        `type` - JDBC type
      Returns:
        true if supplied type is a binary type.
      Since:
        4.0

    - #### isNumeric

          public static boolean isNumeric(int type)

      Returns true if supplied type is a numeric type.

    - #### isDecimal

          public static boolean isDecimal(int type)

      Returns true if supplied type is a decimal type.

    - #### getDatabaseTypes

          public static String[] getDatabaseTypes()

      Returns an array of string names of the default JDBC data types.

    - #### pickDataType

          protected static String pickDataType(int jdbcType,
                                               org.apache.cayenne.dba.TypesMapping.TypeInfo[] alts)

      Method implements an algorithm to pick a data type from a list of alternatives that most closely matches JDBC data type.

    - #### getSqlTypeByName

          public static int getSqlTypeByName(String typeName)

      Returns a JDBC int type for SQL typem name.

    - #### getSqlNameByType

          public static String getSqlNameByType(int type)

      Returns a String representation of the SQL type from its JDBC code.

    - #### getSqlTypeByJava

          public static int getSqlTypeByJava(String className)

      Returns default java.sql.Types type by the Java type name.
      Parameters:
        `className` - Fully qualified Java Class name.
      Returns:
        The SQL type or NOT_DEFINED if no type found.

    - #### getSqlTypeByJava

          public static int getSqlTypeByJava(Class<?> javaClass)

      Guesses a default JDBC type for the Java class.
      Since:
        1.1

    - #### getJavaBySqlType

          public static String getJavaBySqlType(int type)

      Get the corresponding Java type by its java.sql.Types counterpart. Note that this method should be used as a last resort, with explicit mapping provided by user used as a first choice, as it can only guess how to map certain types, such as NUMERIC, etc.
      Returns:
        Fully qualified Java type name or null if not found.

Copyright © 2001–2021 Apache Cayenne. All rights reserved.