diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/JDBCType.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/JDBCType.java | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/JDBCType.java b/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/JDBCType.java deleted file mode 100644 index fccea11fec..0000000000 --- a/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/JDBCType.java +++ /dev/null @@ -1,167 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2007 Oracle. 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: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.utility.internal; - -import java.io.Serializable; -import java.lang.reflect.Field; -import java.sql.Types; -import java.text.Collator; - -/** - * Associate the Java constant and the JDBC type name. - * These are derived from java.sql.Types. - * - * @see java.sql.Types - */ -public final class JDBCType - implements Comparable<JDBCType>, Cloneable, Serializable -{ - - /** - * the constant name (e.g. VARCHAR) - */ - private final String name; - - /** - * the JDBC code used by JDBC drivers - */ - private final int code; - - private static final long serialVersionUID = 1L; - - - // ********** constructors ********** - - /** - * Construct a JDBC type with the specified name and type code. - * This is private because all the possible JDBC types are built and - * stored in the static array TYPES. - * @see #types() - */ - private JDBCType(String name, int code) { - super(); - this.name = name; - this.code = code; - } - - - // ********** accessors ********** - - /** - * Return the name of the type, as defined in java.sql.Types. - */ - public String getName() { - return this.name; - } - - - /** - * Return the type code, as defined in java.sql.Types. - */ - public int getCode() { - return this.code; - } - - - // ********** printing and displaying ********** - - public void appendTo(StringBuffer sb) { - sb.append(this.name); - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append(ClassTools.shortClassNameForObject(this)); - sb.append('('); - this.appendTo(sb); - sb.append(')'); - return sb.toString(); - } - - @Override - public JDBCType clone() { - try { - return (JDBCType) super.clone(); - } catch (CloneNotSupportedException ex) { - throw new InternalError(); - } - } - - public int compareTo(JDBCType type) { - return Collator.getInstance().compare(this.name, type.name); - } - - - // ********** static stuff ********** - - /** - * all the JDBC type defined in java.sql.Types - */ - private static JDBCType[] TYPES; // pseudo 'final' - lazy-initialized - - - public synchronized static JDBCType[] types() { - if (TYPES == null) { - TYPES = buildTypes(); - } - return TYPES; - } - - /** - * Return the JDBC type for the specified type code (e.g. Types.VARCHAR). - * @see java.sql.Types - */ - public static JDBCType type(int code) { - JDBCType[] types = types(); - for (int i = types.length; i-- > 0; ) { - if (types[i].getCode() == code) { - return types[i]; - } - } - throw new IllegalArgumentException("invalid JDBC type code: " + code); - } - - /** - * Return the JDBC type for the specified type name (e.g. "VARCHAR"). - * @see java.sql.Types - */ - public static JDBCType type(String name) { - JDBCType[] types = types(); - for (int i = types.length; i-- > 0; ) { - if (types[i].getName().equals(name)) { - return types[i]; - } - } - throw new IllegalArgumentException("invalid JDBC type name: " + name); - } - - /** - * build up the JDBC types via reflection - * @see java.sql.Types - */ - private static JDBCType[] buildTypes() { - Field[] fields = Types.class.getDeclaredFields(); - int len = fields.length; - JDBCType[] types = new JDBCType[len]; - for (int i = len; i-- > 0; ) { - String name = fields[i].getName(); - int code; - try { - code = ((Integer) fields[i].get(null)).intValue(); - } catch (IllegalAccessException ex) { - throw new RuntimeException(ex); // shouldn't happen... - } - types[i] = new JDBCType(name, code); - } - return types; - } - -} |