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

## javax.sql.rowset.serial
Class SQLOutputImpl

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

All Implemented Interfaces:
  SQLOutput

    public class SQLOutputImpl

extends Object
implements SQLOutput

The output stream for writing the attributes of a custom-mapped user-defined type (UDT) back to the database. The driver uses this interface internally, and its methods are never directly invoked by an application programmer.

When an application calls the method `PreparedStatement.setObject`, the driver checks to see whether the value to be written is a UDT with a custom mapping. If it is, there will be an entry in a type map containing the `Class` object for the class that implements `SQLData` for this UDT. If the value to be written is an instance of `SQLData`, the driver will create an instance of `SQLOutputImpl` and pass it to the method `SQLData.writeSQL`. The method `writeSQL` in turn calls the appropriate `SQLOutputImpl.writeXXX` methods to write data from the `SQLData` object to the `SQLOutputImpl` output stream as the representation of an SQL user-defined type.

Constructor Summary
`SQLOutputImpl(Vector<?> attributes, Map<String,?> map)` Creates a new `SQLOutputImpl` object initialized with the given vector of attributes and type map.

Method Summary
`void` | `writeArray(Array x)` Writes an `Array` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeAsciiStream(InputStream x)` Writes a stream of ASCII characters to this `SQLOutputImpl` object.
`void` | `writeBigDecimal(BigDecimal x)` Writes a `java.math.BigDecimal` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeBinaryStream(InputStream x)` Writes a stream of uninterpreted bytes to this `SQLOutputImpl` object.
`void` | `writeBlob(Blob x)` Writes a `Blob` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeBoolean(boolean x)` Writes a `boolean` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeByte(byte x)` Writes a `byte` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeBytes(byte[] x)` Writes an array of `bytes` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeCharacterStream(Reader x)` Writes a stream of Unicode characters to this `SQLOutputImpl` object.
`void` | `writeClob(Clob x)` Writes a `Clob` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeDate(Date x)` Writes a `java.sql.Date` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeDouble(double x)` Writes a `double` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeFloat(float x)` Writes a `float` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeInt(int x)` Writes an `int` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeLong(long x)` Writes a `long` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeNClob(NClob x)` Writes an SQL `NCLOB` value to the stream.
`void` | `writeNString(String x)` Writes the next attribute to the stream as a `String` in the Java programming language.
`void` | `writeObject(SQLData x)` Writes to the stream the data contained in the given `SQLData` object.
`void` | `writeRef(Ref x)` Writes a `Ref` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeRowId(RowId x)` Writes an SQL `ROWID` value to the stream.
`void` | `writeShort(short x)` Writes a `short` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeSQLXML(SQLXML x)` Writes an SQL `XML` value to the stream.
`void` | `writeString(String x)` Writes a `String` in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeStruct(Struct x)` Writes a `Struct` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeTime(Time x)` Writes a `java.sql.Time` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeTimestamp(Timestamp x)` Writes a `java.sql.Timestamp` object in the Java programming language to this `SQLOutputImpl` object.
`void` | `writeURL(URL url)` Writes an `java.sql.Type.DATALINK` object in the Java programming language to this `SQLOutputImpl` object.

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

Constructor Detail

### SQLOutputImpl

    public SQLOutputImpl(Vector<?> attributes,
                         Map<String,?> map)
                  throws SQLException

  Creates a new `SQLOutputImpl` object initialized with the given vector of attributes and type map. The driver will use the type map to determine which `SQLData.writeSQL` method to invoke. This method will then call the appropriate `SQLOutputImpl` writer methods in order and thereby write the attributes to the new output stream.

  Parameters:
    `attributes` - a `Vector` object containing the attributes of the UDT to be mapped to one or more objects in the Java programming language
    `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 a 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

### writeString

    public void writeString(String x)
                     throws SQLException

  Writes a `String` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `CHAR`, `VARCHAR`, or `LONGVARCHAR` before returning it to the database.

  Specified by:
    `writeString` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeBoolean

    public void writeBoolean(boolean x)
                      throws SQLException

  Writes a `boolean` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `BIT` before returning it to the database.

  Specified by:
    `writeBoolean` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeByte

    public void writeByte(byte x)
                   throws SQLException

  Writes a `byte` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `BIT` before returning it to the database.

  Specified by:
    `writeByte` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeShort

    public void writeShort(short x)
                    throws SQLException

  Writes a `short` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `SMALLINT` before returning it to the database.

  Specified by:
    `writeShort` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeInt

    public void writeInt(int x)
                  throws SQLException

  Writes an `int` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `INTEGER` before returning it to the database.

  Specified by:
    `writeInt` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeLong

    public void writeLong(long x)
                   throws SQLException

  Writes a `long` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `BIGINT` before returning it to the database.

  Specified by:
    `writeLong` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeFloat

    public void writeFloat(float x)
                    throws SQLException

  Writes a `float` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `REAL` before returning it to the database.

  Specified by:
    `writeFloat` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeDouble

    public void writeDouble(double x)
                     throws SQLException

  Writes a `double` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `DOUBLE` before returning it to the database.

  Specified by:
    `writeDouble` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeBigDecimal

    public void writeBigDecimal(BigDecimal x)
                         throws SQLException

  Writes a `java.math.BigDecimal` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `NUMERIC` before returning it to the database.

  Specified by:
    `writeBigDecimal` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeBytes

    public void writeBytes(byte[] x)
                    throws SQLException

  Writes an array of `bytes` in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `VARBINARY` or `LONGVARBINARY` before returning it to the database.

  Specified by:
    `writeBytes` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeDate

    public void writeDate(Date x)
                   throws SQLException

  Writes a `java.sql.Date` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `DATE` before returning it to the database.

  Specified by:
    `writeDate` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeTime

    public void writeTime(Time x)
                   throws SQLException

  Writes a `java.sql.Time` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `TIME` before returning it to the database.

  Specified by:
    `writeTime` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeTimestamp

    public void writeTimestamp(Timestamp x)
                        throws SQLException

  Writes a `java.sql.Timestamp` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to an SQL `TIMESTAMP` before returning it to the database.

  Specified by:
    `writeTimestamp` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeCharacterStream

    public void writeCharacterStream(Reader x)
                              throws SQLException

  Writes a stream of Unicode characters to this `SQLOutputImpl` object. The driver will do any necessary conversion from Unicode to the database `CHAR` format.

  Specified by:
    `writeCharacterStream` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeAsciiStream

    public void writeAsciiStream(InputStream x)
                          throws SQLException

  Writes a stream of ASCII characters to this `SQLOutputImpl` object. The driver will do any necessary conversion from ASCII to the database `CHAR` format.

  Specified by:
    `writeAsciiStream` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeBinaryStream

    public void writeBinaryStream(InputStream x)
                           throws SQLException

  Writes a stream of uninterpreted bytes to this `SQLOutputImpl` object.

  Specified by:
    `writeBinaryStream` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeObject

    public void writeObject(SQLData x)
                     throws SQLException

  Writes to the stream the data contained in the given `SQLData` object. When the `SQLData` object is `null`, this method writes an SQL `NULL` to the stream. Otherwise, it calls the `SQLData.writeSQL` method of the given object, which writes the object's attributes to the stream.

  The implementation of the method `SQLData.writeSQ` calls the appropriate `SQLOutputImpl.writeXXX` method(s) for writing each of the object's attributes in order. The attributes must be read from an `SQLInput` input stream and written to an `SQLOutputImpl` output stream in the same order in which they were listed in the SQL definition of the user-defined type.

  Specified by:
    `writeObject` in interface `SQLOutput`
  Parameters:
    `x` - the object representing data of an SQL structured or distinct type
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeRef

    public void writeRef(Ref x)
                  throws SQLException

  Writes a `Ref` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to a serializable `SerialRef` SQL `REF` value before returning it to the database.

  Specified by:
    `writeRef` in interface `SQLOutput`
  Parameters:
    `x` - an object representing an SQL `REF` value
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeBlob

    public void writeBlob(Blob x)
                   throws SQLException

  Writes a `Blob` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to a serializable `SerialBlob` SQL `BLOB` value before returning it to the database.

  Specified by:
    `writeBlob` in interface `SQLOutput`
  Parameters:
    `x` - an object representing an SQL `BLOB` value
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeClob

    public void writeClob(Clob x)
                   throws SQLException

  Writes a `Clob` object in the Java programming language to this `SQLOutputImpl` object. The driver converts it to a serializable `SerialClob` SQL `CLOB` value before returning it to the database.

  Specified by:
    `writeClob` in interface `SQLOutput`
  Parameters:
    `x` - an object representing an SQL `CLOB` value
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeStruct

    public void writeStruct(Struct x)
                     throws SQLException

  Writes a `Struct` object in the Java programming language to this `SQLOutputImpl` object. The driver converts this value to an SQL structured type before returning it to the database.

  This method should be used when an SQL structured type has been mapped to a `Struct` object in the Java programming language (the standard mapping). The method `writeObject` should be used if an SQL structured type has been custom mapped to a class in the Java programming language.

  Specified by:
    `writeStruct` in interface `SQLOutput`
  Parameters:
    `x` - an object representing the attributes of an SQL structured type
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeArray

    public void writeArray(Array x)
                    throws SQLException

  Writes an `Array` object in the Java programming language to this `SQLOutputImpl` object. The driver converts this value to a serializable `SerialArray` SQL `ARRAY` value before returning it to the database.

  Specified by:
    `writeArray` in interface `SQLOutput`
  Parameters:
    `x` - an object representing an SQL `ARRAY` value
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeURL

    public void writeURL(URL url)
                  throws SQLException

  Writes an `java.sql.Type.DATALINK` object in the Java programming language to this `SQLOutputImpl` object. The driver converts this value to a serializable `SerialDatalink` SQL `DATALINK` value before return it to the database.

  Specified by:
    `writeURL` in interface `SQLOutput`
  Parameters:
    `url` - an object representing a SQL `DATALINK` value
  Throws:
    `SQLException` - if the `SQLOutputImpl` object is in use by a `SQLData` object attempting to write the attribute values of a UDT to the database.

### writeNString

    public void writeNString(String x)
                      throws SQLException

  Writes the next attribute to the stream as a `String` in the Java programming language. The driver converts this to a SQL `NCHAR` or `NVARCHAR` or `LONGNVARCHAR` value (depending on the argument's size relative to the driver's limits on `NVARCHAR` values) when it sends it to the stream.

  Specified by:
    `writeNString` in interface `SQLOutput`
  Parameters:
    `x` - the value to pass to the database
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.6

### writeNClob

    public void writeNClob(NClob x)
                    throws SQLException

  Writes an SQL `NCLOB` value to the stream.

  Specified by:
    `writeNClob` in interface `SQLOutput`
  Parameters:
    `x` - a `NClob` object representing data of an SQL `NCLOB` value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.6

### writeRowId

    public void writeRowId(RowId x)
                    throws SQLException

  Writes an SQL `ROWID` value to the stream.

  Specified by:
    `writeRowId` in interface `SQLOutput`
  Parameters:
    `x` - a `RowId` object representing data of an SQL `ROWID` value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.6

### writeSQLXML

    public void writeSQLXML(SQLXML x)
                     throws SQLException

  Writes an SQL `XML` value to the stream.

  Specified by:
    `writeSQLXML` in interface `SQLOutput`
  Parameters:
    `x` - a `SQLXML` object representing data of an SQL `XML` value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.6

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
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 SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

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