JSR 310, Types and SQLInput, SQlOutput
Ulf Zibis
Ulf.Zibis at CoSoCo.de
Wed Jan 16 10:26:48 PST 2013
I guess you meant:
default T readObject(Class<T> type)
not void.
-Ulf
Am 16.01.2013 18:16, schrieb Lance Andersen - Oracle:
>
> Once JSR 310 is integrated into Java SE 8, part of M6, one of the last items for now is updating Types, JDBCType and SQLInput, SQLOutput
>
> For Types/JDBCType, we will:
>
> Add TIME_WITH_TIMEZONE
> Add TIMESTAMP_WITH_TIMEZONE
>
> We should be able to use DATE, TIME and TIMESTAMP with LocalDate, LocalTime, LocalDateTime
>
> Add the following methods to SQLInput & SQLOutput:
>
>
> SQLInput:
>
>
> /**
> * Reads the next attribute in the stream and returns it as an
> * {@code Object} in the Java programming language. The
> * actual type of the object returned is determined by the specified
> * Java data type, and any customizations present in this
> * stream's type map.
> *
> * <P>A type map is registered with the stream by the JDBC driver before the
> * stream is passed to the application.
> *
> * <P>When the attribute at the head of the stream is an SQL {@code NULL}
> * the method returns {@code null}. If the attribute is an SQL
> * structured or distinct
> * type, it determines the SQL type of the attribute at the head of the stream.
> * If the stream's type map has an entry for that SQL type, the driver
> * constructs an object of the appropriate class and calls the method
> * {@code SQLData.readSQL} on that object, which reads additional data from the
> * stream, using the protocol described for that method.
> *<p>
> * The default implementation will throw {@code SQLFeatureNotSupportedException}
> *
> * @param type Class representing the Java data type to convert the attribute to.
> * @return the attribute at the head of the stream as an {@code Object} in the
> * Java programming language;{@code null} if the attribute is SQL {@code NULL}
> * @exception SQLException if a database access error occurs
> * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
> * this method
> * @since 1.8
> */
> default void readObject(Class<T> type) throws SQLException {
> throw new SQLFeatureNotSupportedException("readObject not implemented");
> }
>
>
>
>
>
>
> SQLOutput
>
>
> /**
> * Writes to the stream the data contained in the given object. The
> * object will be converted to the specified targetSqlType
> * before being sent to the stream.
> *<p>
> * When the {@code object} is {@code null}, this
> * method writes an SQL {@code NULL} to the stream.
> * <p>
> * If the object has a custom mapping (is of a class implementing the
> * interface {@code SQLData}),
> * the JDBC driver should call the method {@code SQLData.writeSQL} to
> * write it to the SQL data stream.
> * If, on the other hand, the object is of a class implementing
> * {@code Ref}, {@code Blob}, {@code Clob}, {@code NClob},
> * {@code Struct}, {@code java.net.URL},
> * or {@code Array}, the driver should pass it to the database as a
> * value of the corresponding SQL type.
> *<P>
> * The default implementation will throw {@code SQLFeatureNotSupportedException}
> *
> * @param x the object representing value to be sent to the database
> * @param targetSqlType the SQL type to convert the object to
> * @exception SQLException if a database access error occurs
> * @exception SQLFeatureNotSupportedException if
> * the JDBC driver does not support this data type
> * @see JDBCType
> * @see SQLType
> * @since 1.8
> */
> default void writeObject(Object x, SQLType targetSqlType) throws SQLException {
> throw new SQLFeatureNotSupportedException("writeObject not implemented");
> }
>
>
> I have had a brief discussion some of you get your input prior to sending this out to the wider audience to make sure we are in sync
>
> Best
> Lance
>
> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
> Oracle Java Engineering
> 1 Network Drive
> Burlington, MA 01803
> Lance.Andersen at oracle.com
>
>
More information about the jdbc-spec-discuss
mailing list