Class ParamInfo

  • All Implemented Interfaces:
    java.lang.Cloneable

    class ParamInfo
    extends java.lang.Object
    implements java.lang.Cloneable
    This class is a descriptor for procedure and prepared statement parameters.
    Version:
    $Id: ParamInfo.java,v 1.16 2005-04-25 11:47:01 alin_sinpalean Exp $
    Author:
    Mike Hutchinson
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) CharsetInfo charsetInfo
      Character set descriptor (if different from default)
      (package private) byte[] collation
      TDS 8 Collation string.
      (package private) static int INPUT
      Flag as an input parameter.
      (package private) boolean isOutput
      Parameter is an output parameter
      (package private) boolean isRetVal
      Parameter is used as SP return value
      (package private) boolean isSet
      IN parameter has been set
      (package private) boolean isSetOut
      OUT parameter value is set.
      (package private) boolean isUnicode
      Parameter should be sent as unicode
      (package private) int jdbcType
      JDBC type constant from java.sql.Types
      (package private) int length
      Length of InputStream
      (package private) int markerPos
      Parameter offset in target SQL statement
      (package private) java.lang.String name
      Formal parameter name eg @P1
      (package private) static int OUTPUT
      Flag as an output parameter.
      (package private) java.lang.Object outValue
      OUT Parameter value.
      (package private) int precision
      Parameter decimal precision
      (package private) static int RETVAL
      Flag as an return value parameter.
      (package private) int scale
      Parameter decimal scale
      (package private) java.lang.String sqlType
      SQL type name eg varchar(10)
      (package private) int tdsType
      Internal TDS data type
      (package private) static int UNICODE
      Flag as a unicode parameter.
      (package private) java.lang.Object value
      Current parameter value
    • Constructor Summary

      Constructors 
      Constructor Description
      ParamInfo​(int pos, boolean isUnicode)
      Construct a parameter with parameter marker offset.
      ParamInfo​(int jdbcType, java.lang.Object value, int flags)
      Construct an initialised parameter with extra attributes.
      ParamInfo​(java.lang.String name, int pos, boolean isRetVal, boolean isUnicode)
      Construct a parameter for statement caching.
      ParamInfo​(ColInfo ci, java.lang.String name, java.lang.Object value, int length)
      Construct a parameter based on a result set column.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void clearInValue()
      Clear the IN parameter value and status.
      (package private) void clearOutValue()
      Clear the OUT parameter value and status.
      java.lang.Object clone()
      Creates a shallow copy of this ParamInfo instance.
      (package private) byte[] getBytes​(java.lang.String charset)
      Get the byte array value of the parameter.
      (package private) java.lang.Object getOutValue()
      Get the output parameter value.
      (package private) java.lang.String getString​(java.lang.String charset)
      Get the string value of the parameter.
      private static java.lang.String loadFromReader​(java.io.Reader in, int length)
      Create a String from a Reader stream.
      private static byte[] loadFromStream​(java.io.InputStream in, int length)
      Load a byte array from an InputStream
      (package private) void setOutValue​(java.lang.Object value)
      Set the OUT parameter value.
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • tdsType

        int tdsType
        Internal TDS data type
      • jdbcType

        int jdbcType
        JDBC type constant from java.sql.Types
      • name

        java.lang.String name
        Formal parameter name eg @P1
      • sqlType

        java.lang.String sqlType
        SQL type name eg varchar(10)
      • markerPos

        int markerPos
        Parameter offset in target SQL statement
      • value

        java.lang.Object value
        Current parameter value
      • precision

        int precision
        Parameter decimal precision
      • scale

        int scale
        Parameter decimal scale
      • length

        int length
        Length of InputStream
      • isOutput

        boolean isOutput
        Parameter is an output parameter
      • isRetVal

        boolean isRetVal
        Parameter is used as SP return value
      • isSet

        boolean isSet
        IN parameter has been set
      • isUnicode

        boolean isUnicode
        Parameter should be sent as unicode
      • collation

        byte[] collation
        TDS 8 Collation string.
      • charsetInfo

        CharsetInfo charsetInfo
        Character set descriptor (if different from default)
      • isSetOut

        boolean isSetOut
        OUT parameter value is set.
      • outValue

        java.lang.Object outValue
        OUT Parameter value.
    • Constructor Detail

      • ParamInfo

        ParamInfo​(int pos,
                  boolean isUnicode)
        Construct a parameter with parameter marker offset.
        Parameters:
        pos - the offset of the ? symbol in the target SQL string
        isUnicode - true if the parameter is Unicode encoded
      • ParamInfo

        ParamInfo​(java.lang.String name,
                  int pos,
                  boolean isRetVal,
                  boolean isUnicode)
        Construct a parameter for statement caching.
        Parameters:
        name - the formal name of the parameter
        pos - the offset of the ? symbol in the parsed SQL string
        isRetVal - true if the parameter is a return value
        isUnicode - true if the parameter is Unicode encoded
      • ParamInfo

        ParamInfo​(int jdbcType,
                  java.lang.Object value,
                  int flags)
        Construct an initialised parameter with extra attributes.
        Parameters:
        jdbcType - the java.sql.Type constant describing this type
        value - the initial parameter value
        flags - the additional attributes eg OUTPUT, RETVAL, UNICODE etc.
      • ParamInfo

        ParamInfo​(ColInfo ci,
                  java.lang.String name,
                  java.lang.Object value,
                  int length)
        Construct a parameter based on a result set column.
        Parameters:
        ci - the column descriptor
        name - the name for this parameter or null
        value - the column data value
        length - the column data length
    • Method Detail

      • getOutValue

        java.lang.Object getOutValue()
                              throws java.sql.SQLException
        Get the output parameter value.
        Returns:
        the OUT value as an Object
        Throws:
        java.sql.SQLException - if the parameter has not been set
      • setOutValue

        void setOutValue​(java.lang.Object value)
        Set the OUT parameter value.
        Parameters:
        value - The data value.
      • clearOutValue

        void clearOutValue()
        Clear the OUT parameter value and status.
      • clearInValue

        void clearInValue()
        Clear the IN parameter value and status.
      • getString

        java.lang.String getString​(java.lang.String charset)
                            throws java.io.IOException
        Get the string value of the parameter.
        Returns:
        The data value as a String or null.
        Throws:
        java.io.IOException
      • getBytes

        byte[] getBytes​(java.lang.String charset)
                 throws java.io.IOException
        Get the byte array value of the parameter.
        Returns:
        The data value as a byte[] or null.
        Throws:
        java.io.IOException
      • loadFromStream

        private static byte[] loadFromStream​(java.io.InputStream in,
                                             int length)
                                      throws java.io.IOException
        Load a byte array from an InputStream
        Parameters:
        in - The InputStream to read from.
        length - The length of the stream.
        Returns:
        The data as a byte[].
        Throws:
        java.io.IOException
      • loadFromReader

        private static java.lang.String loadFromReader​(java.io.Reader in,
                                                       int length)
                                                throws java.io.IOException
        Create a String from a Reader stream.
        Parameters:
        in - The Reader object with the data.
        length - Number of characters to read.
        Returns:
        The data as a String.
        Throws:
        java.io.IOException
      • clone

        public java.lang.Object clone()
        Creates a shallow copy of this ParamInfo instance. Used by the PreparedStatement batching implementation to duplicate parameters.
        Overrides:
        clone in class java.lang.Object