diff options
Diffstat (limited to 'sql/src/main/java/javax')
-rw-r--r-- | sql/src/main/java/javax/sql/ConnectionEvent.java | 79 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/ConnectionEventListener.java | 63 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/ConnectionPoolDataSource.java | 137 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/DataSource.java | 158 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/PooledConnection.java | 123 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSet.java | 985 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSetEvent.java | 58 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSetInternal.java | 93 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSetListener.java | 72 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSetMetaData.java | 314 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSetReader.java | 59 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/RowSetWriter.java | 62 | ||||
-rw-r--r-- | sql/src/main/java/javax/sql/package.html | 9 |
13 files changed, 0 insertions, 2212 deletions
diff --git a/sql/src/main/java/javax/sql/ConnectionEvent.java b/sql/src/main/java/javax/sql/ConnectionEvent.java deleted file mode 100644 index e07e7c1..0000000 --- a/sql/src/main/java/javax/sql/ConnectionEvent.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.util.EventObject; -import java.sql.SQLException; -import java.io.Serializable; - -/** - * Sent when specific events happen on a {@link PooledConnection} object. These - * events are a facility to report when an application closes the pooled - * connection or when an error occurs in the pooled connection. - * - * @since Android 1.0 - */ -public class ConnectionEvent extends EventObject implements Serializable { - - private static final long serialVersionUID = -4843217645290030002L; - - private SQLException theSQLException; - - /** - * Creates a connection event initialized with the supplied {@code - * PooledConnection} reporting that the application has closed the - * connection. - * - * @param theConnection - * the connection for which this event is created. - * @since Android 1.0 - */ - public ConnectionEvent(PooledConnection theConnection) { - super(theConnection); - } - - /** - * Creates a {@code ConnectionEvent} initialized with the supplied {@code - * PooledConnection} and with the supplied {@code SQLException} indicating - * that an error has occurred within the {@code PooledConnection}. - * - * @param theConnection - * the connection for which this event is created. - * @param theException - * information about the state of error that has occurred on the - * application side. - * @since Android 1.0 - */ - public ConnectionEvent(PooledConnection theConnection, - SQLException theException) { - super(theConnection); - theSQLException = theException; - } - - /** - * Gets the {@code SQLException} which holds information about the error - * which occurred in the {@code PooledConnection}. - * - * @return a {@code SQLException} containing information about the error. - * May be {@code null} if no error has occurred. - * @since Android 1.0 - */ - public SQLException getSQLException() { - return theSQLException; - } -} diff --git a/sql/src/main/java/javax/sql/ConnectionEventListener.java b/sql/src/main/java/javax/sql/ConnectionEventListener.java deleted file mode 100644 index 1333814..0000000 --- a/sql/src/main/java/javax/sql/ConnectionEventListener.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.util.EventListener; - -/** - * An interface used to receive events generated by a {@link PooledConnection}. - * <p> - * This interface would typically be implemented by a component which manages a - * connection pool (a connection pool manager). A connection triggers an event - * to a {@code ConnectionEventListener} either when the application closes a - * connection it has been using or when a significant error occurs while the - * connection is being used. - * </p> - * <p> - * The connection pool manager can return closed connections to the pool for - * later reuse. Connections experiencing an error should be discarded. - * </p> - * - * @since Android 1.0 - */ -public interface ConnectionEventListener extends EventListener { - - /** - * Notifies the {@code ConnectionEventListener} that an application has - * called the {@code close} method on a pooled connection. - * - * @param theEvent - * a {@code ConnectionEvent} containing details about the source - * of the event. - * @since Android 1.0 - */ - public void connectionClosed(ConnectionEvent theEvent); - - /** - * Notifies the {@code ConnectionEventListener} that an error has occurred - * on a {@code PooledConnection}. This notification is triggered <i>before</i> the - * {@code SQLException}, which is available through the event argument, is - * thrown. - * - * @param theEvent - * a {@code ConnectionEvent} containing details about the source - * of the event and the {@code SQLException} that has occurred. - * @since Android 1.0 - */ - public void connectionErrorOccurred(ConnectionEvent theEvent); -} diff --git a/sql/src/main/java/javax/sql/ConnectionPoolDataSource.java b/sql/src/main/java/javax/sql/ConnectionPoolDataSource.java deleted file mode 100644 index d73128b..0000000 --- a/sql/src/main/java/javax/sql/ConnectionPoolDataSource.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.SQLException; -import java.io.PrintWriter; - -/** - * An interface for the creation of {@code ConnectionPoolDataSource} objects. - * Used internally within the package. - * <p> - * A class which implements the {@code ConnectionPoolDataSource} interface is - * typically registered with a JNDI naming service directory and is retrieved - * from there by name. - * </p> - * - * @since Android 1.0 - */ -public interface ConnectionPoolDataSource { - - /** - * Gets the login timeout value for this {@code ConnectionPoolDataSource}. - * The login timeout is the maximum time in seconds that the {@code - * ConnectionPoolDataSource} will wait when opening a connection to a - * database. A timeout value of 0 implies either the system default timeout - * value (if there is one) or that there is no timeout. The default value - * for the login timeout is {@code 0}. - * - * @return the login timeout value in seconds. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public int getLoginTimeout() throws SQLException; - - /** - * Gets the log writer for this {@code ConnectionPoolDataSource}. - * <p> - * The log writer is a stream to which all log and trace messages are sent - * from this {@code ConnectionPoolDataSource}. The log writer can be {@code - * null}, in which case the log and trace capture is disabled. The default - * value for the log writer when an {@code ConnectionPoolDataSource} is - * created is {@code null}. Note that the log writer for an {@code - * ConnectionPoolDataSource} is not the same as the log writer used by a - * {@code DriverManager}. - * </p> - * - * @return a {@code PrintWriter} which is the log writer for this {@code - * ConnectionPoolDataSource}. Can be {@code null}, in which case log - * writing is disabled for this {@code ConnectionPoolDataSource}. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public PrintWriter getLogWriter() throws SQLException; - - /** - * Creates a connection to a database which can then be used as a pooled - * connection. - * - * @return a {@code PooledConnection} which represents the connection to the - * database. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public PooledConnection getPooledConnection() throws SQLException; - - /** - * Creates a connection to a database, using the supplied user name and - * password, which can then be used as a pooled connection. - * - * @param theUser - * the a user name for the database login. - * @param thePassword - * the password associated with the user identified by {@code - * theUser}. - * @return a {@code PooledConnection} object which represents the connection - * to the database. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public PooledConnection getPooledConnection(String theUser, - String thePassword) throws SQLException; - - /** - * Sets the login timeout value for this {@code ConnectionPoolDataSource}. - * The login timeout is the maximum time in seconds that the {@code - * ConnectionPoolDataSource} will wait when opening a connection to a - * database. A timeout value of 0 implies either the system default timeout - * value (if there is one) or that there is no timeout. The default value - * for the login timeout is 0. - * - * @param theTimeout - * the new login timeout value in seconds. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public void setLoginTimeout(int theTimeout) throws SQLException; - - /** - * Sets the log writer for this {@code ConnectionPoolDataSource}. - * <p> - * The log writer is a stream to which all log and trace messages are sent - * from this {@code ConnectionPoolDataSource}. The log writer can be {@code - * null}, in which case log and trace capture is disabled. The default value - * for the log writer, when a {@code ConnectionPoolDataSource} is created, - * is {@code null}. Note that the log writer for a {@code - * ConnectionPoolDataSource} is not the same as the log writer used by a - * {@code DriverManager}. - * </p> - * - * @param theWriter - * is the log writer for this {@code ConnectionPoolDataSource}. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public void setLogWriter(PrintWriter theWriter) throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/DataSource.java b/sql/src/main/java/javax/sql/DataSource.java deleted file mode 100644 index 98be761..0000000 --- a/sql/src/main/java/javax/sql/DataSource.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.SQLException; -import java.sql.Connection; -import java.io.PrintWriter; - -/** - * An interface for the creation of {@code Connection} objects which represent a - * connection to a database. This interface is an alternative to the {@code - * java.sql.DriverManager}. - * <p> - * A class which implements the {@code DataSource} interface is typically - * registered with a JNDI naming service directory and is retrieved from there - * by name. - * </p> - * <p> - * The {@code DataSource} interface is typically implemented by the writer of a - * JDBC driver. There are three variants of the {@code DataSource} interface, - * which produce connections with different characteristics: - * </p> - * <ol> - * <li><i>Standard {@code DataSource}</i>: produces standard {@code Connection} - * objects with no special features.</li> - * <li><i>Connection Pool {@code DataSource}</i>: produces {@code - * PooledConnection} objects which require a connection pool manager as an - * intermediary component.</li> - * <li><i>Distributed transaction {@code DataSource} ("XADataSource")</i>: - * produces {@code XAConnection} objects which can be used to handle distributed - * transactions which typically require an intermediary transaction manager - * component. {@code XAConnection} objects also provide connection pooling - * capabilities as well as distributed transaction capabilities.</li> - * </ol> - * <p> - * Note that a JDBC driver which is accessed via the {@code DataSource} - * interface is loaded via a JNDI lookup process. A driver loaded in this way - * does not register itself with the {@code DriverManager}. - * </p> - * - * @since Android 1.0 - */ -public interface DataSource { - - /** - * Creates a connection to the database represented by this {@code - * DataSource}. - * - * @return a {@code Connection} object which is a connection to the - * database. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public Connection getConnection() throws SQLException; - - /** - * Creates a connection to the database represented by this {@code - * DataSource}, using the supplied user name and password. - * - * @param theUsername - * the a user name for the database login. - * @param thePassword - * the password associated with the user identified by {@code - * theUsername}. - * @return the {@code Connection} object which is the connection to the - * database. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public Connection getConnection(String theUsername, String thePassword) - throws SQLException; - - /** - * Gets the login timeout value for this {@code DataSource}. The login - * timeout is the maximum time in seconds that the {@code DataSource} will - * wait when opening a connection to a database. A timeout value of 0 - * implies either the system default timeout value (if there is one) or that - * there is no timeout. The default value for the login timeout is 0. - * - * @return the login timeout value in seconds. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public int getLoginTimeout() throws SQLException; - - /** - * Gets the log writer for this {@code DataSource}. - * <p> - * The log writer is a stream to which all log and trace messages are sent - * from this {@code DataSource}. The log writer can be {@code null}, in - * which case, log and trace capture is disabled. The default value for the - * log writer when an {@code DataSource} is created is {@code null}. Note - * that the log writer for a {@code DataSource} is not the same as the log - * writer used by a {@code DriverManager}. - * </p> - * - * @return a {@code PrintWriter} which is the log writer for this {@code - * DataSource}. Can be {@code null}, in which case log writing is - * disabled for this {@code DataSource}. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public PrintWriter getLogWriter() throws SQLException; - - /** - * Sets the login timeout value for this {@code DataSource}. The login - * timeout is the maximum time in seconds that the {@code DataSource} will - * wait when opening a connection to a database. A timeout value of 0 - * implies either the system default timeout value (if there is one) or that - * there is no timeout. The default value for the login timeout is 0. - * - * @param theTimeout - * the new login timeout value in seconds. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public void setLoginTimeout(int theTimeout) throws SQLException; - - /** - * Sets the log writer for this {@code DataSource}. - * <p> - * The log writer is a stream to which all log and trace messages are sent - * from this {@code DataSource}. The log writer can be {@code null}, in - * which case, log and trace capture is disabled. The default value for the - * log writer when a {@code DataSource} is created is {@code null}. Note - * that the log writer for a {@code DataSource} is not the same as the log - * writer used by a {@code DriverManager}. - * </p> - * - * @param theWriter - * a {@code PrintWriter} to use as the log writer for this - * {@code DataSource}. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public void setLogWriter(PrintWriter theWriter) throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/PooledConnection.java b/sql/src/main/java/javax/sql/PooledConnection.java deleted file mode 100644 index b4c5616..0000000 --- a/sql/src/main/java/javax/sql/PooledConnection.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.SQLException; -import java.sql.Connection; - -/** - * An interface which provides facilities for handling connections to a database - * which are pooled. - * <p> - * Typically, a {@code PooledConnection} is recycled when it is no longer - * required by an application, rather than being closed and discarded. The - * reason for treating connections in this way is that it can be an expensive - * process both to establish a connection to a database and to destroy the - * connection. Reusing connections through a pool is a way of improving system - * performance and reducing overhead. - * </p> - * <p> - * It is not intended that an application uses the {@code PooledConnection} - * interface directly. The {@code PooledConnection} interface is intended for - * use by a component called a connection pool manager, typically part of the - * infrastructure that supports use of the database by applications. - * </p> - * <p> - * Applications obtain connections to the database by calling the - * {@link DataSource#getConnection} method. Behind the scenes, the connection - * pool manager will get a {@code PooledConnection} object from its connection - * pool and passes back a connection object that wraps or references the {@code - * PooledConnection} object. A new {@code PooledConnection} object will only be - * created if the pool is empty. - * </p> - * <p> - * When the application is finished using a {@code PooledConnection}, the - * application calls the {@link Connection#close} method. The connection pool - * manager is notified via a {@link ConnectionEvent} from the connection that - * this has happened (the pool manager registers itself with the connection - * before the connection is given to the application). The pool manager removes - * the underlying {@code PooledConnection} object from the connection and - * returns it to the pool for reuse - the {@code PooledConnection} is thus - * recycled rather than being destroyed. - * </p> - * <p> - * The connection to the database represented by the {@code PooledConnection} is - * kept open until the {@code PooledConnection} object itself is deactivated by - * the connection pool manager, which calls {@code PooledConnection.close()}. - * This is typically done if there are too many inactive connections in the - * pool, if the {@code PooledConnection} encounters a problem that makes it - * unusable or if the whole system is being shut down. - * </p> - * - * @since Android 1.0 - */ -public interface PooledConnection { - - /** - * Registers the supplied {@code ConnectionEventListener} with this {@code - * PooledConnection}. Once registered, the {@code ConnectionEventListener} - * will receive {@link ConnectionEvent} events when they occur in the - * {@code PooledConnection}. - * - * @param theListener - * an object which implements the {@code ConnectionEventListener} - * interface. - * @since Android 1.0 - */ - public void addConnectionEventListener(ConnectionEventListener theListener); - - /** - * Closes the connection to the database held by this {@code - * PooledConnection}. This method should not be called directly by - * application code - it is intended only for the connection pool manager - * component. - * - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public void close() throws SQLException; - - /** - * Creates a connection to the database. This method is typically called by - * the connection pool manager when an application invokes the method - * {@code DataSource.getConnection()} and there are no {@code - * PooledConnection} objects available in the connection pool. - * - * @return a {@code Connection} object. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public Connection getConnection() throws SQLException; - - /** - * Unregisters the supplied {@code ConnectionEventListener} from this {@code - * PooledConnection}. Once unregistered, the {@code ConnectionEventListener} - * will no longer receive events occurring in the {@code PooledConnection}. - * - * @param theListener - * an object which implements the {@code ConnectionEventListener} - * interface. This object should have previously been registered - * with the {@code PooledConnection} using the {@code - * addConnectionEventListener} method. - * @since Android 1.0 - */ - public void removeConnectionEventListener( - ConnectionEventListener theListener); -} diff --git a/sql/src/main/java/javax/sql/RowSet.java b/sql/src/main/java/javax/sql/RowSet.java deleted file mode 100644 index 4edc3d3..0000000 --- a/sql/src/main/java/javax/sql/RowSet.java +++ /dev/null @@ -1,985 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Array; -import java.sql.Blob; -import java.sql.Clob; -import java.sql.Date; -import java.sql.Ref; -import java.sql.Time; -import java.sql.Timestamp; -import java.util.Map; -import java.io.InputStream; -import java.io.Reader; -import java.util.Calendar; -import java.math.BigDecimal; - -/** - * An interface which provides means to access data which - * persists on a database. It extends the functionality of - * {@link java.sql.ResultSet ResultSet} into a form that it can be used as a - * JavaBean component, suited for a visual programming environment. - * <p> - * {@code RowSet} provides getters and setters for properties relating to the - * general database environment together with the getters and setters for - * distinct data values which constitute the row set. The {@code RowSet} class - * supports JavaBean events so that other components in an application can be - * informed when changes happen such as changes in data values. - * </p> - * <p> - * {@code RowSet} is a facility implemented on top of the remainder of the JDBC - * API. It may be <i>connected</i>, maintaining a connection to the database - * throughout its lifecycle. The changes made on a <i>disconnected</i> {@code - * RowSet} on the other hand can be persisted only establishing a new connection - * with the database each time. - * </p> - * <p> - * Disconnected {@code RowSets} make use of {@code RowSetReaders} to populate - * the {@code RowSet} with data, possibly from a non-relational database source. - * They may also use {@code RowSetWriters} to send data back to the underlying - * data store. There is considerable freedom in the way that {@code - * RowSetReaders} and {@code RowSetWriters} may be implemented to retrieve and - * store data. - * </p> - * - * @see RowSetReader - * @see RowSetWriter - * @since Android 1.0 - */ -public interface RowSet extends ResultSet { - - /** - * Registers the supplied {@link RowSetListener} with this {@code RowSet}. - * Once registered, the {@link RowSetListener} is notified of events - * generated by the {@code RowSet}. - * - * @param theListener - * an object which implements the {@code rowSetListener} - * interface. - * @since Android 1.0 - */ - public void addRowSetListener(RowSetListener theListener); - - /** - * Clears the parameters previously set for this {@code RowSet}. - * <p> - * The {@code RowSet} object retains its value until either a new value for - * a parameter is set or its value is actively reset. {@code - * clearParameters} provides a facility to clear the values for all - * parameters with one method call. - * </p> - * - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void clearParameters() throws SQLException; - - /** - * Fetches data for this {@code RowSet} from the database. If successful, - * any existing data for the {@code RowSet} is discarded and its metadata is - * overwritten. - * <p> - * Data is retrieved connecting to the database and executing an - * according SQL statement. This requires some or all of the following - * properties to be set: URL, database name, user name, password, - * transaction isolation, type map; plus some or all of the properties: - * command, read only, maximum field size, maximum rows, escape processing, - * and query timeout. - * </p> - * <p> - * The {@code RowSet} may use a {@code RowSetReader} to access the database - * it will then invoke the {@link RowSetReader#readData} method on the - * reader to fetch the data. When the new data is fetched all the listeners - * are notified to take appropriate measures. - * </p> - * - * @throws SQLException - * if a problem occurs accessing the database or if the - * properties needed to access the database have not been set. - * @see RowSetMetaData - * @see RowSetReader - * @since Android 1.0 - */ - public void execute() throws SQLException; - - /** - * Gets the {@code RowSet}'s command property. - * - * @return a string containing the {@code RowSet}'s command property. A - * command is a SQL statement which is executed to fetch required - * data into the {@code RowSet}. - * @since Android 1.0 - */ - public String getCommand(); - - /** - * Gets the ODBC Data Source Name property associated with this {@code - * RowSet}. The database name can be used to find a {@link DataSource} - * which has been registered with a naming service - the {@link DataSource} - * can then be used to create a connection to the database. - * - * @return the name of the database. - * @since Android 1.0 - */ - public String getDataSourceName(); - - /** - * Reports if escape processing is enabled for this {@code RowSet}. If - * escape processing is on, the driver performs a substitution of the escape - * syntax with the applicable code before sending an SQL command to the - * database. The default value for escape processing is {@code true}. - * - * @return {@code true} if escape processing is enabled, {@code - * false} otherwise. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public boolean getEscapeProcessing() throws SQLException; - - /** - * Gets the maximum number of bytes that can be returned for column values - * which are of type {@code BINARY}, {@code VARBINARY}, {@code - * LONGVARBINARYBINARY}, {@code CHAR}, {@code VARCHAR}, or {@code - * LONGVARCHAR}. Excess data is silently discarded if the number is - * exceeded. - * - * @return the current maximum size in bytes. 0 implies no size limit. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public int getMaxFieldSize() throws SQLException; - - /** - * Gets the maximum number of rows for this {@code RowSet}. Excess rows are - * discarded silently if the limit is exceeded. - * - * @return the previous maximum number of rows. 0 implies no row limit. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public int getMaxRows() throws SQLException; - - /** - * Gets the value of the password property for this {@code RowSet}. This - * property is used when a connection to the database is established. - * Therefore it should be set prior to invoking the {@link #execute} method. - * - * @return the value of the password property. - * @since Android 1.0 - */ - public String getPassword(); - - /** - * Gets the timeout for the driver when a query operation is executed. If a - * query takes longer than the timeout then a {@code SQLException} is - * thrown. - * - * @return the timeout value in seconds. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public int getQueryTimeout() throws SQLException; - - /** - * Gets the transaction isolation level property set for this - * {@code RowSet}. The transaction isolation level defines the - * policy implemented on the database for maintaining the data - * values consistent. - * - * @return the current transaction isolation level. Must be one of: - * <ul> - * <li>{@code Connection.TRANSACTION_READ_UNCOMMITTED}</li> - * <li>{@code Connection.TRANSACTION_READ_COMMITTED}</li> - * <li>{@code Connection.TRANSACTION_REPEATABLE_READ}</li> - * <li>{@code Connection.TRANSACTION_SERIALIZABLE}</li> - * </ul> - * @see java.sql.Connection - * @since Android 1.0 - */ - public int getTransactionIsolation(); - - /** - * Gets the custom mapping of SQL User-Defined Types (UDTs) and Java classes - * for this {@code RowSet}, if applicable. - * - * @return the custom mappings of SQL types to Java classes. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public Map<String, Class<?>> getTypeMap() throws SQLException; - - /** - * Gets the URL property value for this {@code RowSet}. If there is no - * {@code DataSource} object specified, the {@code RowSet} uses the URL to - * establish a connection to the database. The default value for the URL is - * {@code null}. - * - * @return a String holding the value of the URL property. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public String getUrl() throws SQLException; - - /** - * Gets the value of the {@code username} property for this {@code RowSet}. - * The {@code username} is used when establishing a connection to the - * database and should be set before the {@code execute} method is invoked. - * - * @return a {@code String} holding the value of the {@code username} - * property. - * @since Android 1.0 - */ - public String getUsername(); - - /** - * Indicates if this {@code RowSet} is read-only. - * - * @return {@code true} if this {@code RowSet} is read-only, {@code false} - * if it is updatable. - * @since Android 1.0 - */ - public boolean isReadOnly(); - - /** - * Removes a specified {@link RowSetListener} object from the set of - * listeners which will be notified of events by this {@code RowSet}. - * - * @param theListener - * the {@link RowSetListener} to remove from the set of listeners - * for this {@code RowSet}. - * @since Android 1.0 - */ - public void removeRowSetListener(RowSetListener theListener); - - /** - * Sets the specified {@code ARRAY} parameter in the {@code RowSet} command - * with the supplied {@code java.sql.Array} value. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theArray - * the {@code Array} data value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setArray(int parameterIndex, Array theArray) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the ASCII data in the supplied {@code java.io.InputStream} value. - * Data is read from the {@code InputStream} until end-of-file is reached. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theInputStream - * the ASCII data value to which the parameter is set. - * @param length - * the length of the data in bytes. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setAsciiStream(int parameterIndex, InputStream theInputStream, - int length) throws SQLException; - - /** - * Sets the value of the specified SQL {@code NUMERIC} parameter in the - * {@code RowSet} command with the data in the supplied {@code - * java.math.BigDecimal} value. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theBigDecimal - * the big decimal value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setBigDecimal(int parameterIndex, BigDecimal theBigDecimal) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to the binary data in the supplied input stream. Data is read from the - * input stream until end-of-file is reached. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theInputStream - * the binary data stream to which the parameter is set. - * @param length - * the length of the data in bytes. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setBinaryStream(int parameterIndex, InputStream theInputStream, - int length) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to the supplied {@code Blob} value. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theBlob - * the {@code Blob} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setBlob(int parameterIndex, Blob theBlob) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to the supplied boolean. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theBoolean - * the {@code boolean} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setBoolean(int parameterIndex, boolean theBoolean) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to the supplied byte value. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theByte - * the {@code byte} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setByte(int parameterIndex, byte theByte) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to the supplied byte array value. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theByteArray - * the {@code Array} of {@code bytes} to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setBytes(int parameterIndex, byte[] theByteArray) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to the sequence of Unicode characters carried by the supplied {@code - * java.io.Reader}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theReader - * the {@code Reader} which contains the Unicode data to set the - * parameter. - * @param length - * the length of the data in the {@code Reader} in characters. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setCharacterStream(int parameterIndex, Reader theReader, - int length) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the value of a supplied {@code java.sql.Clob}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theClob - * the {@code Clob} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setClob(int parameterIndex, Clob theClob) throws SQLException; - - /** - * Sets the Command property for this {@code RowSet} - the command is an SQL - * query which runs when the {@code execute} method is invoked. This - * property is optional for databases that do not support commands. - * - * @param cmd - * the SQL query. Can be {@code null}. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setCommand(String cmd) throws SQLException; - - /** - * Sets the concurrency property of this {@code RowSet}. The default value - * is {@code ResultSet.CONCUR_READ_ONLY}. - * - * @param concurrency - * the concurrency value. One of: - * <ul> - * <li>{@code ResultSet.CONCUR_READ_ONLY}</li> - * <li>{@code ResultSet.CONCUR_UPDATABLE}</li> - * </ul> - * @throws SQLException - * if an error occurs accessing the database. - * @see java.sql.ResultSet - * @since Android 1.0 - */ - public void setConcurrency(int concurrency) throws SQLException; - - /** - * Sets the database name property for the {@code RowSet}. - * <p> - * The database name can be used to find a {@link DataSource} which has been - * registered with a naming service - the {@link DataSource} can then be - * used to create a connection to the database. - * </p> - * - * @param name - * the database name. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setDataSourceName(String name) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the value of a supplied {@code java.sql.Date}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theDate - * the date value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setDate(int parameterIndex, Date theDate) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the value of a supplied {@code java.sql.Date}, where the conversion - * of the date to an SQL {@code DATE} value is calculated using a supplied - * {@code Calendar}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theDate - * the date to which the parameter is set. - * @param theCalendar - * the {@code Calendar} to use in converting the Date to an SQL - * {@code DATE} value. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setDate(int parameterIndex, Date theDate, Calendar theCalendar) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the supplied {@code double}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theDouble - * the {@code double} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setDouble(int parameterIndex, double theDouble) - throws SQLException; - - /** - * Sets the escape processing status for this {@code RowSet}. If escape - * processing is on, the driver performs a substitution of the escape syntax - * with the applicable code before sending an SQL command to the database. - * The default value for escape processing is {@code true}. - * - * @param enable - * {@code true} to enable escape processing, {@code false} to - * turn it off. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setEscapeProcessing(boolean enable) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the supplied {@code float}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theFloat - * the {@code float} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setFloat(int parameterIndex, float theFloat) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the supplied {@code integer}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theInteger - * the {@code integer} value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setInt(int parameterIndex, int theInteger) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * with the supplied {@code long}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theLong - * the {@code long} value value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setLong(int parameterIndex, long theLong) throws SQLException; - - /** - * Sets the maximum number of bytes which can be returned for a column value - * where the column type is one of {@code BINARY}, {@code VARBINARY}, - * {@code LONGVARBINARYBINARY}, {@code CHAR}, {@code VARCHAR}, or {@code - * LONGVARCHAR}. Data which exceeds this limit is silently discarded. For - * portability, a value greater than 256 is recommended. - * - * @param max - * the maximum size of the returned column value in bytes. 0 - * implies no size limit. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setMaxFieldSize(int max) throws SQLException; - - /** - * Sets the maximum number of rows which can be held by the {@code RowSet}. - * Any additional rows are silently discarded. - * - * @param max - * the maximum number of rows which can be held in the {@code - * RowSet}. 0 means no limit. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setMaxRows(int max) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to SQL {@code NULL}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param sqlType - * the type of the parameter, as defined by {@code - * java.sql.Types}. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setNull(int parameterIndex, int sqlType) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to SQL {@code NULL}. This form of the {@code setNull} method should be - * used for User Defined Types and {@code REF} parameters. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param sqlType - * the type of the parameter, as defined by {@code - * java.sql.Types}. - * @param typeName - * the fully qualified name of an SQL user defined type or the - * name of the SQL structured type referenced by a {@code REF} - * type. Ignored if the sqlType is not a UDT or REF type. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setNull(int parameterIndex, int sqlType, String typeName) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied Java object. - * <p> - * The JDBC specification provides a standard mapping for Java objects to - * SQL data types. Database specific types can be mapped by JDBC driver - * specific Java types. - * </p> - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theObject - * the Java object containing the data value to which the - * parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setObject(int parameterIndex, Object theObject) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied Java object. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theObject - * the Java object containing the data value. - * @param targetSqlType - * the SQL type to send to the database, as defined in {@code - * java.sql.Types}. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setObject(int parameterIndex, Object theObject, - int targetSqlType) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied Java object. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theObject - * the Java object containing the data value. - * @param targetSqlType - * the SQL type to send to the database, as defined in {@code - * java.sql.Types}. - * @param scale - * the number of digits after the decimal point, for {@code - * java.sql.Types.DECIMAL} and {@code java.sql.Types.NUMERIC} - * types. Ignored for all other types. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setObject(int parameterIndex, Object theObject, - int targetSqlType, int scale) throws SQLException; - - /** - * Sets the database Password for this {@code RowSet}. This property is used - * when a connection to the database is established. Therefore it should be - * set prior to invoking the {@link #execute} method. - * - * @param password - * a {@code String} holding the password. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setPassword(String password) throws SQLException; - - /** - * Gets the timeout for the driver when a query operation is executed. If a - * query takes longer than the timeout, a {@code SQLException} is thrown. - * - * @param seconds - * the number of seconds for the timeout. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setQueryTimeout(int seconds) throws SQLException; - - /** - * Sets whether the {@code RowSet} is read-only or updatable. - * - * @param readOnly - * {@code true} to set the {@code RowSet} to read-only state, - * {@code false} to allow updates. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setReadOnly(boolean readOnly) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code java.sql.Ref}. This is sent to the database as an - * SQL {@code REF} value. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theRef - * the value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @see java.sql.Ref - * @since Android 1.0 - */ - public void setRef(int parameterIndex, Ref theRef) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code short integer}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theShort - * the value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setShort(int parameterIndex, short theShort) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code String}. The string is placed into the database as a - * {@code VARCHAR} or {@code LONGVARCHAR} SQL value, depending on the - * database limits for the length of {@code VARCHAR} values. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theString - * the value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setString(int parameterIndex, String theString) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code java.sql.Time}, converting it to an SQL {@code TIME} - * value using the system default {@code Calendar}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theTime - * the value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @see java.util.Calendar - * @see java.sql.Time - * @since Android 1.0 - */ - public void setTime(int parameterIndex, Time theTime) throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code java.sql.Time}, converting it to an SQL {@code TIME} - * value using a supplied {@code Calendar}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theTime - * the value to which the parameter is set. - * @param theCalendar - * the {@code Calendar} to use in the conversion operation. - * @throws SQLException - * if an error occurs accessing the database. - * @see java.util.Calendar - * @see java.sql.Time - * @since Android 1.0 - */ - public void setTime(int parameterIndex, Time theTime, Calendar theCalendar) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code java.sql.Timestamp}, converting it to an SQL {@code - * TIMESTAMP} value using the system default {@code Calendar}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theTimestamp - * the value to which the parameter is set. - * @throws SQLException - * if an error occurs accessing the database. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @since Android 1.0 - */ - public void setTimestamp(int parameterIndex, Timestamp theTimestamp) - throws SQLException; - - /** - * Sets the value of the specified parameter in the {@code RowSet} command - * to a supplied {@code java.sql.Timestamp}, converting it to an SQL {@code - * TIMESTAMP} value using a supplied {@code Calendar}. - * - * @param parameterIndex - * the index of the parameter to set; the first parameter's index - * is 1. - * @param theTimestamp - * the value to which the parameter is set. - * @param theCalendar - * the {@code Calendar} to use in the conversion operation - * @throws SQLException - * if an error occurs accessing the database. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @since Android 1.0 - */ - public void setTimestamp(int parameterIndex, Timestamp theTimestamp, - Calendar theCalendar) throws SQLException; - - /** - * Sets the target instance's transaction isolation level to one of a - * discrete set of possible values. The transaction isolation level defines - * the policy implemented on the database for maintaining the data values - * consistent. - * <p> - * Keep in mind that setting a transaction isolation level has no effect - * unless your driver and DBMS support it. - * </p> - * - * @param level - * the transaction isolation level. One of: - * <ul> - * <li>{@code Connection.TRANSACTION_READ_UNCOMMITTED}</li> - * <li>{@code Connection.TRANSACTION_READ_COMMITTED}</li> - * <li>{@code Connection.TRANSACTION_REPEATABLE_READ}</li> - * <li>{@code Connection.TRANSACTION_SERIALIZABLE}</li> - * </ul> - * @throws SQLException - * if an error occurs accessing the database. - * @see java.sql.Connection - * @since Android 1.0 - */ - public void setTransactionIsolation(int level) throws SQLException; - - /** - * Sets the type of this {@code RowSet}. By default, the type is - * non-scrollable. - * - * @param type - * the type for the {@code RowSet}. One of: - * <ul> - * <li>{@code ResultSet.TYPE_FORWARD_ONLY}</li> - * <li>{@code ResultSet.TYPE_SCROLL_INSENSITIVE}</li> - * <li>{@code ResultSet.TYPE_SCROLL_SENSITIVE}</li> - * </ul> - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setType(int type) throws SQLException; - - /** - * Sets the mapping of SQL User Defined Types (UDTs) to Java classes. The - * Java classes must all implement the {@link java.sql.SQLData SQLData} - * interface. - * - * @param theTypeMap - * the names of SQL UDTs and the Java classes to which they are - * mapped. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setTypeMap(Map<String, Class<?>> theTypeMap) - throws SQLException; - - /** - * Sets the URL used by this {@code RowSet} to access the database via a - * {@code DriverManager}. The URL is optional - an alternative is to use a - * database name to create a connection. - * - * @param theURL - * the URL for the database. Can be {@code null}. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setUrl(String theURL) throws SQLException; - - /** - * Sets the {@code Username} property for the {@code RowSet}, used to - * authenticate a connection to the database. - * - * @param theUsername - * the new user name for this row set. - * @throws SQLException - * if an error occurs accessing the database. - * @since Android 1.0 - */ - public void setUsername(String theUsername) throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/RowSetEvent.java b/sql/src/main/java/javax/sql/RowSetEvent.java deleted file mode 100644 index 9d4c98c..0000000 --- a/sql/src/main/java/javax/sql/RowSetEvent.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.util.EventObject; -import java.io.Serializable; - -/** - * An event which is sent when specific events happen to a {@link RowSet} - * object. The events are sent to inform registered listeners that changes have - * occurred to the {@code RowSet}. The events covered are: - * <ol> - * <li>A single row in the {@code RowSet} changes.</li> - * <li>The whole set of data in the {@code RowSet} changes.</li> - * <li>The {@code RowSet} cursor position changes.</li> - * </ol> - * <p> - * The event contains a reference to the {@code RowSet} object which generated - * the message so that the listeners can extract whatever information they need - * from that reference. - * </p> - * - * @since Android 1.0 - */ -public class RowSetEvent extends EventObject implements Serializable { - - private static final long serialVersionUID = -1875450876546332005L; - - /** - * Creates a {@code RowSetEvent} object containing a reference to the - * {@link RowSet} object that generated the event. Information about the - * changes that have occurred to the {@code RowSet} can be extracted from - * the {@code RowSet} using one or more of the query methods available on - * the {@code RowSet}. - * - * @param theSource - * the {@code RowSet} which generated the event. - * @since Android 1.0 - */ - public RowSetEvent(RowSet theSource) { - super(theSource); - } -} diff --git a/sql/src/main/java/javax/sql/RowSetInternal.java b/sql/src/main/java/javax/sql/RowSetInternal.java deleted file mode 100644 index baa261d..0000000 --- a/sql/src/main/java/javax/sql/RowSetInternal.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.SQLException; -import java.sql.Connection; -import java.sql.ResultSet; - -/** - * An interface provided by a {@code RowSet} object to let either a {@code RowSetReader} or a - * {@code RowSetWriter} access its internal state, thereby providing facilities to read and update the state of - * the {@code RowSet}. - */ -public interface RowSetInternal { - - /** - * Gets the connection associated with this {@code RowSet} object. - * - * @return the connection or {@code null}. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public Connection getConnection() throws SQLException; - - /** - * Gets the {@code ResultSet} that was the original (unmodified) content of - * the {@code RowSet}. - * <p> - * The {@code ResultSet}'s cursor is positioned before the first row of - * data. - * </p> - * - * @return the {@code ResultSet} that contained the original data value of - * the {@code RowSet}. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public ResultSet getOriginal() throws SQLException; - - /** - * Gets the original value of the current row only. If the current row did - * not have an original value, then an empty value is returned. - * - * @return a {@code ResultSet} containing the value of the current row only. - * @throws SQLException - * if there is a problem accessing the database, or if the - * cursor is not on a valid row (before the first row, after the - * last one or pointing to the insert row). - * @since Android 1.0 - */ - public ResultSet getOriginalRow() throws SQLException; - - /** - * Gets the parameter values that have been set for this {@code RowSet}'s - * command. - * - * @return the values of parameters that have been set. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public Object[] getParams() throws SQLException; - - /** - * Sets {@code RowSetMetaData} for this {@code RowSet}. The {@code - * RowSetMetaData} is used by a {@code RowSetReader} to set values giving - * information about the {@code RowSet}'s columns. - * - * @param theMetaData - * holds the metadata about the {@code RowSet}'s columns. - * @throws SQLException - * if there is a problem accessing the database. - * @since Android 1.0 - */ - public void setMetaData(RowSetMetaData theMetaData) throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/RowSetListener.java b/sql/src/main/java/javax/sql/RowSetListener.java deleted file mode 100644 index 06a7253..0000000 --- a/sql/src/main/java/javax/sql/RowSetListener.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.util.EventListener; - -/** - * An interface used to send notification of events occurring in the context of - * a {@link RowSet}. To receive the notification events, an object must - * implement the {@code RowSetListener} interface and then register itself with - * the {@code RowSet} of interest using the - * {@link RowSet#addRowSetListener(RowSetListener)} method. - * - * @since Android 1.0 - */ -public interface RowSetListener extends EventListener { - - /** - * Notifies the listener that the {@code RowSet}'s cursor in {@code - * theEvent.getSource} has moved. - * - * @param theEvent - * a {@code RowSetEvent} that contains information about the - * {@code RowSet} involved. This information can be used to - * retrieve information about the change, such as the updated - * data values. - * @since Android 1.0 - */ - public void cursorMoved(RowSetEvent theEvent); - - /** - * Notifies the listener that one of the {@code RowSet}'s rows in {@code - * theEvent.getSource} has changed. - * - * @param theEvent - * a {@code RowSetEvent} that contains information about the - * {@code RowSet} involved. This information can be used to - * retrieve information about the change, such as the new cursor - * position. - * @since Android 1.0 - */ - public void rowChanged(RowSetEvent theEvent); - - /** - * Notifies the listener that the {@code RowSet}'s entire contents in - * {@code theEvent.getSource} have been updated (an example is the execution - * of a command which retrieves new data from the database). - * - * @param theEvent - * a {@code RowSetEvent} that contains information about the - * {@code RowSet} involved. This information can be used to - * retrieve information about the change, such as the updated - * rows of data. - * @since Android 1.0 - */ - public void rowSetChanged(RowSetEvent theEvent); -} diff --git a/sql/src/main/java/javax/sql/RowSetMetaData.java b/sql/src/main/java/javax/sql/RowSetMetaData.java deleted file mode 100644 index 3051876..0000000 --- a/sql/src/main/java/javax/sql/RowSetMetaData.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.ResultSetMetaData; -import java.sql.SQLException; - -/** - * An interface which provides facilities for getting information about the - * columns in a {@code RowSet}. - * <p> - * {@code RowSetMetaData} extends {@link java.sql.ResultSetMetaData}, adding new - * operations for carrying out value sets. - * </p> - * <p> - * Application code would not normally call this interface directly. It would be - * called internally when {@code RowSet.execute} is called. - * </p> - * - * @see RowSetInternal#setMetaData(RowSetMetaData) - * @since Android 1.0 - */ -public interface RowSetMetaData extends ResultSetMetaData { - - /** - * Sets automatic numbering for a specified column in the {@code RowSet}. If - * automatic numbering is on, the column is read-only. The default value for - * the auto increment parameter is {@code false}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param autoIncrement - * {@code true} to set automatic numbering on, {@code false} to - * turn it off (default). - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setAutoIncrement(int columnIndex, boolean autoIncrement) - throws SQLException; - - /** - * Sets the case sensitive property for a specified column in the {@code - * RowSet}. The default is that the column is not case sensitive. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param caseSensitive - * {@code true} to make the column case sensitive, {@code false} - * to make it case insensitive (default). - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setCaseSensitive(int columnIndex, boolean caseSensitive) - throws SQLException; - - /** - * Sets the catalog name for a specified column in the {@code RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param catalogName - * the new catalog's name. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setCatalogName(int columnIndex, String catalogName) - throws SQLException; - - /** - * Sets the number of columns contained in the row set. - * - * @param columnCount - * the number of columns contained in the {@code RowSet}. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setColumnCount(int columnCount) throws SQLException; - - /** - * Sets the normal maximum width in characters for a specified column in the - * {@code RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param displaySize - * the normal maximum column width in characters. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setColumnDisplaySize(int columnIndex, int displaySize) - throws SQLException; - - /** - * Sets the suggested name as label for the column contained in the {@code - * RowSet}. The label is an alias for printing and displaying purposes. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theLabel - * the alias name for the column. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setColumnLabel(int columnIndex, String theLabel) - throws SQLException; - - /** - * Sets the column name for a specified column in the {@code RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theColumnName - * the column's label. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setColumnName(int columnIndex, String theColumnName) - throws SQLException; - - /** - * Sets the SQL type for a specified column in the {@code RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theSQLType - * the SQL Type, as defined by {@code java.sql.Types}. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setColumnType(int columnIndex, int theSQLType) - throws SQLException; - - /** - * Sets the type name for a specified column in the {@code RowSet}, where - * the data type is specific to the data source. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theTypeName - * the SQL type name for the column. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setColumnTypeName(int columnIndex, String theTypeName) - throws SQLException; - - /** - * Sets whether a specified column is a currency value. The default value is - * {@code false}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param isCurrency - * {@code true} if the column should be treated as a currency - * value, {@code false} if it should not be treated as a currency - * value (default). - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setCurrency(int columnIndex, boolean isCurrency) - throws SQLException; - - /** - * Sets whether a specified column can contain SQL {@code NULL} values. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param nullability - * an integer which is one of the following values: - * <ul> - * <li>{@code ResultSetMetaData.columnNoNulls}</li> - * <li>{@code ResultSetMetaData.columnNullable}</li> - * <li>{@code ResultSetMetaData.columnNullableUnknown}</li> - * </ul> - * <p> - * The default value is {@code - * ResultSetMetaData.columnNullableUnknown}. - * </p> - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setNullable(int columnIndex, int nullability) - throws SQLException; - - /** - * Sets the number of decimal digits for a specified column in the {@code - * RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param thePrecision - * the number of decimal digits. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setPrecision(int columnIndex, int thePrecision) - throws SQLException; - - /** - * Declares how many decimal digits there should be after a decimal point - * for the column specified by {@code columnIndex}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theScale - * the number of digits after the decimal point. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setScale(int columnIndex, int theScale) throws SQLException; - - /** - * Sets the schema name for a specified column in the {@code RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theSchemaName - * a {@code String} containing the schema name. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setSchemaName(int columnIndex, String theSchemaName) - throws SQLException; - - /** - * Sets whether a specified column can be used in a search involving a - * {@code WHERE} clause. The default value is {@code false}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param isSearchable - * {@code true} of the column can be used in a {@code WHERE} - * clause search, {@code false} otherwise. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setSearchable(int columnIndex, boolean isSearchable) - throws SQLException; - - /** - * Sets if a specified column can contain signed numbers. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param isSigned - * {@code true} if the column can contain signed numbers, {@code - * false} otherwise. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setSigned(int columnIndex, boolean isSigned) - throws SQLException; - - /** - * Sets the table name for a specified column in the {@code RowSet}. - * - * @param columnIndex - * the index number for the column; the first column's index is - * 1. - * @param theTableName - * the table name for the column. - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public void setTableName(int columnIndex, String theTableName) - throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/RowSetReader.java b/sql/src/main/java/javax/sql/RowSetReader.java deleted file mode 100644 index d4a902f..0000000 --- a/sql/src/main/java/javax/sql/RowSetReader.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.SQLException; - -/** - * An interface which provides functionality for a disconnected {@code RowSet} - * to get data from a database into its rows. The {@code RowSet} calls the - * {@code RowSetReader} interface when the {@code RowSet}'s execute method is - * invoked - a {@code RowSetReader} must first be registered with the {@code - * RowSet} for this to work. - * - * @see RowSet - * @since Android 1.0 - */ -public interface RowSetReader { - - /** - * Reads new data into the {@code RowSet}. The calling {@code RowSet} object - * must itself implement the {@code RowSetInternal} interface and the - * {@code RowSetReader} must be registered as a reader on the - * {@code RowSet}. - * <p> - * This method adds rows into the calling {@code RowSet}. The reader may - * invoke any of the {@code RowSet}'s methods except for the {@code execute} - * method (calling {@code execute} will cause an {@code SQLException} to be - * thrown). However, when the reader calls the {@code RowSet}'s methods, no - * events are sent to listeners - any listeners are informed by the calling - * {@code RowSet}'s {@code execute} method once the reader returns from the - * {@code readData} method. - * </p> - * - * @param theCaller - * must be the calling {@code RowSet} object, which must have - * implemented the {@code RowSetInternal} interface. - * @throws SQLException - * if a problem occurs accessing the database or if the reader - * calls the {@link RowSet#execute()} method. - * @see RowSetInternal - * @since Android 1.0 - */ - public void readData(RowSetInternal theCaller) throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/RowSetWriter.java b/sql/src/main/java/javax/sql/RowSetWriter.java deleted file mode 100644 index 34473b2..0000000 --- a/sql/src/main/java/javax/sql/RowSetWriter.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package javax.sql; - -import java.sql.SQLException; - -/** - * An interface which provides functionality for a disconnected {@code RowSet} - * to put data updates back to the data source from which the {@code RowSet} was - * originally populated. An object implementing this interface is called a - * writer. - * <p> - * The writer must establish a connection to the {@code RowSet}'s database - * before writing the data. The {@code RowSet} calling this interface must - * implement the {@code RowSetInternal} interface. - * </p> - * <p> - * The writer may encounter a situation where the updated data needs to be - * written back to the database, but has already been updated there in the mean - * time. How a conflict of this kind is handled is determined by the - * implementation of this writer. - * </p> - * - * @see RowSetInternal - * @since Android 1.0 - */ -public interface RowSetWriter { - - /** - * Writes changes made in the {@code RowSet}, which is associated with this - * {@code RowSetWriter}, back to the database. - * - * @param theRowSet - * a row set that fulfills the following criteria: - * <ul> - * <li>it must implement the {@code RowSetInternal} interface,</li> - * <li>have this {@code RowSetWriter} registered with it,</li> - * <li>must call this method internally.</li> - * </ul> - * @return {@code true} if the modified data was written, {@code false} - * otherwise (which typically implies some form of conflict). - * @throws SQLException - * if a problem occurs accessing the database. - * @since Android 1.0 - */ - public boolean writeData(RowSetInternal theRowSet) throws SQLException; -} diff --git a/sql/src/main/java/javax/sql/package.html b/sql/src/main/java/javax/sql/package.html deleted file mode 100644 index 6c9500f..0000000 --- a/sql/src/main/java/javax/sql/package.html +++ /dev/null @@ -1,9 +0,0 @@ -<html> - <body> - <p> - Provides extensions to the standard interface for accessing SQL-based - databases. - <p> - @since Android 1.0 - </body> -</html>
\ No newline at end of file |