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
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 Details
-
NOT_DEFINED
public static final int NOT_DEFINED- See Also:
- Constant Field Values
-
SQL_ARRAY
- See Also:
- Constant Field Values
-
SQL_BIGINT
- See Also:
- Constant Field Values
-
SQL_BINARY
- See Also:
- Constant Field Values
-
SQL_BIT
- See Also:
- Constant Field Values
-
SQL_BLOB
- See Also:
- Constant Field Values
-
SQL_BOOLEAN
- Since:
- 1.2
- See Also:
- Constant Field Values
-
SQL_CLOB
- See Also:
- Constant Field Values
-
SQL_NCLOB
- See Also:
- Constant Field Values
-
SQL_CHAR
- See Also:
- Constant Field Values
-
SQL_NCHAR
- See Also:
- Constant Field Values
-
SQL_DATE
- See Also:
- Constant Field Values
-
SQL_DECIMAL
- See Also:
- Constant Field Values
-
SQL_DOUBLE
- See Also:
- Constant Field Values
-
SQL_FLOAT
- See Also:
- Constant Field Values
-
SQL_INTEGER
- See Also:
- Constant Field Values
-
SQL_LONGVARCHAR
- See Also:
- Constant Field Values
-
SQL_LONGNVARCHAR
- See Also:
- Constant Field Values
-
SQL_LONGVARBINARY
- See Also:
- Constant Field Values
-
SQL_NUMERIC
- See Also:
- Constant Field Values
-
SQL_REAL
- See Also:
- Constant Field Values
-
SQL_SMALLINT
- See Also:
- Constant Field Values
-
SQL_TINYINT
- See Also:
- Constant Field Values
-
SQL_TIME
- See Also:
- Constant Field Values
-
SQL_TIMESTAMP
- See Also:
- Constant Field Values
-
SQL_VARBINARY
- See Also:
- Constant Field Values
-
SQL_VARCHAR
- See Also:
- Constant Field Values
-
SQL_NVARCHAR
- See Also:
- Constant Field Values
-
SQL_SQLXML
- See Also:
- Constant Field Values
-
SQL_OTHER
- See Also:
- Constant Field Values
-
SQL_NULL
- See Also:
- Constant Field Values
-
JAVA_LONG
- See Also:
- Constant Field Values
-
JAVA_BYTES
- See Also:
- Constant Field Values
-
JAVA_BOOLEAN
- See Also:
- Constant Field Values
-
JAVA_STRING
- See Also:
- Constant Field Values
-
JAVA_SQLDATE
- See Also:
- Constant Field Values
-
JAVA_UTILDATE
- See Also:
- Constant Field Values
-
JAVA_BIGDECIMAL
- See Also:
- Constant Field Values
-
JAVA_DOUBLE
- See Also:
- Constant Field Values
-
JAVA_FLOAT
- See Also:
- Constant Field Values
-
JAVA_INTEGER
- See Also:
- Constant Field Values
-
JAVA_SHORT
- See Also:
- Constant Field Values
-
JAVA_BYTE
- See Also:
- Constant Field Values
-
JAVA_TIME
- See Also:
- Constant Field Values
-
JAVA_TIMESTAMP
- See Also:
- Constant Field Values
-
JAVA_BLOB
- See Also:
- Constant Field Values
-
-
Constructor Details
-
TypesMapping
- Throws:
SQLException
-
-
Method Details
-
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
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
Returns a JDBC int type for SQL typem name. -
getSqlNameByType
Returns a String representation of the SQL type from its JDBC code. -
getSqlTypeByJava
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
Guesses a default JDBC type for the Java class.- Since:
- 1.1
-
getJavaBySqlType
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.
-