You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
262 lines
6.2 KiB
262 lines
6.2 KiB
/*
|
|
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
package java.sql;
|
|
|
|
/**
|
|
* <P>Defines the constants that are used to identify generic
|
|
* SQL types, called JDBC types.
|
|
* <p>
|
|
* @see SQLType
|
|
* @since 1.8
|
|
*/
|
|
public enum JDBCType implements SQLType {
|
|
|
|
/**
|
|
* Identifies the generic SQL type {@code BIT}.
|
|
*/
|
|
BIT(Types.BIT),
|
|
/**
|
|
* Identifies the generic SQL type {@code TINYINT}.
|
|
*/
|
|
TINYINT(Types.TINYINT),
|
|
/**
|
|
* Identifies the generic SQL type {@code SMALLINT}.
|
|
*/
|
|
SMALLINT(Types.SMALLINT),
|
|
/**
|
|
* Identifies the generic SQL type {@code INTEGER}.
|
|
*/
|
|
INTEGER(Types.INTEGER),
|
|
/**
|
|
* Identifies the generic SQL type {@code BIGINT}.
|
|
*/
|
|
BIGINT(Types.BIGINT),
|
|
/**
|
|
* Identifies the generic SQL type {@code FLOAT}.
|
|
*/
|
|
FLOAT(Types.FLOAT),
|
|
/**
|
|
* Identifies the generic SQL type {@code REAL}.
|
|
*/
|
|
REAL(Types.REAL),
|
|
/**
|
|
* Identifies the generic SQL type {@code DOUBLE}.
|
|
*/
|
|
DOUBLE(Types.DOUBLE),
|
|
/**
|
|
* Identifies the generic SQL type {@code NUMERIC}.
|
|
*/
|
|
NUMERIC(Types.NUMERIC),
|
|
/**
|
|
* Identifies the generic SQL type {@code DECIMAL}.
|
|
*/
|
|
DECIMAL(Types.DECIMAL),
|
|
/**
|
|
* Identifies the generic SQL type {@code CHAR}.
|
|
*/
|
|
CHAR(Types.CHAR),
|
|
/**
|
|
* Identifies the generic SQL type {@code VARCHAR}.
|
|
*/
|
|
VARCHAR(Types.VARCHAR),
|
|
/**
|
|
* Identifies the generic SQL type {@code LONGVARCHAR}.
|
|
*/
|
|
LONGVARCHAR(Types.LONGVARCHAR),
|
|
/**
|
|
* Identifies the generic SQL type {@code DATE}.
|
|
*/
|
|
DATE(Types.DATE),
|
|
/**
|
|
* Identifies the generic SQL type {@code TIME}.
|
|
*/
|
|
TIME(Types.TIME),
|
|
/**
|
|
* Identifies the generic SQL type {@code TIMESTAMP}.
|
|
*/
|
|
TIMESTAMP(Types.TIMESTAMP),
|
|
/**
|
|
* Identifies the generic SQL type {@code BINARY}.
|
|
*/
|
|
BINARY(Types.BINARY),
|
|
/**
|
|
* Identifies the generic SQL type {@code VARBINARY}.
|
|
*/
|
|
VARBINARY(Types.VARBINARY),
|
|
/**
|
|
* Identifies the generic SQL type {@code LONGVARBINARY}.
|
|
*/
|
|
LONGVARBINARY(Types.LONGVARBINARY),
|
|
/**
|
|
* Identifies the generic SQL value {@code NULL}.
|
|
*/
|
|
NULL(Types.NULL),
|
|
/**
|
|
* Indicates that the SQL type
|
|
* is database-specific and gets mapped to a Java object that can be
|
|
* accessed via the methods getObject and setObject.
|
|
*/
|
|
OTHER(Types.OTHER),
|
|
/**
|
|
* Indicates that the SQL type
|
|
* is database-specific and gets mapped to a Java object that can be
|
|
* accessed via the methods getObject and setObject.
|
|
*/
|
|
JAVA_OBJECT(Types.JAVA_OBJECT),
|
|
/**
|
|
* Identifies the generic SQL type {@code DISTINCT}.
|
|
*/
|
|
DISTINCT(Types.DISTINCT),
|
|
/**
|
|
* Identifies the generic SQL type {@code STRUCT}.
|
|
*/
|
|
STRUCT(Types.STRUCT),
|
|
/**
|
|
* Identifies the generic SQL type {@code ARRAY}.
|
|
*/
|
|
ARRAY(Types.ARRAY),
|
|
/**
|
|
* Identifies the generic SQL type {@code BLOB}.
|
|
*/
|
|
BLOB(Types.BLOB),
|
|
/**
|
|
* Identifies the generic SQL type {@code CLOB}.
|
|
*/
|
|
CLOB(Types.CLOB),
|
|
/**
|
|
* Identifies the generic SQL type {@code REF}.
|
|
*/
|
|
REF(Types.REF),
|
|
/**
|
|
* Identifies the generic SQL type {@code DATALINK}.
|
|
*/
|
|
DATALINK(Types.DATALINK),
|
|
/**
|
|
* Identifies the generic SQL type {@code BOOLEAN}.
|
|
*/
|
|
BOOLEAN(Types.BOOLEAN),
|
|
|
|
/* JDBC 4.0 Types */
|
|
|
|
/**
|
|
* Identifies the SQL type {@code ROWID}.
|
|
*/
|
|
ROWID(Types.ROWID),
|
|
/**
|
|
* Identifies the generic SQL type {@code NCHAR}.
|
|
*/
|
|
NCHAR(Types.NCHAR),
|
|
/**
|
|
* Identifies the generic SQL type {@code NVARCHAR}.
|
|
*/
|
|
NVARCHAR(Types.NVARCHAR),
|
|
/**
|
|
* Identifies the generic SQL type {@code LONGNVARCHAR}.
|
|
*/
|
|
LONGNVARCHAR(Types.LONGNVARCHAR),
|
|
/**
|
|
* Identifies the generic SQL type {@code NCLOB}.
|
|
*/
|
|
NCLOB(Types.NCLOB),
|
|
/**
|
|
* Identifies the generic SQL type {@code SQLXML}.
|
|
*/
|
|
SQLXML(Types.SQLXML),
|
|
|
|
/* JDBC 4.2 Types */
|
|
|
|
/**
|
|
* Identifies the generic SQL type {@code REF_CURSOR}.
|
|
*/
|
|
REF_CURSOR(Types.REF_CURSOR),
|
|
|
|
/**
|
|
* Identifies the generic SQL type {@code TIME_WITH_TIMEZONE}.
|
|
*/
|
|
TIME_WITH_TIMEZONE(Types.TIME_WITH_TIMEZONE),
|
|
|
|
/**
|
|
* Identifies the generic SQL type {@code TIMESTAMP_WITH_TIMEZONE}.
|
|
*/
|
|
TIMESTAMP_WITH_TIMEZONE(Types.TIMESTAMP_WITH_TIMEZONE);
|
|
|
|
/**
|
|
* The Integer value for the JDBCType. It maps to a value in
|
|
* {@code Types.java}
|
|
*/
|
|
private Integer type;
|
|
|
|
/**
|
|
* Constructor to specify the data type value from {@code Types) for
|
|
* this data type.
|
|
* @param type The value from {@code Types) for this data type
|
|
*/
|
|
JDBCType(final Integer type) {
|
|
this.type = type;
|
|
}
|
|
|
|
/**
|
|
*{@inheritDoc }
|
|
* @return The name of this {@code SQLType}.
|
|
*/
|
|
public String getName() {
|
|
return name();
|
|
}
|
|
/**
|
|
* Returns the name of the vendor that supports this data type.
|
|
* @return The name of the vendor for this data type which is
|
|
* {@literal java.sql} for JDBCType.
|
|
*/
|
|
public String getVendor() {
|
|
return "java.sql";
|
|
}
|
|
|
|
/**
|
|
* Returns the vendor specific type number for the data type.
|
|
* @return An Integer representing the data type. For {@code JDBCType},
|
|
* the value will be the same value as in {@code Types} for the data type.
|
|
*/
|
|
public Integer getVendorTypeNumber() {
|
|
return type;
|
|
}
|
|
/**
|
|
* Returns the {@code JDBCType} that corresponds to the specified
|
|
* {@code Types} value
|
|
* @param type {@code Types} value
|
|
* @return The {@code JDBCType} constant
|
|
* @throws IllegalArgumentException if this enum type has no constant with
|
|
* the specified {@code Types} value
|
|
* @see Types
|
|
*/
|
|
public static JDBCType valueOf(int type) {
|
|
for( JDBCType sqlType : JDBCType.class.getEnumConstants()) {
|
|
if(type == sqlType.type)
|
|
return sqlType;
|
|
}
|
|
throw new IllegalArgumentException("Type:" + type + " is not a valid "
|
|
+ "Types.java value.");
|
|
}
|
|
}
|