1
0
Fork 0
libreoffice/offapi/com/sun/star/sdbc/XSQLOutput.idl
Daniel Baumann 8e63e14cf6
Adding upstream version 4:25.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 16:20:04 +02:00

261 lines
8.7 KiB
Text

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
module com { module sun { module star { module io {
published interface XInputStream;
};};};};
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
com::sun::star::sdbc::XSQLData
is passed as an argument to a SQL statement, the JDBC driver calls
com::sun::star::sdbc::SQLData::getSQLType()
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
com::sun::star::sdbc::XSQLData::writeSQL()
. The method
<code>writeSQL</code>
in turn calls the appropriate
<code>XSQLOutput.writeXXX</code>
methods to write data from the
com::sun::star::sdbc::XSQLData
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
com::sun::star::sdbc::XSQLData::writeSQL()
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
com::sun::star::sdbc::XSQLInput
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(&amp;lt;structured-type&amp;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);
};
}; }; }; };
/*===========================================================================
===========================================================================*/
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */