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
    --- | ---
    `protected Map<Integer,List<org.apache.cayenne.dba.TypesMapping.TypeInfo>>` | `databaseTypes`
    `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_LONGVARBINARY`
    `static String` | `SQL_LONGVARCHAR`
    `static String` | `SQL_NULL`
    `static String` | `SQL_NUMERIC`
    `static String` | `SQL_OTHER`
    `static String` | `SQL_REAL`
    `static String` | `SQL_SMALLINT`
    `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

    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` | `getJavaBySqlType(int type, int length, int scale)` Deprecated. since 3.0. use getJavaBySqlType(int) instead. Not usable since "0" can mean "undefined", not really zero.
    `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` | `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)` 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_CHAR

          public static final String SQL_CHAR

      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_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_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

    - #### databaseTypes

          protected Map<Integer,List<org.apache.cayenne.dba.TypesMapping.TypeInfo>> databaseTypes

  - ### Constructor Detail

    - #### TypesMapping

          public TypesMapping(DatabaseMetaData metaData)
                       throws SQLException

      Throws:
        `SQLException`

  - ### Method Detail

    - #### supportsLength

          public static boolean supportsLength(int type)

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

    - #### 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.

    - #### getJavaBySqlType

          @Deprecated
          public static String getJavaBySqlType(int type,
                                           int length,
                                           int scale)

      Deprecated. since 3.0. use getJavaBySqlType(int) instead. Not usable since "0" can mean "undefined", not really zero.
      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–2014 Apache Cayenne. All rights reserved.