diff options
author | Peter Hallam <peterhal@google.com> | 2010-04-26 12:53:37 -0700 |
---|---|---|
committer | Peter Hallam <peterhal@google.com> | 2010-04-27 16:26:27 -0700 |
commit | cec4dd4b1d33f78997603d0f89c0d0e56e64dbcd (patch) | |
tree | e71d43da21749bfeb4524b0adec05c91d1f89a5f /luni/src/main/java/javax/sql/RowSet.java | |
parent | f205f06be1ce65f132be1b7c850675086f26c0f7 (diff) | |
download | libcore-cec4dd4b1d33f78997603d0f89c0d0e56e64dbcd.zip libcore-cec4dd4b1d33f78997603d0f89c0d0e56e64dbcd.tar.gz libcore-cec4dd4b1d33f78997603d0f89c0d0e56e64dbcd.tar.bz2 |
merge more modules into luni
Diffstat (limited to 'luni/src/main/java/javax/sql/RowSet.java')
-rw-r--r-- | luni/src/main/java/javax/sql/RowSet.java | 917 |
1 files changed, 917 insertions, 0 deletions
diff --git a/luni/src/main/java/javax/sql/RowSet.java b/luni/src/main/java/javax/sql/RowSet.java new file mode 100644 index 0000000..77321a2 --- /dev/null +++ b/luni/src/main/java/javax/sql/RowSet.java @@ -0,0 +1,917 @@ +/* + * 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> + * {@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> + * 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. + * + * @see RowSetReader + * @see RowSetWriter + */ +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. + */ + 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. + * + * @throws SQLException + * if a problem occurs accessing the database. + */ + 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> + * 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. + * + * @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 + */ + 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}. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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 + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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}. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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 + */ + 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. + * + * @param name + * the database name. + * @throws SQLException + * if an error occurs accessing the database. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + * + * @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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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 + */ + 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. + */ + 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. + */ + 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 + */ + 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 + */ + 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 + */ + 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 + */ + 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. + * + * @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 + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + public void setUsername(String theUsername) throws SQLException; +} |