Package 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
-
Constructor Summary
Constructors Constructor Description TypesMapping(DatabaseMetaData metaData)
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method 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.
-
-
-
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.
-
-