xref: /trunk/main/connectivity/qa/connectivity/tools/RowSet.java (revision 3309286857f19787ae62bd793a98b5af4edd2ad3)
1c3ab0d6aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3c3ab0d6aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4c3ab0d6aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5c3ab0d6aSAndrew Rist  * distributed with this work for additional information
6c3ab0d6aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7c3ab0d6aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8c3ab0d6aSAndrew Rist  * "License"); you may not use this file except in compliance
9c3ab0d6aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11c3ab0d6aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13c3ab0d6aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14c3ab0d6aSAndrew Rist  * software distributed under the License is distributed on an
15c3ab0d6aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16c3ab0d6aSAndrew Rist  * KIND, either express or implied.  See the License for the
17c3ab0d6aSAndrew Rist  * specific language governing permissions and limitations
18c3ab0d6aSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20c3ab0d6aSAndrew Rist  *************************************************************/
21c3ab0d6aSAndrew Rist 
22c3ab0d6aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package connectivity.tools;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import com.sun.star.beans.XPropertySet;
27cdf0e10cSrcweir import com.sun.star.container.XIndexAccess;
28cdf0e10cSrcweir import com.sun.star.container.XNameAccess;
29cdf0e10cSrcweir import com.sun.star.io.XInputStream;
30cdf0e10cSrcweir import com.sun.star.lang.XComponent;
31cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory;
32cdf0e10cSrcweir import com.sun.star.sdbc.SQLException;
33cdf0e10cSrcweir import com.sun.star.sdbc.XArray;
34cdf0e10cSrcweir import com.sun.star.sdbc.XBlob;
35cdf0e10cSrcweir import com.sun.star.sdbc.XClob;
36cdf0e10cSrcweir import com.sun.star.sdbc.XRef;
37cdf0e10cSrcweir import com.sun.star.sdbc.XRow;
38cdf0e10cSrcweir import com.sun.star.sdbc.XRowSet;
39cdf0e10cSrcweir import com.sun.star.sdbc.XRowSetListener;
40cdf0e10cSrcweir import com.sun.star.sdbcx.XColumnsSupplier;
41cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime;
42cdf0e10cSrcweir import com.sun.star.util.Date;
43cdf0e10cSrcweir import com.sun.star.util.DateTime;
44cdf0e10cSrcweir import com.sun.star.util.Time;
45cdf0e10cSrcweir 
46cdf0e10cSrcweir public class RowSet implements XRowSet, XRow
47cdf0e10cSrcweir {
48cdf0e10cSrcweir     private XRowSet                 m_rowSet;
49cdf0e10cSrcweir     private XRow                    m_row;
50cdf0e10cSrcweir     private XPropertySet            m_rowSetProps;
51cdf0e10cSrcweir 
RowSet( XMultiServiceFactory _orb, String _dataSource, int _commandType, String _command )52cdf0e10cSrcweir     public RowSet( XMultiServiceFactory _orb, String _dataSource, int _commandType, String _command )
53cdf0e10cSrcweir     {
54cdf0e10cSrcweir         try
55cdf0e10cSrcweir         {
56cdf0e10cSrcweir             m_rowSetProps = UnoRuntime.queryInterface( XPropertySet.class, _orb.createInstance( "com.sun.star.sdb.RowSet" ) );
57cdf0e10cSrcweir             m_rowSetProps.setPropertyValue( "DataSourceName", _dataSource );
58cdf0e10cSrcweir             m_rowSetProps.setPropertyValue( "CommandType", new Integer( _commandType ) );
59cdf0e10cSrcweir             m_rowSetProps.setPropertyValue( "Command", _command );
60cdf0e10cSrcweir 
61cdf0e10cSrcweir             m_rowSet = UnoRuntime.queryInterface( XRowSet.class, m_rowSetProps );
62cdf0e10cSrcweir             m_row = UnoRuntime.queryInterface( XRow.class, m_rowSetProps );
63cdf0e10cSrcweir         }
64cdf0e10cSrcweir         catch ( Exception e )
65cdf0e10cSrcweir         {
66cdf0e10cSrcweir             e.printStackTrace(System.err);
67cdf0e10cSrcweir             throw new java.lang.InstantiationError();
68cdf0e10cSrcweir         }
69cdf0e10cSrcweir     }
70cdf0e10cSrcweir 
71cdf0e10cSrcweir     // misc
getColumnCount()72cdf0e10cSrcweir     public int getColumnCount()
73cdf0e10cSrcweir     {
74cdf0e10cSrcweir         XColumnsSupplier suppCols = (XColumnsSupplier)UnoRuntime.queryInterface(
75cdf0e10cSrcweir             XColumnsSupplier.class, m_rowSet );
76cdf0e10cSrcweir         XIndexAccess columns = (XIndexAccess)UnoRuntime.queryInterface(
77cdf0e10cSrcweir             XIndexAccess.class, suppCols.getColumns() );
78cdf0e10cSrcweir         return columns.getCount();
79cdf0e10cSrcweir     }
80cdf0e10cSrcweir 
81cdf0e10cSrcweir     // XRowSet
execute()82cdf0e10cSrcweir     public void execute() throws SQLException
83cdf0e10cSrcweir     {
84cdf0e10cSrcweir         m_rowSet.execute();
85cdf0e10cSrcweir     }
86cdf0e10cSrcweir 
addRowSetListener( XRowSetListener _listener )87cdf0e10cSrcweir     public void addRowSetListener( XRowSetListener _listener )
88cdf0e10cSrcweir     {
89cdf0e10cSrcweir         m_rowSet.addRowSetListener( _listener );
90cdf0e10cSrcweir     }
91cdf0e10cSrcweir 
removeRowSetListener( XRowSetListener _listener )92cdf0e10cSrcweir     public void removeRowSetListener( XRowSetListener _listener )
93cdf0e10cSrcweir     {
94cdf0e10cSrcweir         m_rowSet.removeRowSetListener( _listener );
95cdf0e10cSrcweir     }
96cdf0e10cSrcweir 
next()97cdf0e10cSrcweir     public boolean next() throws SQLException
98cdf0e10cSrcweir     {
99cdf0e10cSrcweir         return m_rowSet.next();
100cdf0e10cSrcweir     }
101cdf0e10cSrcweir 
isBeforeFirst()102cdf0e10cSrcweir     public boolean isBeforeFirst() throws SQLException
103cdf0e10cSrcweir     {
104cdf0e10cSrcweir         return m_rowSet.isBeforeFirst();
105cdf0e10cSrcweir     }
106cdf0e10cSrcweir 
isAfterLast()107cdf0e10cSrcweir     public boolean isAfterLast() throws SQLException
108cdf0e10cSrcweir     {
109cdf0e10cSrcweir         return m_rowSet.isAfterLast();
110cdf0e10cSrcweir     }
111cdf0e10cSrcweir 
isFirst()112cdf0e10cSrcweir     public boolean isFirst() throws SQLException
113cdf0e10cSrcweir     {
114cdf0e10cSrcweir         return m_rowSet.isFirst();
115cdf0e10cSrcweir     }
116cdf0e10cSrcweir 
isLast()117cdf0e10cSrcweir     public boolean isLast() throws SQLException
118cdf0e10cSrcweir     {
119cdf0e10cSrcweir         return m_rowSet.isLast();
120cdf0e10cSrcweir     }
121cdf0e10cSrcweir 
beforeFirst()122cdf0e10cSrcweir     public void beforeFirst() throws SQLException
123cdf0e10cSrcweir     {
124cdf0e10cSrcweir         m_rowSet.beforeFirst();
125cdf0e10cSrcweir     }
126cdf0e10cSrcweir 
afterLast()127cdf0e10cSrcweir     public void afterLast() throws SQLException
128cdf0e10cSrcweir     {
129cdf0e10cSrcweir         m_rowSet.afterLast();
130cdf0e10cSrcweir     }
131cdf0e10cSrcweir 
first()132cdf0e10cSrcweir     public boolean first() throws SQLException
133cdf0e10cSrcweir     {
134cdf0e10cSrcweir         return m_rowSet.first();
135cdf0e10cSrcweir     }
136cdf0e10cSrcweir 
last()137cdf0e10cSrcweir     public boolean last() throws SQLException
138cdf0e10cSrcweir     {
139cdf0e10cSrcweir         return m_rowSet.last();
140cdf0e10cSrcweir     }
141cdf0e10cSrcweir 
getRow()142cdf0e10cSrcweir     public int getRow() throws SQLException
143cdf0e10cSrcweir     {
144cdf0e10cSrcweir         return m_rowSet.getRow();
145cdf0e10cSrcweir     }
146cdf0e10cSrcweir 
absolute(int i)147cdf0e10cSrcweir     public boolean absolute(int i) throws SQLException
148cdf0e10cSrcweir     {
149cdf0e10cSrcweir         return m_rowSet.absolute(i);
150cdf0e10cSrcweir     }
151cdf0e10cSrcweir 
relative(int i)152cdf0e10cSrcweir     public boolean relative(int i) throws SQLException
153cdf0e10cSrcweir     {
154cdf0e10cSrcweir         return m_rowSet.relative(i);
155cdf0e10cSrcweir     }
156cdf0e10cSrcweir 
previous()157cdf0e10cSrcweir     public boolean previous() throws SQLException
158cdf0e10cSrcweir     {
159cdf0e10cSrcweir         return m_rowSet.previous();
160cdf0e10cSrcweir     }
161cdf0e10cSrcweir 
refreshRow()162cdf0e10cSrcweir     public void refreshRow() throws SQLException
163cdf0e10cSrcweir     {
164cdf0e10cSrcweir         m_rowSet.refreshRow();
165cdf0e10cSrcweir     }
166cdf0e10cSrcweir 
rowUpdated()167cdf0e10cSrcweir     public boolean rowUpdated() throws SQLException
168cdf0e10cSrcweir     {
169cdf0e10cSrcweir         return m_rowSet.rowUpdated();
170cdf0e10cSrcweir     }
171cdf0e10cSrcweir 
rowInserted()172cdf0e10cSrcweir     public boolean rowInserted() throws SQLException
173cdf0e10cSrcweir     {
174cdf0e10cSrcweir         return m_rowSet.rowInserted();
175cdf0e10cSrcweir     }
176cdf0e10cSrcweir 
rowDeleted()177cdf0e10cSrcweir     public boolean rowDeleted() throws SQLException
178cdf0e10cSrcweir     {
179cdf0e10cSrcweir         return m_rowSet.rowDeleted();
180cdf0e10cSrcweir     }
181cdf0e10cSrcweir 
182cdf0e10cSrcweir     // XRow
getStatement()183cdf0e10cSrcweir     public Object getStatement() throws SQLException
184cdf0e10cSrcweir     {
185cdf0e10cSrcweir         return m_rowSet.getStatement();
186cdf0e10cSrcweir     }
187cdf0e10cSrcweir 
wasNull()188cdf0e10cSrcweir     public boolean wasNull() throws SQLException
189cdf0e10cSrcweir     {
190cdf0e10cSrcweir         return m_row.wasNull();
191cdf0e10cSrcweir     }
192cdf0e10cSrcweir 
getString(int i)193cdf0e10cSrcweir     public String getString(int i) throws SQLException
194cdf0e10cSrcweir     {
195cdf0e10cSrcweir         return m_row.getString(i);
196cdf0e10cSrcweir     }
197cdf0e10cSrcweir 
getBoolean(int i)198cdf0e10cSrcweir     public boolean getBoolean(int i) throws SQLException
199cdf0e10cSrcweir     {
200cdf0e10cSrcweir         return m_row.getBoolean(i);
201cdf0e10cSrcweir     }
202cdf0e10cSrcweir 
getByte(int i)203cdf0e10cSrcweir     public byte getByte(int i) throws SQLException
204cdf0e10cSrcweir     {
205cdf0e10cSrcweir         return m_row.getByte(i);
206cdf0e10cSrcweir     }
207cdf0e10cSrcweir 
getShort(int i)208cdf0e10cSrcweir     public short getShort(int i) throws SQLException
209cdf0e10cSrcweir     {
210cdf0e10cSrcweir         return m_row.getShort(i);
211cdf0e10cSrcweir     }
212cdf0e10cSrcweir 
getInt(int i)213cdf0e10cSrcweir     public int getInt(int i) throws SQLException
214cdf0e10cSrcweir     {
215cdf0e10cSrcweir         return m_row.getInt(i);
216cdf0e10cSrcweir     }
217cdf0e10cSrcweir 
getLong(int i)218cdf0e10cSrcweir     public long getLong(int i) throws SQLException
219cdf0e10cSrcweir     {
220cdf0e10cSrcweir         return m_row.getLong(i);
221cdf0e10cSrcweir     }
222cdf0e10cSrcweir 
getFloat(int i)223cdf0e10cSrcweir     public float getFloat(int i) throws SQLException
224cdf0e10cSrcweir     {
225cdf0e10cSrcweir         return m_row.getFloat(i);
226cdf0e10cSrcweir     }
227cdf0e10cSrcweir 
getDouble(int i)228cdf0e10cSrcweir     public double getDouble(int i) throws SQLException
229cdf0e10cSrcweir     {
230cdf0e10cSrcweir         return m_row.getDouble(i);
231cdf0e10cSrcweir     }
232cdf0e10cSrcweir 
getBytes(int i)233cdf0e10cSrcweir     public byte[] getBytes(int i) throws SQLException
234cdf0e10cSrcweir     {
235cdf0e10cSrcweir         return m_row.getBytes(i);
236cdf0e10cSrcweir     }
237cdf0e10cSrcweir 
getDate(int i)238cdf0e10cSrcweir     public Date getDate(int i) throws SQLException
239cdf0e10cSrcweir     {
240cdf0e10cSrcweir         return m_row.getDate(i);
241cdf0e10cSrcweir     }
242cdf0e10cSrcweir 
getTime(int i)243cdf0e10cSrcweir     public Time getTime(int i) throws SQLException
244cdf0e10cSrcweir     {
245cdf0e10cSrcweir         return m_row.getTime(i);
246cdf0e10cSrcweir     }
247cdf0e10cSrcweir 
getTimestamp(int i)248cdf0e10cSrcweir     public DateTime getTimestamp(int i) throws SQLException
249cdf0e10cSrcweir     {
250cdf0e10cSrcweir         return m_row.getTimestamp(i);
251cdf0e10cSrcweir     }
252cdf0e10cSrcweir 
getBinaryStream(int i)253cdf0e10cSrcweir     public XInputStream getBinaryStream(int i) throws SQLException
254cdf0e10cSrcweir     {
255cdf0e10cSrcweir         return m_row.getBinaryStream(i);
256cdf0e10cSrcweir     }
257cdf0e10cSrcweir 
getCharacterStream(int i)258cdf0e10cSrcweir     public XInputStream getCharacterStream(int i) throws SQLException
259cdf0e10cSrcweir     {
260cdf0e10cSrcweir         return m_row.getCharacterStream(i);
261cdf0e10cSrcweir     }
262cdf0e10cSrcweir 
getObject(int i, XNameAccess xNameAccess)263cdf0e10cSrcweir     public Object getObject(int i, XNameAccess xNameAccess) throws SQLException
264cdf0e10cSrcweir     {
265cdf0e10cSrcweir         return m_row.getObject(i, xNameAccess);
266cdf0e10cSrcweir     }
267cdf0e10cSrcweir 
getRef(int i)268cdf0e10cSrcweir     public XRef getRef(int i) throws SQLException
269cdf0e10cSrcweir     {
270cdf0e10cSrcweir         return m_row.getRef(i);
271cdf0e10cSrcweir     }
272cdf0e10cSrcweir 
getBlob(int i)273cdf0e10cSrcweir     public XBlob getBlob(int i) throws SQLException
274cdf0e10cSrcweir     {
275cdf0e10cSrcweir         return m_row.getBlob(i);
276cdf0e10cSrcweir     }
277cdf0e10cSrcweir 
getClob(int i)278cdf0e10cSrcweir     public XClob getClob(int i) throws SQLException
279cdf0e10cSrcweir     {
280cdf0e10cSrcweir         return m_row.getClob(i);
281cdf0e10cSrcweir     }
282cdf0e10cSrcweir 
getArray(int i)283cdf0e10cSrcweir     public XArray getArray(int i) throws SQLException
284cdf0e10cSrcweir     {
285cdf0e10cSrcweir         return m_row.getArray(i);
286cdf0e10cSrcweir     }
287cdf0e10cSrcweir 
dispose()288cdf0e10cSrcweir     public void dispose()
289cdf0e10cSrcweir     {
290cdf0e10cSrcweir         if ( m_rowSet == null )
291cdf0e10cSrcweir             return;
292cdf0e10cSrcweir         XComponent rowSetComp = UnoRuntime.queryInterface( XComponent.class, m_rowSet );
293cdf0e10cSrcweir         rowSetComp.dispose();
294cdf0e10cSrcweir     }
295*170fb961SPedro Giffuni }
296