Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.sql.rowset.serial
Class SQLInputImpl

    java.lang.Object
      javax.sql.rowset.serial.SQLInputImpl

All Implemented Interfaces:
  SQLInput

    public class SQLInputImpl

extends Object
implements SQLInput

An input stream used for custom mapping user-defined types (UDTs). An `SQLInputImpl` object is an input stream that contains a stream of values that are the attributes of a UDT.

This class is used by the driver behind the scenes when the method `getObject` is called on an SQL structured or distinct type that has a custom mapping; a programmer never invokes `SQLInputImpl` methods directly. They are provided here as a convenience for those who write `RowSet` implementations.

The `SQLInputImpl` class provides a set of reader methods analogous to the `ResultSet` getter methods. These methods make it possible to read the values in an `SQLInputImpl` object.

The method `wasNull` is used to determine whether the the last value read was SQL `NULL`.

When the method `getObject` is called with an object of a class implementing the interface `SQLData`, the JDBC driver calls the method `SQLData.getSQLType` to determine the SQL type of the UDT being custom mapped. The driver creates an instance of `SQLInputImpl`, populating it with the attributes of the UDT. The driver then passes the input stream to the method `SQLData.readSQL`, which in turn calls the `SQLInputImpl` reader methods to read the attributes from the input stream.

See Also:
  `SQLData`

Constructor Summary
`SQLInputImpl(Object[] attributes, Map<String,Class<?>> map)` Creates an `SQLInputImpl` object initialized with the given array of attributes and the given type map.

Method Summary
`Array` | `readArray()` Reads an SQL `ARRAY` value from the stream and returns it as an `Array` object in the Java programming language.
`InputStream` | `readAsciiStream()` Returns the next attribute in this `SQLInputImpl` object as a stream of ASCII characters.
`BigDecimal` | `readBigDecimal()` Retrieves the next attribute in this `SQLInputImpl` object as a `java.math.BigDecimal`.
`InputStream` | `readBinaryStream()` Returns the next attribute in this `SQLInputImpl` object as a stream of uninterpreted bytes.
`Blob` | `readBlob()` Retrieves the `BLOB` value at the head of this `SQLInputImpl` object as a `Blob` object in the Java programming language.
`boolean` | `readBoolean()` Retrieves the next attribute in this `SQLInputImpl` object as a `boolean` in the Java programming language.
`byte` | `readByte()` Retrieves the next attribute in this `SQLInputImpl` object as a `byte` in the Java programming language.
`byte[]` | `readBytes()` Retrieves the next attribute in this `SQLInputImpl` object as an array of bytes.
`Reader` | `readCharacterStream()` Retrieves the next attribute in this `SQLInputImpl` object as a stream of Unicode characters.
`Clob` | `readClob()` Retrieves the `CLOB` value at the head of this `SQLInputImpl` object as a `Clob` object in the Java programming language.
`Date` | `readDate()` Retrieves the next attribute in this `SQLInputImpl` as a `java.sql.Date` object.
`double` | `readDouble()` Retrieves the next attribute in this `SQLInputImpl` object as a `double` in the Java programming language.
`float` | `readFloat()` Retrieves the next attribute in this `SQLInputImpl` object as a `float` in the Java programming language.
`int` | `readInt()` Retrieves the next attribute in this `SQLInputImpl` object as an `int` in the Java programming language.
`long` | `readLong()` Retrieves the next attribute in this `SQLInputImpl` object as a `long` in the Java programming language.
`Object` | `readObject()` Retrieves the value at the head of this `SQLInputImpl` object as an `Object` in the Java programming language.
`Ref` | `readRef()` Retrieves the value at the head of this `SQLInputImpl` object as a `Ref` object in the Java programming language.
`short` | `readShort()` Retrieves the next attribute in this `SQLInputImpl` object as a `short` in the Java programming language.
`String` | `readString()` Retrieves the next attribute in this `SQLInputImpl` object as a `String` in the Java programming language.
`Time` | `readTime()` Retrieves the next attribute in this `SQLInputImpl` object as a `java.sql.Time` object.
`Timestamp` | `readTimestamp()` Retrieves the next attribute in this `SQLInputImpl` object as a `java.sql.Timestamp` object.
`URL` | `readURL()` Reads an SQL `DATALINK` value from the stream and returns it as an `URL` object in the Java programming language.
`boolean` | `wasNull()` Ascertains whether the last value read from this `SQLInputImpl` object was `null`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SQLInputImpl

    public SQLInputImpl(Object[] attributes,
                        Map<String,Class<?>> map)
                 throws SQLException

  Creates an `SQLInputImpl` object initialized with the given array of attributes and the given type map. If any of the attributes is a UDT whose name is in an entry in the type map, the attribute will be mapped according to the corresponding `SQLData` implementation.

  Parameters:
    `attributes` - an array of `Object` instances in which each element is an attribute of a UDT. The order of the attributes in the array is the same order in which the attributes were defined in the UDT definition.
    `map` - a `java.util.Map` object containing zero or more entries, with each entry consisting of 1) a `String` giving the fully qualified name of the UDT and 2) the `Class` object for the `SQLData` implementation that defines how the UDT is to be mapped
  Throws:
    `SQLException` - if the `attributes` or the `map` is a `null` value

Method Detail

### readString

    public String readString()
                      throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `String` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readString` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no further values in the stream.

### readBoolean

    public boolean readBoolean()
                        throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `boolean` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readBoolean` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no further values in the stream.

### readByte

    public byte readByte()
                  throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `byte` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readByte` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no further values in the stream

### readShort

    public short readShort()
                    throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `short` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readShort` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readInt

    public int readInt()
                throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as an `int` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readInt` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readLong

    public long readLong()
                  throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `long` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readLong` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readFloat

    public float readFloat()
                    throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `float` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readFloat` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readDouble

    public double readDouble()
                      throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `double` in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readDouble` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readBigDecimal

    public BigDecimal readBigDecimal()
                              throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `java.math.BigDecimal`.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readBigDecimal` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readBytes

    public byte[] readBytes()
                     throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as an array of bytes.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readBytes` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readDate

    public Date readDate()
                  throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` as a `java.sql.Date` object.

  This method does not perform type-safe checking to determine if the returned type is the expected type; this responsibility is delegated to the UDT mapping as defined by a `SQLData` implementation.

  Specified by:
    `readDate` in interface `SQLInput`
  Returns:
    the next attribute in this `SQLInputImpl` object; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position or if there are no more values in the stream

### readTime

    public Time readTime()
                  throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `java.sql.Time` object.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readTime` in interface `SQLInput`
  Returns:
    the attribute; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readTimestamp

    public Timestamp readTimestamp()
                            throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a `java.sql.Timestamp` object.

  Specified by:
    `readTimestamp` in interface `SQLInput`
  Returns:
    the attribute; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readCharacterStream

    public Reader readCharacterStream()
                               throws SQLException

  Retrieves the next attribute in this `SQLInputImpl` object as a stream of Unicode characters.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readCharacterStream` in interface `SQLInput`
  Returns:
    the attribute; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readAsciiStream

    public InputStream readAsciiStream()
                                throws SQLException

  Returns the next attribute in this `SQLInputImpl` object as a stream of ASCII characters.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readAsciiStream` in interface `SQLInput`
  Returns:
    the attribute; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readBinaryStream

    public InputStream readBinaryStream()
                                 throws SQLException

  Returns the next attribute in this `SQLInputImpl` object as a stream of uninterpreted bytes.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readBinaryStream` in interface `SQLInput`
  Returns:
    the attribute; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readObject

    public Object readObject()
                      throws SQLException

  Retrieves the value at the head of this `SQLInputImpl` object as an `Object` in the Java programming language. The actual type of the object returned is determined by the default mapping of SQL types to types in the Java programming language unless there is a custom mapping, in which case the type of the object returned is determined by this stream's type map.

  The JDBC technology-enabled driver registers a type map with the stream before passing the stream to the application.

  When the datum at the head of the stream is an SQL `NULL`, this method returns `null`. If the datum is an SQL structured or distinct type with a custom mapping, this method determines the SQL type of the datum at the head of the stream, constructs an object of the appropriate class, and calls the method `SQLData.readSQL` on that object. The `readSQL` method then calls the appropriate `SQLInputImpl.readXXX` methods to retrieve the attribute values from the stream.

  Specified by:
    `readObject` in interface `SQLInput`
  Returns:
    the value at the head of the stream as an `Object` in the Java programming language; `null` if the value is SQL `NULL`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readRef

    public Ref readRef()
                throws SQLException

  Retrieves the value at the head of this `SQLInputImpl` object as a `Ref` object in the Java programming language.

  Specified by:
    `readRef` in interface `SQLInput`
  Returns:
    a `Ref` object representing the SQL `REF` value at the head of the stream; if the value is `SQL NULL` return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readBlob

    public Blob readBlob()
                  throws SQLException

  Retrieves the `BLOB` value at the head of this `SQLInputImpl` object as a `Blob` object in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readBlob` in interface `SQLInput`
  Returns:
    a `Blob` object representing the SQL `BLOB` value at the head of this stream; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readClob

    public Clob readClob()
                  throws SQLException

  Retrieves the `CLOB` value at the head of this `SQLInputImpl` object as a `Clob` object in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readClob` in interface `SQLInput`
  Returns:
    a `Clob` object representing the SQL `CLOB` value at the head of the stream; if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### readArray

    public Array readArray()
                    throws SQLException

  Reads an SQL `ARRAY` value from the stream and returns it as an `Array` object in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readArray` in interface `SQLInput`
  Returns:
    an `Array` object representing the SQL `ARRAY` value at the head of the stream; * if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

### wasNull

    public boolean wasNull()
                    throws SQLException

  Ascertains whether the last value read from this `SQLInputImpl` object was `null`.

  Specified by:
    `wasNull` in interface `SQLInput`
  Returns:
    `true` if the SQL value read most recently was `null`; otherwise, `false`; by default it will return false
  Throws:
    `SQLException` - if an error occurs determining the last value read was a `null` value or not;

### readURL

    public URL readURL()
                throws SQLException

  Reads an SQL `DATALINK` value from the stream and returns it as an `URL` object in the Java programming language.

  This method does not perform type-safe checking to determine if the returned type is the expected type as this responsibility is delegated to the UDT mapping as implemented by a `SQLData` implementation.

  Specified by:
    `readURL` in interface `SQLInput`
  Returns:
    an `URL` object representing the SQL `DATALINK` value at the head of the stream; * if the value is `SQL NULL`, return `null`
  Throws:
    `SQLException` - if the read position is located at an invalid position; or if there are no further values in the stream.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.