01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package javax.sql;
19:
20: import java.sql.SQLException;
21: import java.sql.Connection;
22: import java.sql.ResultSet;
23:
24: /**
25: * An interface provided by a RowSet object to either a RowSetReader or a
26: * RowSetWriter, providing facilities to read and update the internal state of
27: * the RowSet.
28: */
29: public interface RowSetInternal {
30:
31: /**
32: * Gets the Connection associated with this RowSet object.
33: *
34: * @return the Connection
35: * @throws SQLException
36: * if there is a problem accessing the database.
37: */
38: public Connection getConnection() throws SQLException;
39:
40: /**
41: * Gets the ResultSet that was the original (unmodified) content of the
42: * RowSet.
43: * <p>
44: * The ResultSet cursor is positioned before the first row of data
45: *
46: * @return the ResultSet that contained the original data value of the
47: * RowSet
48: * @throws SQLException
49: * if there is a problem accessing the database.
50: */
51: public ResultSet getOriginal() throws SQLException;
52:
53: /**
54: * Gets the original value of the current row only. If the current row did
55: * not have an original value, then an empty value is returned.
56: *
57: * @return a ResultSet containing the value of the current row only.
58: * @throws SQLException
59: * if there is a problem accessing the database, or if the
60: * cursor is not on a valid row (before first, after last or
61: * pointing to the insert row).
62: */
63: public ResultSet getOriginalRow() throws SQLException;
64:
65: /**
66: * Gets the parameter values that have been set for this RowSet's command.
67: *
68: * @return an Object array containing the values of parameters that have
69: * been set.
70: * @throws SQLException
71: * if there is a problem accessing the database.
72: */
73: public Object[] getParams() throws SQLException;
74:
75: /**
76: * Sets RowSetMetaData for this RowSet. The RowSetMetaData is used by a
77: * RowSetReader to set values giving information about the RowSet's columns.
78: *
79: * @param theMetaData
80: * a RowSetMetaData holding the metadata about the RowSet's
81: * columns.
82: * @throws SQLException
83: * if there is a problem accessing the database.
84: */
85: public void setMetaData(RowSetMetaData theMetaData)
86: throws SQLException;
87: }
|