blob: 25fcf4846733531e1042515067a860a622f5844d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2007 Boeing.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
package org.eclipse.osee.framework.db.connection.info;
import java.math.BigInteger;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
/**
* @author Roberto E. Escobar
*/
public enum SQL3DataType {
BIT(java.sql.Types.BIT, Boolean.class),
TINYINT(java.sql.Types.TINYINT, Integer.class),
SMALLINT(java.sql.Types.SMALLINT, Integer.class),
INTEGER(java.sql.Types.INTEGER, Integer.class),
BIGINT(java.sql.Types.BIGINT, BigInteger.class),
FLOAT(java.sql.Types.FLOAT, Float.class),
REAL(java.sql.Types.REAL, Double.class),
DOUBLE(java.sql.Types.DOUBLE, Double.class),
NUMERIC(java.sql.Types.NUMERIC, Double.class),
DECIMAL(java.sql.Types.DECIMAL, Integer.class),
CHAR(java.sql.Types.CHAR, Character.class),
VARCHAR(java.sql.Types.VARCHAR, String.class),
LONGVARCHAR(java.sql.Types.LONGVARCHAR, String.class),
DATE(java.sql.Types.DATE, Date.class),
TIME(java.sql.Types.TIME, Time.class),
TIMESTAMP(java.sql.Types.TIMESTAMP, Timestamp.class),
BINARY(java.sql.Types.BINARY, Object.class),
VARBINARY(java.sql.Types.VARBINARY, Object.class),
LONGVARBINARY(java.sql.Types.LONGVARBINARY, Object.class),
NULL(java.sql.Types.NULL, Object.class),
OTHER(java.sql.Types.OTHER, Object.class),
JAVA_OBJECT(java.sql.Types.JAVA_OBJECT, Object.class),
DISTINCT(java.sql.Types.DISTINCT, Object.class),
STRUCT(java.sql.Types.STRUCT, Object.class),
ARRAY(java.sql.Types.ARRAY, Object.class),
BLOB(java.sql.Types.BLOB, Object.class),
CLOB(java.sql.Types.CLOB, Object.class),
REF(java.sql.Types.REF, Object.class),
DATALINK(java.sql.Types.DATALINK, Object.class),
BOOLEAN(java.sql.Types.BOOLEAN, Boolean.class);
private Class<?> javaClassEquivalent;
private int sqlTypeNumber;
private static HashMap<Integer, SQL3DataType> typeToEnum = new HashMap<Integer, SQL3DataType>();
private SQL3DataType(int sqlTypeNumber, Class<?> classEquiv) {
this.javaClassEquivalent = classEquiv;
this.sqlTypeNumber = sqlTypeNumber;
}
public int getSQLTypeNumber() {
return sqlTypeNumber;
}
public Class<?> getJavaEquivalentClass() {
return javaClassEquivalent;
}
public static SQL3DataType get(int type) {
if (typeToEnum.isEmpty()) {
for (SQL3DataType enumType : SQL3DataType.values()) {
typeToEnum.put(enumType.sqlTypeNumber, enumType);
}
}
return typeToEnum.get(type);
}
}