public class SQLInputImpl extends Object implements SQLInput
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.
SQLData| Constructor and Description | 
|---|
| SQLInputImpl(Object[] attributes,
            Map<String,Class<?>> map)Creates an  SQLInputImplobject initialized with the
 given array of attributes and the given type map. | 
| Modifier and Type | Method and Description | 
|---|---|
| Array | readArray()Reads an SQL  ARRAYvalue from the stream and
 returns it as anArrayobject in the Java programming
 language. | 
| InputStream | readAsciiStream()Returns the next attribute in this  SQLInputImplobject
 as a stream of ASCII characters. | 
| BigDecimal | readBigDecimal()Retrieves the next attribute in this  SQLInputImplobject
 as ajava.math.BigDecimal. | 
| InputStream | readBinaryStream()Returns the next attribute in this  SQLInputImplobject
 as a stream of uninterpreted bytes. | 
| Blob | readBlob()Retrieves the  BLOBvalue at the head of thisSQLInputImplobject as aBlobobject
 in the Java programming language. | 
| boolean | readBoolean()Retrieves the next attribute in this  SQLInputImplobject as
 abooleanin the Java programming language. | 
| byte | readByte()Retrieves the next attribute in this  SQLInputImplobject as
 abytein the Java programming language. | 
| byte[] | readBytes()Retrieves the next attribute in this  SQLInputImplobject
 as an array of bytes. | 
| Reader | readCharacterStream()Retrieves the next attribute in this  SQLInputImplobject
 as a stream of Unicode characters. | 
| Clob | readClob()Retrieves the  CLOBvalue at the head of thisSQLInputImplobject as aClobobject
 in the Java programming language. | 
| Date | readDate()Retrieves the next attribute in this  SQLInputImplas
 ajava.sql.Dateobject. | 
| double | readDouble()Retrieves the next attribute in this  SQLInputImplobject
 as adoublein the Java programming language. | 
| float | readFloat()Retrieves the next attribute in this  SQLInputImplobject
 as afloatin the Java programming language. | 
| int | readInt()Retrieves the next attribute in this  SQLInputImplobject
 as anintin the Java programming language. | 
| long | readLong()Retrieves the next attribute in this  SQLInputImplobject
 as alongin the Java programming language. | 
| NClob | readNClob()Reads an SQL  NCLOBvalue from the stream and returns it as aClobobject in the Java programming language. | 
| String | readNString()Reads the next attribute in the stream and returns it as a  Stringin the Java programming language. | 
| Object | readObject()Retrieves the value at the head of this  SQLInputImplobject as anObjectin the Java programming language. | 
| Ref | readRef()Retrieves the value at the head of this  SQLInputImplobject
 as aRefobject in the Java programming language. | 
| RowId | readRowId()Reads an SQL  ROWIDvalue from the stream and returns it as aRowIdobject in the Java programming language. | 
| short | readShort()Retrieves the next attribute in this  SQLInputImplobject
 as ashortin the Java programming language. | 
| SQLXML | readSQLXML()Reads an SQL  XMLvalue from the stream and returns it as aSQLXMLobject in the Java programming language. | 
| String | readString()Retrieves the next attribute in this  SQLInputImplobject as
 aStringin the Java programming language. | 
| Time | readTime()Retrieves the next attribute in this  SQLInputImplobject as
 ajava.sql.Timeobject. | 
| Timestamp | readTimestamp()Retrieves the next attribute in this  SQLInputImplobject as
 ajava.sql.Timestampobject. | 
| URL | readURL()Reads an SQL  DATALINKvalue from the stream and
 returns it as anURLobject in the Java programming
 language. | 
| boolean | wasNull()Ascertains whether the last value read from this
  SQLInputImplobject wasnull. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitreadObjectpublic SQLInputImpl(Object[] attributes, Map<String,Class<?>> map) throws SQLException
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.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 mappedSQLException - if the attributes or the map
        is a null valuepublic String readString() throws SQLException
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.
 
readString in interface SQLInputSQLInputImpl object;
     if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
     position or if there are no further values in the stream.public boolean readBoolean()
                    throws SQLException
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.
 
readBoolean in interface SQLInputSQLInputImpl object;
     if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
     position or if there are no further values in the stream.public byte readByte()
              throws SQLException
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.
 
readByte in interface SQLInputSQLInputImpl object;
     if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
     position or if there are no further values in the streampublic short readShort()
                throws SQLException
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.
 
readShort in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic int readInt()
            throws SQLException
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.
 
readInt in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic long readLong()
              throws SQLException
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.
 
readLong in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic float readFloat()
                throws SQLException
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.
 
readFloat in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic double readDouble()
                  throws SQLException
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.
 
readDouble in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic BigDecimal readBigDecimal() throws SQLException
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.
 
readBigDecimal in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic byte[] readBytes()
                 throws SQLException
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.
 
readBytes in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic Date readDate() throws SQLException
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.
 
readDate in interface SQLInputSQLInputImpl object;
       if the value is SQL NULL, return nullSQLException - if the read position is located at an invalid
       position or if there are no more values in the streampublic Time readTime() throws SQLException
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.
readTime in interface SQLInputSQL NULL, return
 nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public Timestamp readTimestamp() throws SQLException
SQLInputImpl object as
 a java.sql.Timestamp object.readTimestamp in interface SQLInputSQL NULL, return
 nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public Reader readCharacterStream() throws SQLException
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.
readCharacterStream in interface SQLInputSQL NULL, return nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public InputStream readAsciiStream() throws SQLException
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.
readAsciiStream in interface SQLInputSQL NULL,
 return nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public InputStream readBinaryStream() throws SQLException
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.
readBinaryStream in interface SQLInputSQL NULL, return
 nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public Object readObject() throws SQLException
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.
readObject in interface SQLInputObject
         in the Java programming language; null if
         the value is SQL NULLSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public Ref readRef() throws SQLException
SQLInputImpl object
 as a Ref object in the Java programming language.readRef in interface SQLInputRef object representing the SQL
         REF value at the head of the stream; if the value
         is SQL NULL return nullSQLException - if the read position is located at an invalid
         position; or if there are no further values in the stream.public Blob readBlob() throws SQLException
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.
readBlob in interface SQLInputBlob object representing the SQL
         BLOB value at the head of this stream;
         if the value is SQL NULL, return
         nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public Clob readClob() throws SQLException
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.
readClob in interface SQLInputClob object representing the SQL
         CLOB value at the head of the stream;
         if the value is SQL NULL, return
         nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public Array readArray() throws SQLException
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.
readArray in interface SQLInputArray object representing the SQL
         ARRAY value at the head of the stream; *
         if the value is SQL NULL, return
         nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public boolean wasNull()
                throws SQLException
SQLInputImpl object was null.wasNull in interface SQLInputtrue if the SQL value read most recently was
         null; otherwise, false; by default it
         will return falseSQLException - if an error occurs determining the last value
         read was a null value or not;public URL readURL() throws SQLException
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.
readURL in interface SQLInputURL object representing the SQL
         DATALINK value at the head of the stream; *
         if the value is SQL NULL, return
         nullSQLException - if the read position is located at an invalid
 position; or if there are no further values in the stream.public NClob readNClob() throws SQLException
NCLOB value from the stream and returns it as a
 Clob object in the Java programming language.readNClob in interface SQLInputNClob object representing data of the SQL NCLOB value
 at the head of the stream; null if the value read is
 SQL NULLSQLException - if a database access error occurspublic String readNString() throws SQLException
String
 in the Java programming language. It is intended for use when
 accessing  NCHAR,NVARCHAR
 and LONGNVARCHAR columns.readNString in interface SQLInputNULL, returns nullSQLException - if a database access error occurspublic SQLXML readSQLXML() throws SQLException
XML value from the stream and returns it as a
 SQLXML object in the Java programming language.readSQLXML in interface SQLInputSQLXML object representing data of the SQL XML value
 at the head of the stream; null if the value read is
 SQL NULLSQLException - if a database access error occurspublic RowId readRowId() throws SQLException
ROWID value from the stream and returns it as a
 RowId object in the Java programming language.readRowId in interface SQLInputRowId object representing data of the SQL ROWID value
 at the head of the stream; null if the value read is
 SQL NULLSQLException - if a database access error occurs Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.