summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/sdbc/XBlob.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/sdbc/XBlob.idl')
-rw-r--r--offapi/com/sun/star/sdbc/XBlob.idl251
1 files changed, 251 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdbc/XBlob.idl b/offapi/com/sun/star/sdbc/XBlob.idl
new file mode 100644
index 000000000000..ef42045662b5
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XBlob.idl
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XBlob_idl__
+#define __com_sun_star_sdbc_XBlob_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.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 {
+
+
+/** is the representation (mapping) of an SQL
+ <i>
+ BLOB
+ </i>
+ .
+
+ <p>
+ A SQL
+ <i>
+ BLOB
+ </i>
+ is a built-in type that stores a
+ Binary Large Object as a column value in a row of a database table.
+ The driver implements
+ <i>
+ BLOB
+ </i>
+ using a
+ SQL
+ <code>locator(BLOB)</code>
+ , which means that a
+ <code>Blob</code>
+ object contains a logical pointer to the SQL
+ <i>
+ BLOB
+ </i>
+ data rather than the data itself.
+ <br/>
+ A
+ <code>Blob</code>
+ object is valid for the duration of the transaction in which is was created.
+
+ </p>
+ <p>
+ Methods in the interfaces
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ ,
+ and
+ <type scope="com::sun::star::sdbc">XPreparedStatement</type>
+ , such as
+ <code>getBlob</code>
+ and
+ <code>setBlob</code>
+ allow a programmer to access the SQL
+ <i>
+ BLOB
+ </i>
+ .
+ <br/>
+ The
+ <code>Blob</code>
+ interface provides methods for getting the length of a SQL
+ <i>
+ BLOB
+ </i>
+ (Binary Large Object) value, for materializing a
+ <i>
+ BLOB
+ </i>
+ value on the client and for determining the position of a pattern of bytes within a
+ <i>
+ BLOB
+ </i>
+ value.
+ </p>
+ */
+published interface XBlob: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns the number of bytes in the
+ <i>
+ BLOB
+ </i>
+ value
+ designated by this
+ <code>Blob</code>
+ object.
+ @returns
+ the length
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper length() raises (SQLException);
+
+ //-------------------------------------------------------------------------
+
+ /** returns as an array of bytes part or all of the
+ <i>
+ BLOB
+ </i>
+ value that this
+ <code>Blob</code>
+ object designates. The byte
+ array contains up to
+ <code>length</code>
+ consecutive bytes
+ starting at position
+ <code>pos</code>.
+ @param pos
+ is the ordinal position of the first byte in the
+ <i>
+ BLOB
+ </i>
+ value to be extracted; the first byte is at
+ position 1.
+ @param length
+ is the number of consecutive bytes to be copied.
+ @returns
+ a byte array containing up to
+ <code>length</code>
+ consecutive bytes from the
+ <i>
+ BLOB
+ </i>
+ value designated
+ by this
+ <code>Blob</code>
+ object, starting with the byte at position
+ <code>pos</code>
+ .
+ @throws SQLException
+ if there is an error accessing the
+ <i>
+ BLOB
+ </i>
+ .
+ */
+ sequence<byte> getBytes([in]hyper pos, [in]long length)
+ raises (SQLException);
+
+ //-------------------------------------------------------------------------
+
+ /** retrieves the
+ <i>
+ BLOB
+ </i>
+ designated by this
+ <code>Blob</code>
+ instance as a stream.
+ @returns
+ the stream
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getBinaryStream()
+ raises (SQLException);
+ //-------------------------------------------------------------------------
+
+ /** determines the byte position at which the specified byte
+ <code>pattern</code>
+ begins within the
+ <i>
+ BLOB
+ </i>
+ value that this
+ <code>Blob</code>
+ object represents. The
+ search for
+ <code>pattern</code>
+ begins at position
+ <code>start</code>
+ .
+ @param pattern
+ the pattern to search
+ @returns
+ the position
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper position([in]sequence<byte> pattern, [in]hyper start)
+ raises (SQLException);
+
+ //-------------------------------------------------------------------------
+
+ /** determines the byte position in the
+ <i>
+ BLOB
+ </i>
+ value
+ designated by this
+ <code>Blob</code>
+ object at which
+ <code>pattern</code>
+ begins. The search begins at position
+ <code>start</code>
+ .
+ @param pattern
+ the pattern to search
+ @param start
+ position to start
+ @returns
+ the position
+ @throws SQLException
+ if a database access error occurs.
+ */
+ hyper positionOfBlob([in]XBlob pattern,[in] hyper start)
+ raises (SQLException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif