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 | Description |
|---|---|
SQLInputImpl(Object[] attributes,
Map<String,Class<?>> map) |
Creates an
SQLInputImpl object initialized with the
given array of attributes and the given type map. |
| Modifier and Type | Method | Description |
|---|---|---|
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. |
NClob |
readNClob() |
Reads an SQL
NCLOB value from the stream and returns it as a
Clob object in the Java programming language. |
String |
readNString() |
Reads the next attribute in the stream and returns it as a
String
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. |
RowId |
readRowId() |
Reads an SQL
ROWID value from the stream and returns it as a
RowId object in the Java programming language. |
short |
readShort() |
Retrieves the next attribute in this
SQLInputImpl object
as a short in the Java programming language. |
SQLXML |
readSQLXML() |
Reads an SQL
XML value from the stream and returns it as a
SQLXML object 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. |
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.