summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sdbc/XSQLInput.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/sdbc/XSQLInput.idl')
-rw-r--r--offapi/com/sun/star/sdbc/XSQLInput.idl264
1 files changed, 264 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdbc/XSQLInput.idl b/offapi/com/sun/star/sdbc/XSQLInput.idl
new file mode 100644
index 000000000..9b3171382
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLInput.idl
@@ -0,0 +1,264 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_sdbc_XSQLInput_idl__
+#define __com_sun_star_sdbc_XSQLInput_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+#include <com/sun/star/util/DateTime.idl>
+
+#include <com/sun/star/util/Time.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+
+
+/** represents an input stream that contains a stream of values representing an
+ instance of a SQL structured or distinct type.
+
+
+ <p>
+ This interface, used only for custom mapping, is used by the driver
+ behind the scenes, and a programmer never directly invokes
+ <code>SQLInput</code>
+ methods.
+ </p>
+ <p>
+ When the method
+ <code>getObject</code>
+ is called with an object of a service implementing the interface
+ <code>SQLData</code>
+ , the SDBC driver calls the method
+ com::sun::star::sdbc::XSQLData::getSQLType()
+ to determine the SQL type of the user-defined type (UDT) being custom mapped.
+ The driver creates an instance of
+ com::sun::star::sdbc::XSQLInput
+ ,
+ populating it with the attributes of the UDT. The driver then passes the input
+ stream to the method
+ com::sun::star::sdbc::XSQLData::readSQL()
+ , which in turn calls the
+ <code>XSQLInput.readXXX</code>
+ methods in its implementation for reading the attributes from the input stream.
+ </p>
+ */
+published interface XSQLInput: com::sun::star::uno::XInterface
+{
+
+ /** reads the next attribute in the stream as string.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ string readString() raises (SQLException);
+
+ /** reads the next attribute in the stream as boolean.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean readBoolean() raises (SQLException);
+
+ /** reads the next attribute in the stream as byte.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ byte readByte() raises (SQLException);
+
+ /** reads the next attribute in the stream as short.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ short readShort() raises (SQLException);
+
+ /** reads the next attribute in the stream as long.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long readInt() raises (SQLException);
+
+ /** reads the next attribute in the stream as hyper.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper readLong() raises (SQLException);
+
+ /** reads the next attribute in the stream as float.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ float readFloat() raises (SQLException);
+
+ /** reads the next attribute in the stream as double.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ double readDouble() raises (SQLException);
+
+ /** reads the next attribute in the stream as sequence of bytes.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ sequence<byte> readBytes() raises (SQLException);
+
+ /** reads the next attribute in the stream as date.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Date readDate() raises (SQLException);
+
+ /** reads the next attribute in the stream as time.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Time readTime() raises (SQLException);
+
+ /** reads the next attribute in the stream as datetime.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::DateTime readTimestamp() raises (SQLException);
+
+ /** reads the next attribute in the stream as sequence of bytes.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream readBinaryStream() raises (SQLException);
+
+ /** reads the next attribute in the stream as a Unicode string.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream readCharacterStream() raises (SQLException);
+
+ /** returns the datum at the head of the stream as an any.
+
+
+ <p>
+ The actual type of the any returned is determined by the default
+ type mapping, and any customizations present in this stream's type map.
+
+ <br/>
+ A type map is registered with the stream by the SDBC driver before the
+ stream is passed to the application.
+
+ <br/>
+ When the datum at the head of the stream is a SQL NULL,
+ the method returns `VOID`. If the datum is a SQL structured or distinct
+ type, it determines the SQL type of the datum at the head of the stream,
+ constructs an object of the appropriate service, and calls the method
+ com::sun::star::sdbc::XSQLData::readSQL()
+ on that object, which reads additional data
+ from the stream using the protocol described for that method.
+
+ </p>
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ any readObject() raises (SQLException);
+
+ /** reads a REF(&amp;lt;structured-type&amp;gt;) from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XRef readRef() raises (SQLException);
+
+ /** reads a BLOB from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XBlob readBlob() raises (SQLException);
+
+ /** reads a CLOB from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XClob readClob() raises (SQLException);
+
+ /** reads an array from the stream.
+ @returns
+ the attribute; if the value is SQL NULL, return null.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XArray readArray() raises (SQLException);
+
+ /** determines whether the last value read was null.
+ @returns
+ `TRUE` if the most recently gotten SQL value was null; otherwise, `FALSE`
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean wasNull() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */