xref: /trunk/main/connectivity/source/inc/java/sql/CallableStatement.hxx (revision 9d37da743abb7db0a497688391f6e55a19f27c44)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef _CONNECTIVITY_JAVA_SQL_CALLABLESTATEMENT_HXX_
24 #define _CONNECTIVITY_JAVA_SQL_CALLABLESTATEMENT_HXX_
25 
26 #include "java/sql/PreparedStatement.hxx"
27 #include <com/sun/star/sdbc/XRow.hpp>
28 #include <com/sun/star/sdbc/XOutParameters.hpp>
29 
30 namespace connectivity
31 {
32 
33     //**************************************************************
34     //************ Class: java.sql.CallableStatement
35     //**************************************************************
36 
37     class java_sql_CallableStatement :  public java_sql_PreparedStatement,
38                                                                                 public ::com::sun::star::sdbc::XRow,
39                                                                                 public ::com::sun::star::sdbc::XOutParameters
40     {
41     protected:
42     // statische Daten fuer die Klasse
43         static jclass theClass;
44         virtual void createStatement(JNIEnv* _pEnv);
45 
46         virtual ~java_sql_CallableStatement();
47     public:
48         DECLARE_SERVICE_INFO();
49         virtual jclass getMyClass() const;
50 
51         // ein Konstruktor, der fuer das Returnen des Objektes benoetigt wird:
52         java_sql_CallableStatement( JNIEnv * pEnv, java_sql_Connection& _rCon, const ::rtl::OUString& sql );
53 
54         virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType );
55         virtual void SAL_CALL acquire() throw();
56         virtual void SAL_CALL release() throw();
57         //XTypeProvider
58         virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes(  );
59 
60         // XRow
61         virtual sal_Bool SAL_CALL wasNull(  );
62         virtual ::rtl::OUString SAL_CALL getString( sal_Int32 columnIndex );
63         virtual sal_Bool SAL_CALL getBoolean( sal_Int32 columnIndex );
64         virtual sal_Int8 SAL_CALL getByte( sal_Int32 columnIndex );
65         virtual sal_Int16 SAL_CALL getShort( sal_Int32 columnIndex );
66         virtual sal_Int32 SAL_CALL getInt( sal_Int32 columnIndex );
67         virtual sal_Int64 SAL_CALL getLong( sal_Int32 columnIndex );
68         virtual float SAL_CALL getFloat( sal_Int32 columnIndex );
69         virtual double SAL_CALL getDouble( sal_Int32 columnIndex );
70         virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getBytes( sal_Int32 columnIndex );
71         virtual ::com::sun::star::util::Date SAL_CALL getDate( sal_Int32 columnIndex );
72         virtual ::com::sun::star::util::Time SAL_CALL getTime( sal_Int32 columnIndex );
73         virtual ::com::sun::star::util::DateTime SAL_CALL getTimestamp( sal_Int32 columnIndex );
74         virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getBinaryStream( sal_Int32 columnIndex );
75         virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getCharacterStream( sal_Int32 columnIndex );
76         virtual ::com::sun::star::uno::Any SAL_CALL getObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& typeMap );
77         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef > SAL_CALL getRef( sal_Int32 columnIndex );
78         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob > SAL_CALL getBlob( sal_Int32 columnIndex );
79         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob > SAL_CALL getClob( sal_Int32 columnIndex );
80         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray > SAL_CALL getArray( sal_Int32 columnIndex );
81         // XOutParameters
82         virtual void SAL_CALL registerOutParameter( sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& typeName );
83         virtual void SAL_CALL registerNumericOutParameter( sal_Int32 parameterIndex, sal_Int32 sqlType, sal_Int32 scale );
84     };
85 }
86 #endif // _CONNECTIVITY_JAVA_SQL_CALLABLESTATEMENT_HXX_
87