151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski/* 251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved. 351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * This code is free software; you can redistribute it and/or modify it 651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * under the terms of the GNU General Public License version 2 only, as 751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * published by the Free Software Foundation. Oracle designates this 851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * particular file as subject to the "Classpath" exception as provided 951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * by Oracle in the LICENSE file that accompanied this code. 1051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 1151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * This code is distributed in the hope that it will be useful, but WITHOUT 1251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * version 2 for more details (a copy is included in the LICENSE file that 1551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * accompanied this code). 1651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 1751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * You should have received a copy of the GNU General Public License version 1851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 2 along with this work; if not, write to the Free Software Foundation, 1951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 2151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * or visit www.oracle.com if you need additional information or have any 2351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * questions. 2451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 2551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 2651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebskipackage java.sql; 2751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 2851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski/** 2951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The output stream for writing the attributes of a user-defined 3051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * type back to the database. This interface, used 3151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * only for custom mapping, is used by the driver, and its 3251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * methods are never directly invoked by a programmer. 3351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <p>When an object of a class implementing the interface 3451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>SQLData</code> is passed as an argument to an SQL statement, the 3551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * JDBC driver calls the method <code>SQLData.getSQLType</code> to 3651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * determine the kind of SQL 3751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * datum being passed to the database. 3851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The driver then creates an instance of <code>SQLOutput</code> and 3951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * passes it to the method <code>SQLData.writeSQL</code>. 4051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The method <code>writeSQL</code> in turn calls the 4151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * appropriate <code>SQLOutput</code> <i>writer</i> methods 4251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>writeBoolean</code>, <code>writeCharacterStream</code>, and so on) 4351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * to write data from the <code>SQLData</code> object to 4451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * the <code>SQLOutput</code> output stream as the 4551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * representation of an SQL user-defined type. 4651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 4751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 4851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 4951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski public interface SQLOutput { 5051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 5151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski //================================================================ 5251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // Methods for writing attributes to the stream of SQL data. 5351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // These methods correspond to the column-accessor methods of 5451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // java.sql.ResultSet. 5551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski //================================================================ 5651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 5751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 5851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 5951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 6051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 6151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 6251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 6351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 6451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 6551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 6651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 6751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeString(String x) throws SQLException; 6851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 6951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 7051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java boolean. 7151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 7251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 7351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 7451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 7551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 7651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 7751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 7851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 7951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 8051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeBoolean(boolean x) throws SQLException; 8151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 8251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 8351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java byte. 8451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 8551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 8651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 8751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 8851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 8951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 9051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 9151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 9251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 9351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeByte(byte x) throws SQLException; 9451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 9551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 9651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java short. 9751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 9851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 9951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 10051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 10151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 10251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 10351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 10451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 10551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 10651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeShort(short x) throws SQLException; 10751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 10851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 10951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java int. 11051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 11151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 11251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 11351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 11451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 11551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 11651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 11751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 11851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 11951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeInt(int x) throws SQLException; 12051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 12151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 12251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java long. 12351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 12451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 12551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 12651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 12751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 12851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 12951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 13051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 13151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 13251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeLong(long x) throws SQLException; 13351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 13451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 13551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java float. 13651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 13751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 13851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 13951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 14051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 14151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 14251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 14351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 14451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 14551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeFloat(float x) throws SQLException; 14651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 14751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 14851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a Java double. 14951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 15051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 15151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 15251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 15351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 15451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 15551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 15651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 15751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 15851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeDouble(double x) throws SQLException; 15951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 16051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 16151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a java.math.BigDecimal object. 16251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 16351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 16451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 16551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 16651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 16751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 16851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 16951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 17051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 17151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeBigDecimal(java.math.BigDecimal x) throws SQLException; 17251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 17351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 17451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as an array of bytes. 17551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 17651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 17751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 17851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 17951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 18051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 18151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 18251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 18351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 18451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeBytes(byte[] x) throws SQLException; 18551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 18651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 18751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a java.sql.Date object. 18851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>java.sql.Date</code> object 18951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 19051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 19151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 19251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 19351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 19451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 19551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 19651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 19751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeDate(java.sql.Date x) throws SQLException; 19851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 19951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 20051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a java.sql.Time object. 20151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>java.sql.Date</code> object 20251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 20351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 20451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 20551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 20651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 20751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 20851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 20951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 21051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeTime(java.sql.Time x) throws SQLException; 21151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 21251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 21351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a java.sql.Timestamp object. 21451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>java.sql.Date</code> object 21551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. 21651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 21751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 21851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 21951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 22051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 22151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 22251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 22351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeTimestamp(java.sql.Timestamp x) throws SQLException; 22451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 22551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 22651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a stream of Unicode characters. 22751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 22851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 22951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 23051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 23151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 23251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 23351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 23451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeCharacterStream(java.io.Reader x) throws SQLException; 23551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 23651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 23751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a stream of ASCII characters. 23851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 23951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 24051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 24151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 24251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 24351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 24451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 24551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeAsciiStream(java.io.InputStream x) throws SQLException; 24651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 24751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 24851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a stream of uninterpreted 24951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * bytes. 25051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 25151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 25251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 25351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 25451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 25551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 25651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 25751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeBinaryStream(java.io.InputStream x) throws SQLException; 25851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 25951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski //================================================================ 26051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // Methods for writing items of SQL user-defined types to the stream. 26151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // These methods pass objects to the database as values of SQL 26251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // Structured Types, Distinct Types, Constructed Types, and Locator 26351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // Types. They decompose the Java object(s) and write leaf data 26451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski // items using the methods above. 26551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski //================================================================ 26651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 26751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 26851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes to the stream the data contained in the given 26951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>SQLData</code> object. 27051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * When the <code>SQLData</code> object is <code>null</code>, this 27151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * method writes an SQL <code>NULL</code> to the stream. 27251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Otherwise, it calls the <code>SQLData.writeSQL</code> 27351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * method of the given object, which 27451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * writes the object's attributes to the stream. 27551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The implementation of the method <code>SQLData.writeSQ</code> 27651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * calls the appropriate <code>SQLOutput</code> writer method(s) 27751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * for writing each of the object's attributes in order. 27851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * The attributes must be read from an <code>SQLInput</code> 27951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * input stream and written to an <code>SQLOutput</code> 28051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * output stream in the same order in which they were 28151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * listed in the SQL definition of the user-defined type. 28251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 28351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the object representing data of an SQL structured or 28451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * distinct type 28551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 28651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 28751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 28851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 28951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 29051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeObject(SQLData x) throws SQLException; 29151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 29251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 29351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>REF</code> value to the stream. 29451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 29551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>Ref</code> object representing data of an SQL 29651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>REF</code> value 29751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 29851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 29951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 30051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 30151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 30251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeRef(Ref x) throws SQLException; 30351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 30451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 30551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>BLOB</code> value to the stream. 30651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 30751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>Blob</code> object representing data of an SQL 30851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>BLOB</code> value 30951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 31051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 31151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 31251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 31351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 31451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 31551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeBlob(Blob x) throws SQLException; 31651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 31751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 31851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>CLOB</code> value to the stream. 31951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 32051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>Clob</code> object representing data of an SQL 32151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>CLOB</code> value 32251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 32351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 32451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 32551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 32651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 32751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 32851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeClob(Clob x) throws SQLException; 32951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 33051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 33151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL structured type value to the stream. 33251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 33351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>Struct</code> object representing data of an SQL 33451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * structured type 33551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 33651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 33751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 33851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 33951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 34051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 34151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeStruct(Struct x) throws SQLException; 34251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 34351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 34451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>ARRAY</code> value to the stream. 34551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 34651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x an <code>Array</code> object representing data of an SQL 34751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>ARRAY</code> type 34851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 34951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 35051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 35151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 35251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.2 35351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 35451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeArray(Array x) throws SQLException; 35551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 35651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski //--------------------------- JDBC 3.0 ------------------------ 35751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 35851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 35951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes a SQL <code>DATALINK</code> value to the stream. 36051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 36151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>java.net.URL</code> object representing the data 36251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * of SQL DATALINK type 36351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 36451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 36551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 36651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 36751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.4 36851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 36951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeURL(java.net.URL x) throws SQLException; 37051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 37151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski //--------------------------- JDBC 4.0 ------------------------ 37251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 37351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 37451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes the next attribute to the stream as a <code>String</code> 37551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * in the Java programming language. The driver converts this to a 37651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * SQL <code>NCHAR</code> or 37751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value 37851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * (depending on the argument's 37951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * size relative to the driver's limits on <code>NVARCHAR</code> values) 38051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * when it sends it to the stream. 38151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 38251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x the value to pass to the database 38351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 38451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 38551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 38651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.6 38751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 38851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeNString(String x) throws SQLException; 38951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 39051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 39151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>NCLOB</code> value to the stream. 39251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 39351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>NClob</code> object representing data of an SQL 39451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>NCLOB</code> value 39551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 39651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 39751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 39851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 39951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.6 40051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 40151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeNClob(NClob x) throws SQLException; 40251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 40351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 40451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 40551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>ROWID</code> value to the stream. 40651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 40751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>RowId</code> object representing data of an SQL 40851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>ROWID</code> value 40951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 41051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLException if a database access error occurs 41151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 41251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 41351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.6 41451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 41551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeRowId(RowId x) throws SQLException; 41651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 41751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 41851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski /** 41951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * Writes an SQL <code>XML</code> value to the stream. 42051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 42151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @param x a <code>SQLXML</code> object representing data of an SQL 42251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>XML</code> value 42351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * 42451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @throws SQLException if a database access error occurs, 42551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * the <code>java.xml.transform.Result</code>, 42651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * <code>Writer</code> or <code>OutputStream</code> has not been closed for the <code>SQLXML</code> object or 42751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * if there is an error processing the XML value. The <code>getCause</code> method 42851b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * of the exception may provide a more detailed exception, for example, if the 42951b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * stream does not contain valid XML. 43051b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 43151b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * this method 43251b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski * @since 1.6 43351b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski */ 43451b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski void writeSQLXML(SQLXML x) throws SQLException; 43551b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 43651b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski 43751b1b6997fd3f980076b8081f7f1165ccc2a4008Piotr Jastrzebski} 438