xref: /trunk/main/offapi/com/sun/star/sdbc/XBlob.idl (revision ffd38472365e95f6a578737bc9a5eb0fac624a86)
1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19cdf0e10cSrcweir *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_XBlob_idl__
24cdf0e10cSrcweir#define __com_sun_star_sdbc_XBlob_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir module com {  module sun {  module star {  module io {
31cdf0e10cSrcweir published interface XInputStream;
32cdf0e10cSrcweir};};};};
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_SQLException_idl__
35cdf0e10cSrcweir#include <com/sun/star/sdbc/SQLException.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir module com {  module sun {  module star {  module sdbc {
39cdf0e10cSrcweir
40cdf0e10cSrcweir
41cdf0e10cSrcweir/** is the representation (mapping) of an SQL
42cdf0e10cSrcweir    <i>
43cdf0e10cSrcweir    BLOB
44cdf0e10cSrcweir    </i>
45cdf0e10cSrcweir    .
46cdf0e10cSrcweir
47cdf0e10cSrcweir    <p>
48cdf0e10cSrcweir    A SQL
49cdf0e10cSrcweir    <i>
50cdf0e10cSrcweir    BLOB
51cdf0e10cSrcweir    </i>
52cdf0e10cSrcweir    is a built-in type that stores a
53cdf0e10cSrcweir    Binary Large Object as a column value in a row of a database table.
54cdf0e10cSrcweir    The driver implements
55cdf0e10cSrcweir    <i>
56cdf0e10cSrcweir    BLOB
57cdf0e10cSrcweir    </i>
58cdf0e10cSrcweir    using a
59cdf0e10cSrcweir    SQL
60cdf0e10cSrcweir    <code>locator(BLOB)</code>
61cdf0e10cSrcweir    , which means that a
62cdf0e10cSrcweir    <code>Blob</code>
63cdf0e10cSrcweir    object contains a logical pointer to the SQL
64cdf0e10cSrcweir    <i>
65cdf0e10cSrcweir    BLOB
66cdf0e10cSrcweir    </i>
67cdf0e10cSrcweir    data rather than the data itself.
68cdf0e10cSrcweir    <br/>
69cdf0e10cSrcweir    A
70cdf0e10cSrcweir    <code>Blob</code>
71cdf0e10cSrcweir    object is valid for the duration of the transaction in which is was created.
72cdf0e10cSrcweir
73cdf0e10cSrcweir    </p>
74cdf0e10cSrcweir    <p>
75cdf0e10cSrcweir    Methods in the interfaces
76cdf0e10cSrcweir    <type scope="com::sun::star::sdbc">XResultSet</type>
77cdf0e10cSrcweir    ,
78cdf0e10cSrcweir    and
79cdf0e10cSrcweir    <type scope="com::sun::star::sdbc">XPreparedStatement</type>
80cdf0e10cSrcweir    , such as
81cdf0e10cSrcweir    <code>getBlob</code>
82cdf0e10cSrcweir    and
83cdf0e10cSrcweir    <code>setBlob</code>
84cdf0e10cSrcweir    allow a programmer to access the SQL
85cdf0e10cSrcweir    <i>
86cdf0e10cSrcweir    BLOB
87cdf0e10cSrcweir    </i>
88cdf0e10cSrcweir    .
89cdf0e10cSrcweir    <br/>
90cdf0e10cSrcweir    The
91cdf0e10cSrcweir    <code>Blob</code>
92cdf0e10cSrcweir    interface provides methods for getting the length of a SQL
93cdf0e10cSrcweir    <i>
94cdf0e10cSrcweir    BLOB
95cdf0e10cSrcweir    </i>
96cdf0e10cSrcweir    (Binary Large Object) value, for materializing a
97cdf0e10cSrcweir    <i>
98cdf0e10cSrcweir    BLOB
99cdf0e10cSrcweir    </i>
100cdf0e10cSrcweir    value on the client and for determining the position of a pattern of bytes within a
101cdf0e10cSrcweir    <i>
102cdf0e10cSrcweir    BLOB
103cdf0e10cSrcweir    </i>
104cdf0e10cSrcweir    value.
105cdf0e10cSrcweir    </p>
106cdf0e10cSrcweir */
107cdf0e10cSrcweirpublished interface XBlob: com::sun::star::uno::XInterface
108cdf0e10cSrcweir{
109cdf0e10cSrcweir    //-------------------------------------------------------------------------
110cdf0e10cSrcweir
111cdf0e10cSrcweir    /** returns the number of bytes in the
112cdf0e10cSrcweir        <i>
113cdf0e10cSrcweir        BLOB
114cdf0e10cSrcweir        </i>
115cdf0e10cSrcweir        value
116cdf0e10cSrcweir        designated by this
117cdf0e10cSrcweir        <code>Blob</code>
118cdf0e10cSrcweir        object.
119cdf0e10cSrcweir        @returns
120cdf0e10cSrcweir            the length
121cdf0e10cSrcweir        @throws SQLException
122cdf0e10cSrcweir            if a database access error occurs.
123cdf0e10cSrcweir     */
124cdf0e10cSrcweir    hyper length() raises (SQLException);
125cdf0e10cSrcweir
126cdf0e10cSrcweir    //-------------------------------------------------------------------------
127cdf0e10cSrcweir
128cdf0e10cSrcweir    /** returns as an array of bytes part or all of the
129cdf0e10cSrcweir            <i>
130cdf0e10cSrcweir            BLOB
131cdf0e10cSrcweir            </i>
132cdf0e10cSrcweir             value that this
133cdf0e10cSrcweir             <code>Blob</code>
134cdf0e10cSrcweir             object designates.  The byte
135cdf0e10cSrcweir             array contains up to
136cdf0e10cSrcweir             <code>length</code>
137cdf0e10cSrcweir             consecutive bytes
138cdf0e10cSrcweir             starting at position
139cdf0e10cSrcweir             <code>pos</code>.
140cdf0e10cSrcweir             @param pos
141cdf0e10cSrcweir                is the ordinal position of the first byte in the
142cdf0e10cSrcweir                <i>
143cdf0e10cSrcweir                BLOB
144cdf0e10cSrcweir                </i>
145cdf0e10cSrcweir                value to be extracted; the first byte is at
146cdf0e10cSrcweir                position 1.
147cdf0e10cSrcweir             @param length
148cdf0e10cSrcweir                is the number of consecutive bytes to be copied.
149cdf0e10cSrcweir             @returns
150cdf0e10cSrcweir                a byte array containing up to
151cdf0e10cSrcweir                <code>length</code>
152cdf0e10cSrcweir                consecutive bytes from the
153cdf0e10cSrcweir                <i>
154cdf0e10cSrcweir                BLOB
155cdf0e10cSrcweir                </i>
156cdf0e10cSrcweir                value designated
157cdf0e10cSrcweir                by this
158cdf0e10cSrcweir                <code>Blob</code>
159cdf0e10cSrcweir                object, starting with the byte at position
160cdf0e10cSrcweir                <code>pos</code>
161cdf0e10cSrcweir                .
162cdf0e10cSrcweir             @throws SQLException
163cdf0e10cSrcweir                if there is an error accessing the
164cdf0e10cSrcweir                <i>
165cdf0e10cSrcweir                BLOB
166cdf0e10cSrcweir                </i>
167cdf0e10cSrcweir                .
168cdf0e10cSrcweir     */
169cdf0e10cSrcweir    sequence<byte> getBytes([in]hyper pos, [in]long length)
170cdf0e10cSrcweir        raises (SQLException);
171cdf0e10cSrcweir
172cdf0e10cSrcweir    //-------------------------------------------------------------------------
173cdf0e10cSrcweir
174cdf0e10cSrcweir    /** retrieves the
175cdf0e10cSrcweir        <i>
176cdf0e10cSrcweir        BLOB
177cdf0e10cSrcweir        </i>
178cdf0e10cSrcweir        designated by this
179cdf0e10cSrcweir        <code>Blob</code>
180cdf0e10cSrcweir        instance as a stream.
181cdf0e10cSrcweir        @returns
182cdf0e10cSrcweir            the stream
183cdf0e10cSrcweir        @throws SQLException
184cdf0e10cSrcweir            if a database access error occurs.
185cdf0e10cSrcweir     */
186cdf0e10cSrcweir    com::sun::star::io::XInputStream getBinaryStream()
187cdf0e10cSrcweir        raises (SQLException);
188cdf0e10cSrcweir    //-------------------------------------------------------------------------
189cdf0e10cSrcweir
190cdf0e10cSrcweir    /** determines the byte position at which the specified byte
191cdf0e10cSrcweir        <code>pattern</code>
192cdf0e10cSrcweir        begins within the
193cdf0e10cSrcweir        <i>
194cdf0e10cSrcweir        BLOB
195cdf0e10cSrcweir        </i>
196cdf0e10cSrcweir        value that this
197cdf0e10cSrcweir        <code>Blob</code>
198cdf0e10cSrcweir        object represents.  The
199cdf0e10cSrcweir        search for
200cdf0e10cSrcweir        <code>pattern</code>
201cdf0e10cSrcweir        begins at position
202cdf0e10cSrcweir        <code>start</code>
203cdf0e10cSrcweir        .
204cdf0e10cSrcweir        @param pattern
205cdf0e10cSrcweir            the pattern to search
206cdf0e10cSrcweir        @returns
207cdf0e10cSrcweir            the position
208cdf0e10cSrcweir        @throws SQLException
209cdf0e10cSrcweir            if a database access error occurs.
210cdf0e10cSrcweir     */
211cdf0e10cSrcweir    hyper position([in]sequence<byte> pattern, [in]hyper start)
212cdf0e10cSrcweir        raises (SQLException);
213cdf0e10cSrcweir
214cdf0e10cSrcweir    //-------------------------------------------------------------------------
215cdf0e10cSrcweir
216cdf0e10cSrcweir    /** determines the byte position in the
217cdf0e10cSrcweir        <i>
218cdf0e10cSrcweir        BLOB
219cdf0e10cSrcweir        </i>
220cdf0e10cSrcweir        value
221cdf0e10cSrcweir        designated by this
222cdf0e10cSrcweir        <code>Blob</code>
223cdf0e10cSrcweir        object at which
224cdf0e10cSrcweir        <code>pattern</code>
225cdf0e10cSrcweir        begins. The search begins at position
226cdf0e10cSrcweir        <code>start</code>
227cdf0e10cSrcweir        .
228cdf0e10cSrcweir        @param pattern
229cdf0e10cSrcweir            the pattern to search
230cdf0e10cSrcweir        @param start
231cdf0e10cSrcweir            position to start
232cdf0e10cSrcweir        @returns
233cdf0e10cSrcweir            the position
234cdf0e10cSrcweir        @throws SQLException
235cdf0e10cSrcweir            if a database access error occurs.
236cdf0e10cSrcweir     */
237cdf0e10cSrcweir    hyper positionOfBlob([in]XBlob pattern,[in] hyper start)
238cdf0e10cSrcweir        raises (SQLException);
239cdf0e10cSrcweir};
240cdf0e10cSrcweir
241cdf0e10cSrcweir//=============================================================================
242cdf0e10cSrcweir
243cdf0e10cSrcweir}; }; }; };
244cdf0e10cSrcweir
245cdf0e10cSrcweir/*===========================================================================
246cdf0e10cSrcweir===========================================================================*/
247cdf0e10cSrcweir#endif
248