TypeInfo (jTDS API)
Date: 2013-06-08

net.sourceforge.jtds.jdbc

## Class TypeInfo

- java.lang.Object
- - net.sourceforge.jtds.jdbc.TypeInfo

- All Implemented Interfaces:
    java.lang.Comparable

      public class TypeInfo
      extends java.lang.Object
      implements java.lang.Comparable

  Represents an SQL data type as required by `getTypeInfo()`. Provides a suitable natural ordering.

  This class probably shouldn't be public, but is required to be so by the tests.
  Version:
    $Id: TypeInfo.java,v 1.5 2005-07-27 11:02:34 alin_sinpalean Exp $
  Author:
    David Eaves

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private boolean` | `autoIncrement`
    `private boolean` | `caseSensitive`
    `private java.lang.String` | `createParams`
    `private int` | `dataType`
    `private int` | `distanceFromJdbcType`
    `private boolean` | `fixedPrecScale`
    `private java.lang.String` | `literalPrefix`
    `private java.lang.String` | `literalSuffix`
    `private java.lang.String` | `localTypeName`
    `private short` | `maximumScale`
    `private short` | `minimumScale`
    `private int` | `normalizedType`
    `private short` | `nullable`
    `(package private) static int` | `NUM_COLS`
    `private int` | `numPrecRadix`
    `private int` | `precision`
    `private short` | `searchable`
    `private int` | `sqlDataType`
    `private int` | `sqlDatetimeSub`
    `private java.lang.String` | `typeName`
    `private boolean` | `unsigned`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypeInfo(java.sql.ResultSet rs, boolean useLOBs)`
    `TypeInfo(java.lang.String typeName, int dataType, boolean autoIncrement)` For testing only.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `private int` | `compare(int i1, int i2)`
    `int` | `compareTo(java.lang.Object o)` Comparable implementation that orders by dataType, then by how closely the data type maps to the corresponding JDBC SQL type.
    `private int` | `determineDistanceFromJdbcType()` Determine how close this type is to the corresponding JDBC type.
    `boolean` | `equals(java.lang.Object o)`
    `int` | `hashCode()`
    `static int` | `normalizeDataType(int serverDataType, boolean useLOBs)` Return a `Types`-defined type for an SQL Server specific data type.
    `java.lang.String` | `toString()`
    `void` | `update(java.sql.ResultSet rs)`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### NUM_COLS

          static final int NUM_COLS

      See Also:
        Constant Field Values

    - #### typeName

          private final java.lang.String typeName

    - #### dataType

          private final int dataType

    - #### precision

          private final int precision

    - #### literalPrefix

          private final java.lang.String literalPrefix

    - #### literalSuffix

          private final java.lang.String literalSuffix

    - #### createParams

          private final java.lang.String createParams

    - #### nullable

          private final short nullable

    - #### caseSensitive

          private final boolean caseSensitive

    - #### searchable

          private final short searchable

    - #### unsigned

          private final boolean unsigned

    - #### fixedPrecScale

          private final boolean fixedPrecScale

    - #### autoIncrement

          private final boolean autoIncrement

    - #### localTypeName

          private final java.lang.String localTypeName

    - #### minimumScale

          private final short minimumScale

    - #### maximumScale

          private final short maximumScale

    - #### sqlDataType

          private final int sqlDataType

    - #### sqlDatetimeSub

          private final int sqlDatetimeSub

    - #### numPrecRadix

          private final int numPrecRadix

    - #### normalizedType

          private final int normalizedType

    - #### distanceFromJdbcType

          private final int distanceFromJdbcType

  - ### Constructor Detail

    - #### TypeInfo

          public TypeInfo(java.sql.ResultSet rs,
                  boolean useLOBs)
                   throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### TypeInfo

          public TypeInfo(java.lang.String typeName,
                  int dataType,
                  boolean autoIncrement)

      For testing only. Create an instance with just the properties utilised in the `compareTo()` method (set name, type, and auto increment).

  - ### Method Detail

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### update

          public void update(java.sql.ResultSet rs)
                      throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### compareTo

          public int compareTo(java.lang.Object o)

      Comparable implementation that orders by dataType, then by how closely the data type maps to the corresponding JDBC SQL type.

      The data type values for the non-standard SQL Server types tend to have negative numbers while the corresponding standard types have positive numbers so utilise that in the sorting.
      Specified by:
        `compareTo` in interface `java.lang.Comparable`

    - #### compare

          private int compare(int i1,
                    int i2)

    - #### determineDistanceFromJdbcType

          private int determineDistanceFromJdbcType()

      Determine how close this type is to the corresponding JDBC type. Used in sorting to distinguish between types that have the same `normalizedType` value.
      Returns:
        positive integer indicating how far away the type is from the corresponding JDBC type, with zero being the nearest possible match and 9 being the least

    - #### normalizeDataType

          public static int normalizeDataType(int serverDataType,
                              boolean useLOBs)

      Return a `Types`-defined type for an SQL Server specific data type.
      Parameters:
        `serverDataType` - the data type, as returned by the server
        `useLOBs` - whether LOB data types are used for large types
      Returns:
        the equivalent data type defined by `java.sql.Types`

Generated on June 8 2013