| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_sdbc_XSQLOutput_idl__ |
| #define __com_sun_star_sdbc_XSQLOutput_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_util_Date_idl__ |
| #include <com/sun/star/util/Date.idl> |
| #endif |
| |
| #ifndef __com_sun_star_util_DateTime_idl__ |
| #include <com/sun/star/util/DateTime.idl> |
| #endif |
| |
| #ifndef __com_sun_star_util_Time_idl__ |
| #include <com/sun/star/util/Time.idl> |
| #endif |
| |
| module com { module sun { module star { module io { |
| published interface XInputStream; |
| };};};}; |
| |
| #ifndef __com_sun_star_sdbc_SQLException_idl__ |
| #include <com/sun/star/sdbc/SQLException.idl> |
| #endif |
| |
| module com { module sun { module star { module sdbc { |
| |
| published interface XRef; |
| published interface XArray; |
| published interface XBlob; |
| published interface XClob; |
| published interface XStruct; |
| published interface XSQLData; |
| |
| |
| /** is used as an output stream for writing the attributes of a user-defined |
| type back to the database. This interface, used only for custom mapping, |
| is used by the driver, and its methods are never directly invoked |
| by a programmer. |
| |
| |
| <p> |
| When an object of a class implementing interface |
| <type scope="com::sun::star::sdbc">XSQLData</type> |
| is passed as an argument to a SQL statement, the JDBC driver calls |
| <method scope="com::sun::star::sdbc">SQLData::getSQLType</method> |
| to determine the kind of SQL datum being passed to the database. |
| <br/> |
| The driver then creates an instance of |
| <code>XSQLOutput</code> |
| and passes it to the method |
| <method scope="com::sun::star::sdbc">XSQLData::writeSQL</method> |
| . The method |
| <code>writeSQL</code> |
| in turn calls the appropriate |
| <code>XSQLOutput.writeXXX</code> |
| methods to write data from the |
| <type scope="com::sun::star::sdbc">XSQLData</type> |
| object to the |
| <code>XSQLOutput</code> |
| output stream as the representation of a SQL user-defined type.</p> |
| */ |
| published interface XSQLOutput: com::sun::star::uno::XInterface |
| { |
| |
| /** writes the next attribute to the stream as a string. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeString([in]string x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as boolean. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeBoolean([in]boolean x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as byte. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeByte([in]byte x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as short. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeShort([in]short x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as long. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeInt([in]long x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as hyper. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeLong([in]hyper x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as float. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeFloat([in]float x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as double. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeDouble([in]double x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as byte sequence. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeBytes([in]sequence<byte> x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as a date. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeDate([in]com::sun::star::util::Date x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as a time. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeTime([in]com::sun::star::util::Time x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as a datetime. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeTimestamp([in]com::sun::star::util::DateTime x) |
| raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as a stream of uninterpreted |
| bytes. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeBinaryStream([in]com::sun::star::io::XInputStream x) |
| raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes the next attribute to the stream as a stream of unicode string. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeCharacterStream([in]com::sun::star::io::XInputStream x) |
| raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes to the stream the data contained in the given |
| <code>XSQLData</code> object. |
| |
| |
| <p |
| >When the |
| <code>XSQLData</code> |
| object is |
| <NULL/> |
| , this method writes an SQL NULL to the stream. |
| Otherwise, it calls the |
| <member scope="com::sun::star::sdbc">XSQLData::writeSQL()</member> |
| method of the given object, which |
| writes the object's attributes to the stream. |
| The implementation of the method |
| <code>XSQLData::writeSQL()</code> |
| calls the appropriate |
| <code>XSQLOutput.writeXXX</code> |
| method(s) for writing each of the object's attributes in order. |
| <br/> |
| The attributes must be read from an |
| <type scope="com::sun::star::sdbc">XSQLInput</type> |
| input stream and written to an |
| <code>XSQLOutput</code> |
| output stream in the same order in which they were |
| listed in the SQL definition of the user-defined type. |
| </p> |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeObject([in]XSQLData x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes a REF(&lt;structured-type&gt;) to the stream. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeRef([in]XRef x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes a BLOB to the stream. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeBlob([in]XBlob x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes a CLOB to the stream. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeClob([in]XClob x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes a structured-type to the stream. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeStruct([in]XStruct x) raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** writes an array to the stream. |
| @param x |
| the value to pass to the database. |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| void writeArray([in]XArray x) raises (SQLException); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| /*=========================================================================== |
| ===========================================================================*/ |
| #endif |