Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

Author:
  Michael Shengaout, Andrus Adamchik

Field Summary
`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_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
`TypesMapping(DatabaseMetaData metaData)`

Method Summary
`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)` 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` | `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

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

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

  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 Apache Cayenne. All Rights Reserved.