public class

JoinRowSetImpl

extends WebRowSetImpl
implements JoinRowSet
java.lang.Object
   ↳ javax.sql.rowset.BaseRowSet
     ↳ com.sun.rowset.CachedRowSetImpl
       ↳ com.sun.rowset.WebRowSetImpl
         ↳ com.sun.rowset.JoinRowSetImpl

Class Overview

The standard implementation of the JoinRowSet interface providing an SQL JOIN between RowSet objects.

The implementation provides an ANSI-style JOIN providing an inner join between two tables. Any unmatched rows in either table of the join are discarded.

Typically, a JoinRowSet implementation is leveraged by RowSet instances that are in a disconnected environment and thus do not have the luxury of an open connection to the data source to establish logical relationships between themselves. In other words, it is largely CachedRowSet objects and implementations derived from the CachedRowSet interface that will use the JoinRowSetImpl implementation.

Summary

[Expand]
Inherited Constants
From class javax.sql.rowset.BaseRowSet
From interface java.sql.ResultSet
From interface javax.sql.rowset.CachedRowSet
From interface javax.sql.rowset.JoinRowSet
From interface javax.sql.rowset.WebRowSet
[Expand]
Inherited Fields
From class com.sun.rowset.CachedRowSetImpl
From class javax.sql.rowset.BaseRowSet
Public Constructors
JoinRowSetImpl()
Constructor for JoinRowSetImpl class.
Public Methods
boolean absolute(int row)
Moves this JoinRowSetImpl object's cursor to the row number specified.
void addRowSet(RowSet[] rowset, String[] columnName)
Adds the given RowSet objects to the JOIN relationship and sets the designated columns as the match columns.
void addRowSet(Joinable rowset)
Adds the given RowSet object to this JoinRowSet object.
void addRowSet(RowSet[] rowset, int[] columnIdx)
Adds the given RowSet objects to the JOIN relationship and sets the designated columns as the match columns.
void addRowSet(RowSet rowset, String columnName)
Adds the given RowSet object to the JOIN relationship and sets the designated column as the match column.
void addRowSet(RowSet rowset, int columnIdx)
Adds the given RowSet object to the JOIN relation and sets the designated column as the match column.
void addRowSetListener(RowSetListener listener)
The listener will be notified whenever an event occurs on this JoinRowSet object.
void afterLast()
Moves this JoinRowSetImpl object's cursor to the end of the rowset, just after the last row.
void beforeFirst()
Moves this JoinRowSetImpl object's cursor to the front of the rowset, just before the first row.
void cancelRowUpdates()
Rolls back any updates made to the current row of this JoinRowSetImpl object and notifies listeners that a row has changed.
void clearWarnings()
Throws an UnsupportedOperationException if called.
void close()
Releases the current contents of this rowset, discarding outstanding updates.
boolean columnUpdated(int indexColumn)
Indicates whether the designated column of the current row of this JoinRowSetImpl object has been updated.
CachedRowSet createCopySchema()
Creates a RowSet object that is a copy of this JoinRowSetImpl object's table structure and the constraints only.
void deleteRow()
Deletes the current row from this JoinRowSetImpl object and notifies listeners registered with this rowset that a row has changed.
void execute()
Populates this JoinRowSetImpl object with data.
void execute(Connection conn)
Populates this JoinRowSetImpl object with data, using the given connection to produce the result set from which data will be read.
int findColumn(String columnName)
Returns the index of the column whose name is columnName.
boolean first()
Moves this JoinRowSetImpl object's cursor to the first row and returns true if the operation was successful.
Array getArray(int columnIndex)
Retrieves the value of the designated column in this JoinRowSetImpl object as an Array object in the Java programming lanugage.
Array getArray(String columnName)
Retrieves the value of the designated column in this JoinRowSetImpl object as an Array object in the Java programming lanugage.
InputStream getAsciiStream(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object.
InputStream getAsciiStream(String columnName)
This method is not supported, and it will throw an UnsupportedOperationException if it is called.
BigDecimal getBigDecimal(String columnName)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.math.BigDecimal object.
BigDecimal getBigDecimal(int columnIndex, int scale)
This method is deprecated. No replacement.
BigDecimal getBigDecimal(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.math.BigDecimal object.
BigDecimal getBigDecimal(String columnName, int scale)
This method is deprecated. use the method getBigDecimal(String columnName) instead
InputStream getBinaryStream(int columnIndex)
A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream.
InputStream getBinaryStream(String columnName)
Retrieves the value stored in the designated column of the current row as a java.io.InputStream object.
Blob getBlob(String columnName)
Retrieves the value of the designated column in this JoinRowSetImpl object as a Blob object in the Java programming lanugage.
Blob getBlob(int columnIndex)
Retrieves the value of the designated column in this JoinRowSetImpl object as a Blob object in the Java programming lanugage.
boolean getBoolean(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a boolean value.
boolean getBoolean(String columnName)
Retrieves the value stored in the designated column of the current row as a boolean value.
byte getByte(String columnName)
Retrieves the value stored in the designated column of the current row as a byte value.
byte getByte(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a byte value.
byte[] getBytes(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a byte array value.
byte[] getBytes(String columnName)
Retrieves the value stored in the designated column of the current row as a byte array.
Reader getCharacterStream(String columnName)
Retrieves the value stored in the designated column of the current row as a java.io.Reader object.
Reader getCharacterStream(int columnIndex)
Retrieves the value stored in the designated column of the current row as a java.io.Reader object.
Clob getClob(int columnIndex)
Retrieves the value of the designated column in this JoinRowSetImpl object as a Clob object in the Java programming lanugage.
Clob getClob(String columnName)
Retrieves the value of the designated column in this JoinRowSetImpl object as a Clob object in the Java programming lanugage.
String getCursorName()
Retrieves the name of the SQL cursor used by this JoinRowSetImpl object.
Date getDate(int columnIndex, Calendar cal)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Date object, using the given Calendar object to construct an appropriate millisecond value for the date.
Date getDate(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Date object.
Date getDate(String columnName, Calendar cal)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Date object, using the given Calendar object to construct an appropriate millisecond value for the date.
Date getDate(String columnName)
Retrieves the value stored in the designated column of the current row as a java.sql.Date object.
double getDouble(String columnName)
Retrieves the value stored in the designated column of the current row as a double value.
double getDouble(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a double value.
float getFloat(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a float value.
float getFloat(String columnName)
Retrieves the value stored in the designated column of the current row as a float value.
int getInt(String columnName)
Retrieves the value stored in the designated column of the current row as an int value.
int getInt(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a short value.
int getJoinType()
Returns the last set SQL JOIN type in this JoinRowSetImpl object
int[] getKeyColumns()
Returns the columns that make a key to uniquely identify a row in this JoinRowSetImpl object.
long getLong(String columnName)
Retrieves the value stored in the designated column of the current row as a long value.
long getLong(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a long value.
ResultSetMetaData getMetaData()
Retrieves the ResultSetMetaData object that contains information about this CachedRowsSet object.
Object getObject(String columnName, Map<StringClass<?>> map)
Retrieves the value of the designated column in this JoinRowSetImpl object as an Object in the Java programming lanugage, using the given java.util.Map object to custom map the value if appropriate.
Object getObject(int columnIndex, Map<StringClass<?>> map)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as an Object value.
Object getObject(String columnName)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as an Object value.
Object getObject(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as an Object value.
ResultSet getOriginal()
Returns a result set containing the original value of the rowset.
ResultSet getOriginalRow()
Returns a result set containing the original value of the rowset.
Ref getRef(String columnName)
Retrieves the value of the designated column in this JoinRowSetImpl object as a Ref object in the Java programming lanugage.
Ref getRef(int columnIndex)
Retrieves the value of the designated column in this JoinRowSetImpl object as a Ref object in the Java programming lanugage.
int getRow()
Returns the number of the current row in this JoinRowSetImpl object.
String[] getRowSetNames()
Returns a string array of the RowSet names currently residing with the JoinRowSet object instance.
Collection getRowSets()
Returns a Collection of the RowSet object instances currently residing with the instance of the JoinRowSet object instance.
short getShort(String columnName)
Retrieves the value stored in the designated column of the current row as a short value.
short getShort(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a short value.
Statement getStatement()
Returns null.
String getString(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a String object.
String getString(String columnName)
Retrieves the value stored in the designated column of the current row as a String object.
Time getTime(String columnName, Calendar cal)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Time object, using the given Calendar object to construct an appropriate millisecond value for the date.
Time getTime(String columnName)
Retrieves the value stored in the designated column of the current row as a java.sql.Time object.
Time getTime(int columnIndex, Calendar cal)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Time object, using the given Calendar object to construct an appropriate millisecond value for the date.
Time getTime(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Time object.
Timestamp getTimestamp(int columnIndex, Calendar cal)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object, using the given Calendar object to construct an appropriate millisecond value for the date.
Timestamp getTimestamp(String columnName)
Retrieves the value stored in the designated column of the current row as a java.sql.Timestamp object.
Timestamp getTimestamp(String columnName, Calendar cal)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object, using the given Calendar object to construct an appropriate millisecond value for the date.
Timestamp getTimestamp(int columnIndex)
Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object.
URL getURL(int columnIndex)
Provide interface coverage for getURL(int) in ResultSet->RowSet
URL getURL(String columnName)
Provide interface coverage for getURL(String) in ResultSet->RowSet
InputStream getUnicodeStream(int columnIndex)
This method is deprecated. No replacement.
InputStream getUnicodeStream(String columnName)
This method is deprecated. use the method getCharacterStream instead
SQLWarning getWarnings()
The first warning reported by calls on this CachedRowSetImpl object is returned.
String getWhereClause()
Return a SQL-like description of the WHERE clause being used in a JoinRowSet object instance.
void insertRow()
Inserts the contents of this JoinRowSetImpl object's insert row into this rowset immediately following the current row.
boolean isAfterLast()
Indicates whether the cursor is after the last row in this JoinRowSetImpl object.
boolean isBeforeFirst()
Indicates whether the cursor is before the first row in this JoinRowSetImpl object.
boolean isFirst()
Indicates whether the cursor is on the first row in this JoinRowSetImpl object.
boolean isLast()
Indicates whether the cursor is on the last row in this JoinRowSetImpl object.
boolean last()
Moves this JoinRowSetImpl object's cursor to the last row and returns true if the operation was successful.
void moveToCurrentRow()
Moves the cursor for this JoinRowSetImpl object to the current row.
void moveToInsertRow()
Moves the cursor for this JoinRowSetImpl object to the insert row.
boolean next()
Moves the cursor down one row from its current position and returns true if the new cursor position is a valid row.
boolean previous()
Moves this JoinRowSetImpl object's cursor to the previous row and returns true if the cursor is on a valid row or false if it is not.
void readXml(InputStream iStream)
Reads a stream based XML input to populate an WebRowSet
void readXml(Reader reader)
Reads this JoinRowSet object in its XML format.
void refreshRow()
Sets the current row with its original value and marks the row as not updated, thus undoing any changes made to the row since the last call to the methods updateRow or deleteRow.
boolean relative(int rows)
Moves the cursor the specified number of rows from the current position, with a positive number moving it forward and a negative number moving it backward.
void removeRowSetListener(RowSetListener listener)
Removes the designated object from this JoinRowSet object's list of listeners.
boolean rowDeleted()
Indicates whether the current row has been deleted.
boolean rowInserted()
Indicates whether the current row has been inserted.
boolean rowUpdated()
Indicates whether the current row of this JoinRowSetImpl object has been updated.
void setJoinType(int type)
Sets the type of SQL JOIN that this JoinRowSet object will use.
void setKeyColumns(int[] cols)
Sets this JoinRowSetImpl object's keyCols field with the given array of column numbers, which forms a key for uniquely identifying a row in this rowset.
void setMetaData(RowSetMetaData md)
Sets the metadata for this JoinRowSetImpl object with the given RowSetMetaData object.
void setOriginalRow()
Returns a result set containing the original value of the current row only.
int size()
Returns the number of rows in this JoinRowSetImpl object.
boolean supportsCrossJoin()
Returns true if this JoinRowSet object supports an SQL CROSS_JOIN and false if it does not.
boolean supportsFullJoin()
Returns true if this JoinRowSet object supports an SQL FULL_JOIN and false if it does not.
boolean supportsInnerJoin()
Returns true if this JoinRowSet object supports an SQL INNER_JOIN and false if it does not.
boolean supportsLeftOuterJoin()
Returns true if this JoinRowSet object supports an SQL LEFT_OUTER_JOIN and false if it does not.
boolean supportsRightOuterJoin()
Returns true if this JoinRowSet object supports an SQL RIGHT_OUTER_JOIN and false if it does not.
CachedRowSet toCachedRowSet()
Creates a separate CachedRowSet object that contains the data in this JoinRowSet object.
Collection<?> toCollection()
Converts this JoinRowSetImpl object to a collection of tables.
Collection<?> toCollection(int column)
Returns the specified column of this JoinRowSetImpl object as a Collection object.
Collection<?> toCollection(String column)
Returns the specified column of this JoinRowSetImpl object as a Collection object.
void updateArray(int columnIndex, Array a)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Array object.
void updateArray(String columnName, Array a)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Array object.
void updateAsciiStream(String columnName, InputStream x, int length)
Unsupported; throws an UnsupportedOperationException if called.
void updateAsciiStream(int columnIndex, InputStream x, int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given ASCII stream value.
void updateBigDecimal(int columnIndex, BigDecimal x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.math.BigDecimal object.
void updateBigDecimal(String columnName, BigDecimal x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.math.BigDecimal object.
void updateBinaryStream(int columnIndex, InputStream x, int length)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.InputStream object.
void updateBinaryStream(String columnName, InputStream x, int length)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.InputStream object.
void updateBlob(int columnIndex, Blob b)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Blob value.
void updateBlob(String columnName, Blob b)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Blob object.
void updateBoolean(int columnIndex, boolean x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given boolean value.
void updateBoolean(String columnName, boolean x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given boolean value.
void updateByte(String columnName, byte x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte value.
void updateByte(int columnIndex, byte x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte value.
void updateBytes(int columnIndex, byte[] x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte array.
void updateBytes(String columnName, byte[] x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte array.
void updateCharacterStream(String columnName, Reader x, int length)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.Reader object.
void updateCharacterStream(int columnIndex, Reader x, int length)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.Reader object.
void updateClob(int columnIndex, Clob c)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Clob object.
void updateClob(String columnName, Clob c)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Clob object.
void updateDate(String columnName, Date x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Date object.
void updateDate(int columnIndex, Date x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Date object.
void updateDouble(String columnName, double x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given double value.
void updateDouble(int columnIndex, double x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given double value.
void updateFloat(String columnName, float x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given float value.
void updateFloat(int columnIndex, float x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given float value.
void updateInt(String columnName, int x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given int value.
void updateInt(int columnIndex, int x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given int value.
void updateLong(String columnName, long x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given long value.
void updateLong(int columnIndex, long x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given long value.
void updateNull(String columnName)
Sets the designated nullable column in the current row or the insert row of this JoinRowSetImpl object with null value.
void updateNull(int columnIndex)
Sets the designated nullable column in the current row or the insert row of this JoinRowSetImpl object with null value.
void updateObject(int columnIndex, Object x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value.
void updateObject(int columnIndex, Object x, int scale)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value.
void updateObject(String columnName, Object x, int scale)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value.
void updateObject(String columnName, Object x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value.
void updateRef(int columnIndex, Ref ref)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Ref value.
void updateRef(String columnName, Ref ref)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Ref value.
void updateRow()
Marks the current row of this JoinRowSetImpl object as updated and notifies listeners registered with this rowset that the row has changed.
void updateShort(int columnIndex, short x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given short value.
void updateShort(String columnName, short x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given short value.
void updateString(int columnIndex, String x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given String object.
void updateString(String columnName, String x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given String object.
void updateTime(int columnIndex, Time x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Time object.
void updateTime(String columnName, Time x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Time object.
void updateTimestamp(int columnIndex, Timestamp x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Timestamp object.
void updateTimestamp(String columnName, Timestamp x)
Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Timestamp object.
boolean wasNull()
Reports whether the last column read was SQL NULL.
void writeXml(Writer writer)
Writes this JoinRowSet object to the given java.io.Writer object in XML format.
void writeXml(OutputStream oStream)
Creates an an output stream of the internal state and contents of a WebRowSet for XML proceessing
void writeXml(ResultSet rs, OutputStream oStream)
Creates a new WebRowSet object, populates it with the contents of the ResultSet and creates an output streams the internal state and contents of the rowset for XML processing.
void writeXml(ResultSet rs, Writer writer)
Creates a new WebRowSet object, populates it with the data in the given ResultSet object, and writes it to the given java.io.Writer object in XML format.
[Expand]
Inherited Methods
From class com.sun.rowset.WebRowSetImpl
From class com.sun.rowset.CachedRowSetImpl
From class javax.sql.rowset.BaseRowSet
From class java.lang.Object
From interface java.sql.ResultSet
From interface java.sql.Wrapper
From interface javax.sql.RowSet
From interface javax.sql.RowSetInternal
From interface javax.sql.rowset.CachedRowSet
From interface javax.sql.rowset.JoinRowSet
From interface javax.sql.rowset.Joinable
From interface javax.sql.rowset.WebRowSet

Public Constructors

public JoinRowSetImpl ()

Constructor for JoinRowSetImpl class. Configures various internal data structures to provide mechanisms required for JoinRowSet interface implementation.

Throws
SQLException if an error occurs in instantiating an instance of JoinRowSetImpl

Public Methods

public boolean absolute (int row)

Moves this JoinRowSetImpl object's cursor to the row number specified.

If the number is positive, the cursor moves to an absolute row with respect to the beginning of the rowset. The first row is row 1, the second is row 2, and so on. For example, the following command, in which crs is a JoinRowSetImpl object, moves the cursor to the fourth row, starting from the beginning of the rowset.



    crs.absolute(4);

  

If the number is negative, the cursor moves to an absolute row position with respect to the end of the rowset. For example, calling absolute(-1) positions the cursor on the last row, absolute(-2) moves it on the next-to-last row, and so on. If the JoinRowSetImpl object crs has five rows, the following command moves the cursor to the fourth-to-last row, which in the case of a rowset with five rows, is also the second row, counting from the beginning.



    crs.absolute(-4);

  
If the number specified is larger than the number of rows, the cursor will move to the position after the last row. If the number specified would move the cursor one or more rows before the first row, the cursor moves to the position before the first row.

Note: Calling absolute(1) is the same as calling the method first(). Calling absolute(-1) is the same as calling last().

Parameters
row a positive number to indicate the row, starting row numbering from the first row, which is 1; a negative number to indicate the row, starting row numbering from the last row, which is -1; must not be 0
Returns
  • true if the cursor is on the rowset; false otherwise
Throws
SQLException if the given cursor position is 0 or the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

public void addRowSet (RowSet[] rowset, String[] columnName)

Adds the given RowSet objects to the JOIN relationship and sets the designated columns as the match columns. If the first RowSet object in the array of RowSet objects is the first to be added to this JoinRowSet object, it forms the basis of the JOIN relationship to be formed when other RowSet objects are added.

The first String object in columnName is used to set the match column for the first RowSet object in rowset, the second String object in columnName is used to set the match column for the second RowSet object in rowset, and so on.

This method should be used when the given RowSet objects do not already have match columns set.

Parameters
rowset an array of RowSet objects to be added to the JOIN relation; each RowSet object must implement the Joinable interface
columnName an array of String objects designating the columns to be set as the match columns for the RowSet objects in rowset
Throws
SQLException if the number of RowSet objects in rowset is not equal to the number of String objects in columnName, an empty JdbcRowSet is added to the JoinRowSet, if a match column is not set, or one or the RowSet objects in rowset violates the active JOIN

public void addRowSet (Joinable rowset)

Adds the given RowSet object to this JoinRowSet object. If this rowset is the first to be added to the JoinRowSet object, it forms the basis for the JOIN relationships to be formed.

This method should be used when the given RowSet object already has a match column set.

Parameters
rowset the RowSet object that implements the Joinable interface and is to be added to this JoinRowSet object
Throws
SQLException if an empty RowSet is added to the to the JoinRowSet; if a match column is not set; or if an additional RowSet violates the active JOIN

public void addRowSet (RowSet[] rowset, int[] columnIdx)

Adds the given RowSet objects to the JOIN relationship and sets the designated columns as the match columns. If the first RowSet object in the array of RowSet objects is the first to be added to this JoinRowSet object, it forms the basis of the JOIN relationship to be formed when other RowSet objects are added.

The first int in columnIdx is used to set the match column for the first RowSet object in rowset, the second int in columnIdx is used to set the match column for the second RowSet object in rowset, and so on.

This method should be used when the given RowSet objects do not already have match columns set.

Parameters
rowset an array of RowSet objects to be added to the JOIN relation; each RowSet object must implement the Joinable interface
columnIdx an array of int values designating the columns to be set as the match columns for the RowSet objects in rowset
Throws
SQLException if the number of RowSet objects in rowset is not equal to the number of int values in columnIdx

public void addRowSet (RowSet rowset, String columnName)

Adds the given RowSet object to the JOIN relationship and sets the designated column as the match column. If the given RowSet object is the first to be added to this JoinRowSet object, it forms the basis of the JOIN relationship to be formed when other RowSet objects are added .

This method should be used when the given RowSet object does not already have a match column set.

Parameters
rowset a RowSet object to be added to the JOIN relation
columnName a String object giving the name of the column to be set as the match column; must implement the Joinable interface
Throws
SQLException if (1) an empty RowSet object is added to this JoinRowSet object, (2) a match column has not been set, or (3) the RowSet object being added violates the active JOIN

public void addRowSet (RowSet rowset, int columnIdx)

Adds the given RowSet object to the JOIN relation and sets the designated column as the match column. If the given RowSet object is the first to be added to this JoinRowSet object, it forms the basis of the JOIN relationship to be formed when other RowSet objects are added .

This method should be used when the given RowSet object does not already have a match column set.

Parameters
rowset a RowSet object to be added to the JOIN relation; must implement the Joinable interface
columnIdx an int giving the index of the column to be set as the match column
Throws
SQLException if (1) an empty RowSet object is added to this JoinRowSet object, (2) a match column has not been set, or (3) the RowSet object being added violates the active JOIN

public void addRowSetListener (RowSetListener listener)

The listener will be notified whenever an event occurs on this JoinRowSet object.

A listener might, for example, be a table or graph that needs to be updated in order to accurately reflect the current state of the RowSet object.

Note: if the RowSetListener object is null, this method silently discards the null value and does not add a null reference to the set of listeners.

Note: if the listener is already set, and the new RowSetListerner instance is added to the set of listeners already registered to receive event notifications from this RowSet.

Parameters
listener an object that has implemented the javax.sql.RowSetListener interface and wants to be notified of any events that occur on this JoinRowSet object; May be null.

public void afterLast ()

Moves this JoinRowSetImpl object's cursor to the end of the rowset, just after the last row. This method has no effect if this rowset contains no rows.

Throws
SQLException if an error occurs

public void beforeFirst ()

Moves this JoinRowSetImpl object's cursor to the front of the rowset, just before the first row. This method has no effect if this rowset contains no rows.

Throws
SQLException if an error occurs or the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

public void cancelRowUpdates ()

Rolls back any updates made to the current row of this JoinRowSetImpl object and notifies listeners that a row has changed. To have an effect, this method must be called after an updateXXX method has been called and before the method updateRow has been called. If no updates have been made or the method updateRow has already been called, this method has no effect.

After updateRow is called it is the cancelRowUpdates has no affect on the newly inserted values. The method cancelRowInsert can be used to remove any rows inserted into the RowSet.

Throws
SQLException if the cursor is on the insert row, before the first row, or after the last row

public void clearWarnings ()

Throws an UnsupportedOperationException if called.

After a call to this method, the getWarnings method returns null until a new warning is reported for this JoinRowSetImpl object.

Throws
UnsupportedOperationException if this method is called

public void close ()

Releases the current contents of this rowset, discarding outstanding updates. The rowset contains no rows after the method release is called. This method sends a RowSetChangedEvent object to all registered listeners prior to returning.

Throws
SQLException if an error occurs

public boolean columnUpdated (int indexColumn)

Indicates whether the designated column of the current row of this JoinRowSetImpl object has been updated. The value returned depends on whether this rowset can detcted updates: false will always be returned if it does not detect updates.

Parameters
indexColumn the index identifier of the column that may be have been updated.
Returns
  • true if the column updated false otherwse
Throws
SQLException if the cursor is on the insert row or not on a valid row

public CachedRowSet createCopySchema ()

Creates a RowSet object that is a copy of this JoinRowSetImpl object's table structure and the constraints only. There will be no data in the object being returned. Updates made on a copy are not visible to the original rowset.

This helps in getting the underlying XML schema which can be used as the basis for populating a WebRowSet.

Returns
  • a new CachedRowSet object that is a copy of this JoinRowSetImpl object's schema and retains all the constraints on the original rowset but contains no data
Throws
SQLException if an error occurs in generating the copy of the CachedRowSet object

public void deleteRow ()

Deletes the current row from this JoinRowSetImpl object and notifies listeners registered with this rowset that a row has changed. This method cannot be called when the cursor is on the insert row.

This method marks the current row as deleted, but it does not delete the row from the underlying data source. The method acceptChanges must be called to delete the row in the data source.

Throws
SQLException if (1) this method is called when the cursor is on the insert row, before the first row, or after the last row or (2) this rowset is ResultSet.CONCUR_READ_ONLY

public void execute ()

Populates this JoinRowSetImpl object with data. This form of the method uses the rowset's user, password, and url or data source name properties to create a database connection. If properties that are needed have not been set, this method will throw an exception.

Another form of this method uses an existing JDBC Connection object instead of creating a new one; therefore, it ignores the properties used for establishing a new connection.

The query specified by the command property is executed to create a ResultSet object from which to retrieve data. The current contents of the rowset are discarded, and the rowset's metadata is also (re)set. If there are outstanding updates, they are also ignored.

The method execute closes any database connections that it creates.

Throws
SQLException if an error occurs or the necessary properties have not been set

public void execute (Connection conn)

Populates this JoinRowSetImpl object with data, using the given connection to produce the result set from which data will be read. A second form of this method, which takes no arguments, uses the values from this rowset's user, password, and either url or data source properties to create a new database connection. The form of execute that is given a connection ignores these properties.

Parameters
conn A standard JDBC Connection object with valid properties that the JoinRowSet implementation can pass to a synchronization provider to establish a connection to the datasource
Throws
SQLException if an invalid Connection is supplied or an error occurs in establishing the connection to the data soure
See Also

public int findColumn (String columnName)

Returns the index of the column whose name is columnName.

Parameters
columnName a String object giving the name of the column for which the index will be returned; the name must match the SQL name of a column in this JoinRowSet object, ignoring case
Returns
  • the column index of the given column name
Throws
SQLException if the given column name does not match one of the column names for this JoinRowSet object

public boolean first ()

Moves this JoinRowSetImpl object's cursor to the first row and returns true if the operation was successful. This method also notifies registered listeners that the cursor has moved.

Returns
  • true if the cursor is on a valid row; false otherwise or if there are no rows in this JoinRowSetImpl object
Throws
SQLException if the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

public Array getArray (int columnIndex)

Retrieves the value of the designated column in this JoinRowSetImpl object as an Array object in the Java programming lanugage.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
Returns
  • an Array object representing an SQL ARRAY value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL ARRAY value

public Array getArray (String columnName)

Retrieves the value of the designated column in this JoinRowSetImpl object as an Array object in the Java programming lanugage.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Returns
  • an Array object representing an SQL ARRAY value
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL ARRAY value

public InputStream getAsciiStream (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public InputStream getAsciiStream (String columnName)

This method is not supported, and it will throw an UnsupportedOperationException if it is called.

A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII format.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getXXX method implicitly closes the stream.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL NULL, the result is null.
Throws
UnsupportedOperationException if this method is called
SQLException

public BigDecimal getBigDecimal (String columnName)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.math.BigDecimal object.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Returns
  • a java.math.BigDecimal value with full precision; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public BigDecimal getBigDecimal (int columnIndex, int scale)

This method is deprecated.
No replacement.

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.math.BigDecimal object.

This method is deprecated; use the version of getBigDecimal that does not take a scale parameter and returns a value with full precision.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
scale the number of digits to the right of the decimal point in the value returned
Returns
  • the column value with the specified number of digits to the right of the decimal point; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public BigDecimal getBigDecimal (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.math.BigDecimal object.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • a java.math.BigDecimal value with full precision; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public BigDecimal getBigDecimal (String columnName, int scale)

This method is deprecated.
use the method getBigDecimal(String columnName) instead

Retrieves the value stored in the designated column of the current row as a java.math.BigDecimal object.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
scale the number of digits to the right of the decimal point
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public InputStream getBinaryStream (int columnIndex)

A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. Also, a stream may return 0 for available() whether there is data available or not.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
Throws
SQLException if an error occurs

public InputStream getBinaryStream (String columnName)

Retrieves the value stored in the designated column of the current row as a java.io.InputStream object. A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL, the result is null.
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public Blob getBlob (String columnName)

Retrieves the value of the designated column in this JoinRowSetImpl object as a Blob object in the Java programming lanugage.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Returns
  • a Blob object representing an SQL BLOB value
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL BLOB value

public Blob getBlob (int columnIndex)

Retrieves the value of the designated column in this JoinRowSetImpl object as a Blob object in the Java programming lanugage.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
Returns
  • a Blob object representing an SQL BLOB value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL BLOB value

public boolean getBoolean (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a boolean value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is false
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public boolean getBoolean (String columnName)

Retrieves the value stored in the designated column of the current row as a boolean value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is false
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public byte getByte (String columnName)

Retrieves the value stored in the designated column of the current row as a byte value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public byte getByte (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a byte value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public byte[] getBytes (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a byte array value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or the the value to be retrieved is not binary

public byte[] getBytes (String columnName)

Retrieves the value stored in the designated column of the current row as a byte array. The bytes represent the raw values returned by the driver.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public Reader getCharacterStream (String columnName)

Retrieves the value stored in the designated column of the current row as a java.io.Reader object.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getXXX method implicitly closes the stream.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL NULL, the result is null.
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or there is a type mismatch

public Reader getCharacterStream (int columnIndex)

Retrieves the value stored in the designated column of the current row as a java.io.Reader object.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getXXX method implicitly closes the stream.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • a Java character stream that delivers the database column value as a java.io.Reader object. If the value is SQL NULL, the result is null.
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or there is a type mismatch

public Clob getClob (int columnIndex)

Retrieves the value of the designated column in this JoinRowSetImpl object as a Clob object in the Java programming lanugage.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
Returns
  • a Clob object representing an SQL CLOB value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL CLOB value

public Clob getClob (String columnName)

Retrieves the value of the designated column in this JoinRowSetImpl object as a Clob object in the Java programming lanugage.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Returns
  • a Clob object representing an SQL CLOB value
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL CLOB value

public String getCursorName ()

Retrieves the name of the SQL cursor used by this JoinRowSetImpl object.

In SQL, a result table is retrieved through a cursor that is named. The current row of a result can be updated or deleted using a positioned update/delete statement that references the cursor name. To insure that the cursor has the proper isolation level to support an update operation, the cursor's SELECT statement should be of the form 'select for update'. If the 'for update' clause is omitted, positioned updates may fail.

JDBC supports this SQL feature by providing the name of the SQL cursor used by a ResultSet object. The current row of a result set is also the current row of this SQL cursor.

Note: If positioned updates are not supported, an SQLException is thrown.

Returns
  • the SQL cursor name for this JoinRowSetImpl object's cursor
Throws
SQLException if an error occurs

public Date getDate (int columnIndex, Calendar cal)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Date object, using the given Calendar object to construct an appropriate millisecond value for the date.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
cal the java.util.Calendar object to use in constructing the date
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL DATE or TIMESTAMP value

public Date getDate (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Date object.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public Date getDate (String columnName, Calendar cal)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Date object, using the given Calendar object to construct an appropriate millisecond value for the date.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
cal the java.util.Calendar object to use in constructing the date
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL DATE or TIMESTAMP value

public Date getDate (String columnName)

Retrieves the value stored in the designated column of the current row as a java.sql.Date object.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public double getDouble (String columnName)

Retrieves the value stored in the designated column of the current row as a double value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public double getDouble (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a double value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public float getFloat (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a float value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public float getFloat (String columnName)

Retrieves the value stored in the designated column of the current row as a float value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public int getInt (String columnName)

Retrieves the value stored in the designated column of the current row as an int value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public int getInt (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a short value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public int getJoinType ()

Returns the last set SQL JOIN type in this JoinRowSetImpl object

Returns
  • joinType One of the standard JoinRowSet static field JOIN types
Throws
SQLException if an error occurs determining the current join type

public int[] getKeyColumns ()

Returns the columns that make a key to uniquely identify a row in this JoinRowSetImpl object.

Returns
  • an array of column number that constites a primary key for this rowset. This array should be empty if no columns is representitive of a primary key
Throws
SQLException if the rowset is empty or no columns are designated as primary keys

public long getLong (String columnName)

Retrieves the value stored in the designated column of the current row as a long value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public long getLong (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a long value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public ResultSetMetaData getMetaData ()

Retrieves the ResultSetMetaData object that contains information about this CachedRowsSet object. The information includes the number of columns, the data type for each column, and other properties for each column.

Returns
  • the ResultSetMetaData object that describes this JoinRowSetImpl object's columns
Throws
SQLException if an error occurs

public Object getObject (String columnName, Map<StringClass<?>> map)

Retrieves the value of the designated column in this JoinRowSetImpl object as an Object in the Java programming lanugage, using the given java.util.Map object to custom map the value if appropriate.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
map a java.util.Map object showing the mapping from SQL type names to classes in the Java programming language
Returns
  • an Object representing the SQL value
Throws
SQLException if the given column index is out of bounds or the cursor is not on one of this rowset's rows or its insert row

public Object getObject (int columnIndex, Map<StringClass<?>> map)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as an Object value.

The type of the Object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification.

This method may also be used to read datatabase-specific abstract data types.

This implementation of the method getObject extends its behavior so that it gets the attributes of an SQL structured type as as an array of Object values. This method also custom maps SQL user-defined types to classes in the Java programming language. When the specified column contains a structured or distinct value, the behavior of this method is as if it were a call to the method getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
map a java.util.Map object showing the mapping from SQL type names to classes in the Java programming language
Returns
  • a java.lang.Object holding the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name does not match one of this rowset's column names, (2) the cursor is not on a valid row, or (3) there is a problem getting the Class object for a custom mapping

public Object getObject (String columnName)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as an Object value.

The type of the Object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification.

This method may also be used to read datatabase-specific abstract data types.

This implementation of the method getObject extends its behavior so that it gets the attributes of an SQL structured type as as an array of Object values. This method also custom maps SQL user-defined types to classes in the Java programming language. When the specified column contains a structured or distinct value, the behavior of this method is as if it were a call to the method getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Returns
  • a java.lang.Object holding the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name does not match one of this rowset's column names, (2) the cursor is not on a valid row, or (3) there is a problem getting the Class object for a custom mapping

public Object getObject (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as an Object value.

The type of the Object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification.

This method may also be used to read datatabase-specific abstract data types.

This implementation of the method getObject extends its behavior so that it gets the attributes of an SQL structured type as as an array of Object values. This method also custom maps SQL user-defined types to classes in the Java programming language. When the specified column contains a structured or distinct value, the behavior of this method is as if it were a call to the method getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • a java.lang.Object holding the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or there is a problem getting the Class object for a custom mapping

public ResultSet getOriginal ()

Returns a result set containing the original value of the rowset. The original value is the state of the CachedRowSetImpl after the last population or synchronization (whichever occured most recently) with the data source.

The cursor is positioned before the first row in the result set. Only rows contained in the result set returned by getOriginal() are said to have an original value.

Returns
  • the original result set of the rowset
Throws
SQLException

public ResultSet getOriginalRow ()

Returns a result set containing the original value of the rowset. The cursor is positioned before the first row in the result set. Only rows contained in the result set returned by getOriginal() are said to have an original value.

Returns
  • the original result set of the rowset
Throws
SQLException if an error occurs produce the ResultSet object

public Ref getRef (String columnName)

Retrieves the value of the designated column in this JoinRowSetImpl object as a Ref object in the Java programming lanugage.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Returns
  • a Ref object representing an SQL REF value
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the column value is not an SQL REF value

public Ref getRef (int columnIndex)

Retrieves the value of the designated column in this JoinRowSetImpl object as a Ref object in the Java programming lanugage.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
Returns
  • a Ref object representing an SQL REF value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL REF value

public int getRow ()

Returns the number of the current row in this JoinRowSetImpl object. The first row is number 1, the second number 2, and so on.

Returns
  • the number of the current row; 0 if there is no current row
Throws
SQLException if an error occurs

public String[] getRowSetNames ()

Returns a string array of the RowSet names currently residing with the JoinRowSet object instance.

Returns
  • a string array of the RowSet names
Throws
SQLException if an error occours retrieving the RowSet names

public Collection getRowSets ()

Returns a Collection of the RowSet object instances currently residing with the instance of the JoinRowSet object instance. This should return the 'n' number of RowSet contained within the JOIN and maintain any updates that have occoured while in this union.

Returns
  • A Collection of the added RowSet object instances
Throws
SQLException if an error occours generating a collection of the originating RowSets contained within the JOIN.

public short getShort (String columnName)

Retrieves the value stored in the designated column of the current row as a short value.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public short getShort (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a short value.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is 0
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public Statement getStatement ()

Returns null.

Returns
  • null
Throws
SQLException if an error occurs

public String getString (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a String object.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds or the cursor is not on a valid row

public String getString (String columnName)

Retrieves the value stored in the designated column of the current row as a String object.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public Time getTime (String columnName, Calendar cal)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Time object, using the given Calendar object to construct an appropriate millisecond value for the date.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
cal the java.util.Calendar object to use in constructing the date
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL TIME or TIMESTAMP value

public Time getTime (String columnName)

Retrieves the value stored in the designated column of the current row as a java.sql.Time object.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public Time getTime (int columnIndex, Calendar cal)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Time object, using the given Calendar object to construct an appropriate millisecond value for the date.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
cal the java.util.Calendar object to use in constructing the date
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL TIME or TIMESTAMP value

public Time getTime (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Time object.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public Timestamp getTimestamp (int columnIndex, Calendar cal)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object, using the given Calendar object to construct an appropriate millisecond value for the date.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
cal the java.util.Calendar object to use in constructing the date
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL TIME or TIMESTAMP value

public Timestamp getTimestamp (String columnName)

Retrieves the value stored in the designated column of the current row as a java.sql.Timestamp object.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public Timestamp getTimestamp (String columnName, Calendar cal)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object, using the given Calendar object to construct an appropriate millisecond value for the date.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
cal the java.util.Calendar object to use in constructing the date
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if (1) the given column name is not the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) the designated column does not store an SQL DATE, TIME, or TIMESTAMP value

public Timestamp getTimestamp (int columnIndex)

Retrieves the value of the designated column in the current row of this JoinRowSetImpl object as a java.sql.Timestamp object.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in the rowset
Returns
  • the column value; if the value is SQL NULL, the result is null
Throws
SQLException if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

public URL getURL (int columnIndex)

Provide interface coverage for getURL(int) in ResultSet->RowSet

Parameters
columnIndex the index of the column 1 is the first, 2 is the second,...
Returns
  • a java.net.URL object containing the resource reference described by the URL
Throws
SQLException

public URL getURL (String columnName)

Provide interface coverage for getURL(String) in ResultSet->RowSet

Parameters
columnName the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns
  • a java.net.URL object containing the resource reference described by the URL
Throws
SQLException

public InputStream getUnicodeStream (int columnIndex)

This method is deprecated.
No replacement.

A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. . Also, a stream may return 0 for available() whether there is data available or not.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
Returns
  • a Java input stream that delivers the database column value as a stream of two byte Unicode characters. If the value is SQL NULL then the result is null.
Throws
SQLException if an error occurs

public InputStream getUnicodeStream (String columnName)

This method is deprecated.
use the method getCharacterStream instead

Retrieves the value stored in the designated column of the current row as a java.io.InputStream object. A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getXXX method implicitly closes the stream.

Parameters
columnName a String object giving the SQL name of a column in this JoinRowSetImpl object
Returns
  • a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL NULL, the result is null.
Throws
SQLException if the given column name does not match one of this rowset's column names or the cursor is not on one of this rowset's rows or its insert row

public SQLWarning getWarnings ()

The first warning reported by calls on this CachedRowSetImpl object is returned. Subsequent CachedRowSetImpl warnings will be chained to this SQLWarning.

The warning chain is automatically cleared each time a new row is read.

Note: This warning chain only covers warnings caused by ResultSet methods. Any warning caused by statement methods (such as reading OUT parameters) will be chained on the Statement object.

Returns
  • the first SQLWarning or null

public String getWhereClause ()

Return a SQL-like description of the WHERE clause being used in a JoinRowSet object instance. An implementation can describe the WHERE clause of the SQL JOIN by supplying a SQL strings description of JOIN or provide a textual description to assist applications using a JoinRowSet.

Returns
  • whereClause a textual or SQL descripition of the logical WHERE cluase used in the JoinRowSet instance
Throws
SQLException if an error occurs in generating a representation of the WHERE clause.

public void insertRow ()

Inserts the contents of this JoinRowSetImpl object's insert row into this rowset immediately following the current row. If the current row is the position after the last row or before the first row, the new row will be inserted at the end of the rowset. This method also notifies listeners registered with this rowset that the row has changed.

The cursor must be on the insert row when this method is called.

Throws
SQLException if (1) the cursor is not on the insert row, (2) one or more of the non-nullable columns in the insert row has not been given a value, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public boolean isAfterLast ()

Indicates whether the cursor is after the last row in this JoinRowSetImpl object.

Returns
  • true if the cursor is after the last row; false otherwise or if the rowset contains no rows
Throws
SQLException if an error occurs

public boolean isBeforeFirst ()

Indicates whether the cursor is before the first row in this JoinRowSetImpl object.

Returns
  • true if the cursor is before the first row; false otherwise or if the rowset contains no rows
Throws
SQLException if an error occurs

public boolean isFirst ()

Indicates whether the cursor is on the first row in this JoinRowSetImpl object.

Returns
  • true if the cursor is on the first row; false otherwise or if the rowset contains no rows
Throws
SQLException if an error occurs

public boolean isLast ()

Indicates whether the cursor is on the last row in this JoinRowSetImpl object.

Note: Calling the method isLast may be expensive because the JDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in this rowset.

Returns
  • true if the cursor is on the last row; false otherwise or if this rowset contains no rows
Throws
SQLException if an error occurs

public boolean last ()

Moves this JoinRowSetImpl object's cursor to the last row and returns true if the operation was successful. This method also notifies registered listeners that the cursor has moved.

Returns
  • true if the cursor is on a valid row; false otherwise or if there are no rows in this JoinRowSetImpl object
Throws
SQLException if the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

public void moveToCurrentRow ()

Moves the cursor for this JoinRowSetImpl object to the current row. The current row is the row the cursor was on when the method moveToInsertRow was called.

Calling this method has no effect unless it is called while the cursor is on the insert row.

Throws
SQLException if an error occurs

public void moveToInsertRow ()

Moves the cursor for this JoinRowSetImpl object to the insert row. The current row in the rowset is remembered while the cursor is on the insert row.

The insert row is a special row associated with an updatable rowset. It is essentially a buffer where a new row may be constructed by calling the appropriate updateXXX methods to assign a value to each column in the row. A complete row must be constructed; that is, every column that is not nullable must be assigned a value. In order for the new row to become part of this rowset, the method insertRow must be called before the cursor is moved back to the rowset.

Only certain methods may be invoked while the cursor is on the insert row; many methods throw an exception if they are called while the cursor is there. In addition to the updateXXX and insertRow methods, only the getXXX methods may be called when the cursor is on the insert row. A getXXX method should be called on a column only after an updateXXX method has been called on that column; otherwise, the value returned is undetermined.

Throws
SQLException if this JoinRowSetImpl object is ResultSet.CONCUR_READ_ONLY

public boolean next ()

Moves the cursor down one row from its current position and returns true if the new cursor position is a valid row. The cursor for a new ResultSet object is initially positioned before the first row. The first call to the method next moves the cursor to the first row, making it the current row; the second call makes the second row the current row, and so on.

If an input stream from the previous row is open, it is implicitly closed. The ResultSet object's warning chain is cleared when a new row is read.

Returns
  • true if the new current row is valid; false if there are no more rows
Throws
SQLException if an error occurs or the cursor is not positioned in the rowset, before the first row, or after the last row

public boolean previous ()

Moves this JoinRowSetImpl object's cursor to the previous row and returns true if the cursor is on a valid row or false if it is not. This method also notifies all listeners registered with this JoinRowSetImpl object that its cursor has moved.

Note: calling the method previous() is not the same as calling the method relative(-1). This is true because it is possible to call previous() from the insert row, from after the last row, or from the current row, whereas relative may only be called from the current row.

The method previous may used in a while loop to iterate through a rowset starting after the last row and moving toward the beginning. The loop ends when previous returns false, meaning that there are no more rows. For example, the following code fragment retrieves all the data in the JoinRowSetImpl object crs, which has three columns. Note that the cursor must initially be positioned after the last row so that the first call to the method previous places the cursor on the last line.

 

     crs.afterLast();
     while (previous()) {
         String name = crs.getString(1);
         int age = crs.getInt(2);
         short ssn = crs.getShort(3);
         System.out.println(name + "   " + age + "   " + ssn);
     }

  
This method throws an SQLException if the cursor is not on a row in the rowset, before the first row, or after the last row.

Returns
  • true if the cursor is on a valid row; false if it is before the first row or after the last row
Throws
SQLException if the cursor is not on a valid position or the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

public void readXml (InputStream iStream)

Reads a stream based XML input to populate an WebRowSet

Parameters
iStream the java.io.InputStream from which this WebRowSet object will be populated
Throws
SQLException if a data source access occurs
IOException if a IO exception occurs

public void readXml (Reader reader)

Reads this JoinRowSet object in its XML format.

Parameters
reader the java.io.Reader stream from which this WebRowSet object will be populated
Throws
SQLException if a database access error occurs

public void refreshRow ()

Sets the current row with its original value and marks the row as not updated, thus undoing any changes made to the row since the last call to the methods updateRow or deleteRow. This method should be called only when the cursor is on a row in this rowset.

Throws
SQLException if the cursor is on the insert row, before the first row, or after the last row

public boolean relative (int rows)

Moves the cursor the specified number of rows from the current position, with a positive number moving it forward and a negative number moving it backward.

If the number is positive, the cursor moves the specified number of rows toward the end of the rowset, starting at the current row. For example, the following command, in which crs is a JoinRowSetImpl object with 100 rows, moves the cursor forward four rows from the current row. If the current row is 50, the cursor would move to row 54.



    crs.relative(4);

  

If the number is negative, the cursor moves back toward the beginning the specified number of rows, starting at the current row. For example, calling the method absolute(-1) positions the cursor on the last row, absolute(-2) moves it on the next-to-last row, and so on. If the JoinRowSetImpl object crs has five rows, the following command moves the cursor to the fourth-to-last row, which in the case of a rowset with five rows, is also the second row from the beginning.



    crs.absolute(-4);

  
If the number specified is larger than the number of rows, the cursor will move to the position after the last row. If the number specified would move the cursor one or more rows before the first row, the cursor moves to the position before the first row. In both cases, this method throws an SQLException.

Note: Calling absolute(1) is the same as calling the method first(). Calling absolute(-1) is the same as calling last(). Calling relative(0) is valid, but it does not change the cursor position.

Parameters
rows an int indicating the number of rows to move the cursor, starting at the current row; a positive number moves the cursor forward; a negative number moves the cursor backward; must not move the cursor past the valid rows
Returns
  • true if the cursor is on a row in this JoinRowSetImpl object; false otherwise
Throws
SQLException if there are no rows in this rowset, the cursor is positioned either before the first row or after the last row, or the rowset is type ResultSet.TYPE_FORWARD_ONLY

public void removeRowSetListener (RowSetListener listener)

Removes the designated object from this JoinRowSet object's list of listeners. If the given argument is not a registered listener, this method does nothing. Note: if the RowSetListener object is null, this method silently discards the null value.

Parameters
listener a RowSetListener object that is on the list of listeners for this JoinRowSet object

public boolean rowDeleted ()

Indicates whether the current row has been deleted. A deleted row may leave a visible "hole" in a rowset. This method can be used to detect such holes if the rowset can detect deletions. This method will always return false if this rowset cannot detect deletions.

Returns
  • true if (1)the current row is blank, indicating that the row has been deleted, and (2)deletions are detected; false otherwise
Throws
SQLException if the cursor is on a valid row in this rowset

public boolean rowInserted ()

Indicates whether the current row has been inserted. The value returned depends on whether or not the rowset can detect visible inserts.

Returns
  • true if a row has been inserted and inserts are detected; false otherwise
Throws
SQLException if the cursor is on the insert row or not not on a valid row

public boolean rowUpdated ()

Indicates whether the current row of this JoinRowSetImpl object has been updated. The value returned depends on whether this rowset can detect updates: false will always be returned if it does not detect updates.

Returns
  • true if the row has been visibly updated by the owner or another and updates are detected; false otherwise
Throws
SQLException if the cursor is on the insert row or not on a valid row

public void setJoinType (int type)

Sets the type of SQL JOIN that this JoinRowSet object will use. This method allows an application to adjust the type of JOIN imposed on tables contained within this JoinRowSet object and to do it on the fly. The last JOIN type set determines the type of JOIN to be performed.

Implementations should throw an SQLException if they do not support the given JOIN type.

Parameters
type one of the standard JoinRowSet constants indicating the type of JOIN. Must be one of the following: JoinRowSet.CROSS_JOIN JoinRowSet.INNER_JOIN JoinRowSet.LEFT_OUTER_JOIN JoinRowSet.RIGHT_OUTER_JOIN, or JoinRowSet.FULL_JOIN
Throws
SQLException if an unsupported JOIN type is set

public void setKeyColumns (int[] cols)

Sets this JoinRowSetImpl object's keyCols field with the given array of column numbers, which forms a key for uniquely identifying a row in this rowset.

Parameters
cols an array of int indicating the columns that form a primary key for this JoinRowSetImpl object; every element in the array must be greater than 0 and less than or equal to the number of columns in this rowset
Throws
SQLException if any of the numbers in the given array is not valid for this rowset
See Also

public void setMetaData (RowSetMetaData md)

Sets the metadata for this JoinRowSetImpl object with the given RowSetMetaData object.

Parameters
md a RowSetMetaData object instance containing metadata about the columsn in the rowset
Throws
SQLException if invalid meta data is supplied to the rowset

public void setOriginalRow ()

Returns a result set containing the original value of the current row only.

Throws
SQLException if there is no current row
See Also

public int size ()

Returns the number of rows in this JoinRowSetImpl object.

Returns
  • number of rows in the rowset

public boolean supportsCrossJoin ()

Returns true if this JoinRowSet object supports an SQL CROSS_JOIN and false if it does not.

Returns
  • true if the CROSS_JOIN is supported; false otherwise

public boolean supportsFullJoin ()

Returns true if this JoinRowSet object supports an SQL FULL_JOIN and false if it does not.

Returns
  • true is the FULL_JOIN is supported; false otherwise

public boolean supportsInnerJoin ()

Returns true if this JoinRowSet object supports an SQL INNER_JOIN and false if it does not.

Returns
  • true is the INNER_JOIN is supported; false otherwise

public boolean supportsLeftOuterJoin ()

Returns true if this JoinRowSet object supports an SQL LEFT_OUTER_JOIN and false if it does not.

Returns
  • true is the LEFT_OUTER_JOIN is supported; false otherwise

public boolean supportsRightOuterJoin ()

Returns true if this JoinRowSet object supports an SQL RIGHT_OUTER_JOIN and false if it does not.

Returns
  • true is the RIGHT_OUTER_JOIN is supported; false otherwise

public CachedRowSet toCachedRowSet ()

Creates a separate CachedRowSet object that contains the data in this JoinRowSet object.

If any updates or modifications have been applied to this JoinRowSet object, the CachedRowSet object returned by this method will not be able to persist the changes back to the originating rows and tables in the data source because the data may be from different tables. The CachedRowSet instance returned should not contain modification data, such as whether a row has been updated or what the original values are. Also, the CachedRowSet object should clear its properties pertaining to its originating SQL statement. An application should reset the SQL statement using the RowSet.setCommand method.

To persist changes back to the data source, the JoinRowSet object calls the method acceptChanges. Implementations can leverage the internal data and update tracking in their implementations to interact with the SyncProvider to persist any changes.

Returns
  • a CachedRowSet object containing the contents of this JoinRowSet object
Throws
SQLException if an error occurs assembling the CachedRowSet object

public Collection<?> toCollection ()

Converts this JoinRowSetImpl object to a collection of tables. The sample implementation utilitizes the TreeMap collection type. This class guarantees that the map will be in ascending key order, sorted according to the natural order for the key's class.

Returns
  • a Collection object consisting of tables, each of which is a copy of a row in this JoinRowSetImpl object
Throws
SQLException if an error occurs in generating the collection

public Collection<?> toCollection (int column)

Returns the specified column of this JoinRowSetImpl object as a Collection object. This method makes a copy of the column's data and utilitizes the Vector to establish the collection. The Vector class implements a growable array objects allowing the individual components to be accessed using an an integer index similar to that of an array.

Parameters
column an int indicating the column whose values are to be represented in a Collection object
Returns
  • a Collection object that contains the value(s) stored in the specified column of this JoinRowSetImpl object
Throws
SQLException if an error occurs generated the collection; or an invalid column is provided.

public Collection<?> toCollection (String column)

Returns the specified column of this JoinRowSetImpl object as a Collection object. This method makes a copy of the column's data and utilitizes the Vector to establish the collection. The Vector class implements a growable array objects allowing the individual components to be accessed using an an integer index similar to that of an array.

Parameters
column a String object giving the name of the column whose values are to be represented in a collection
Returns
  • a Collection object that contains the value(s) stored in the specified column of this JoinRowSetImpl object
Throws
SQLException if an error occurs generated the collection; or an invalid column is provided.

public void updateArray (int columnIndex, Array a)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Array object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
a the java.sql.Array object that will be set as the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateArray (String columnName, Array a)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Array object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object giving the name of the column to be updated; must match one of the column names in this JoinRowSetImpl object
a the java.sql.Array object that will be set as the new column value
Throws
SQLException if (1) the given column name is not valid, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateAsciiStream (String columnName, InputStream x, int length)

Unsupported; throws an UnsupportedOperationException if called.

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given ASCII stream value.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
length the number of one-byte ASCII characters in the stream
Throws
UnsupportedOperationException if this method is invoked
SQLException

public void updateAsciiStream (int columnIndex, InputStream x, int length)

Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given ASCII stream value.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
length the number of one-byte ASCII characters in the stream
Throws
SQLException

public void updateBigDecimal (int columnIndex, BigDecimal x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.math.BigDecimal object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBigDecimal (String columnName, BigDecimal x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.math.BigDecimal object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBinaryStream (int columnIndex, InputStream x, int length)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.InputStream object.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value; must be a java.io.InputStream containing BINARY, VARBINARY, or LONGVARBINARY data
length the length of the stream in bytes
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the data in the stream is not binary, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBinaryStream (String columnName, InputStream x, int length)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.InputStream object.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value; must be a java.io.InputStream containing BINARY, VARBINARY, or LONGVARBINARY data
length the length of the stream in bytes
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the data in the stream is not binary, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBlob (int columnIndex, Blob b)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Blob value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
b the java.sql.Blob object that will be set as the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBlob (String columnName, Blob b)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Blob object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object giving the name of the column to be updated; must match one of the column names in this JoinRowSetImpl object
b the java.sql.Blob object that will be set as the new column value
Throws
SQLException if (1) the given column name is not valid, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBoolean (int columnIndex, boolean x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given boolean value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBoolean (String columnName, boolean x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given boolean value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateByte (String columnName, byte x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateByte (int columnIndex, byte x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBytes (int columnIndex, byte[] x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte array. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateBytes (String columnName, byte[] x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given byte array. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateCharacterStream (String columnName, Reader x, int length)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.Reader object.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value; must be a java.io.Reader containing BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, or LONGVARCHAR data
length the length of the stream in characters
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the data in the stream is not a binary or character type, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateCharacterStream (int columnIndex, Reader x, int length)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given java.io.Reader object.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value; must be a java.io.Reader containing BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, or LONGVARCHAR data
length the length of the stream in characters
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the data in the stream is not a binary or character type, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateClob (int columnIndex, Clob c)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Clob object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
c the java.sql.Clob object that will be set as the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateClob (String columnName, Clob c)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Clob object.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object giving the name of the column to be updated; must match one of the column names in this JoinRowSetImpl object
c the java.sql.Clob object that will be set as the new column value
Throws
SQLException if (1) the given column name is not valid, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateDate (String columnName, Date x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Date object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the type of the designated column is not an SQL DATE or TIMESTAMP, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateDate (int columnIndex, Date x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Date object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the type of the designated column is not an SQL DATE or TIMESTAMP, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateDouble (String columnName, double x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given double value. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateDouble (int columnIndex, double x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given double value. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateFloat (String columnName, float x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given float value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateFloat (int columnIndex, float x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given float value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateInt (String columnName, int x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given int value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateInt (int columnIndex, int x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given int value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateLong (String columnName, long x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given long value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateLong (int columnIndex, long x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given long value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateNull (String columnName)

Sets the designated nullable column in the current row or the insert row of this JoinRowSetImpl object with null value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateNull (int columnIndex)

Sets the designated nullable column in the current row or the insert row of this JoinRowSetImpl object with null value.

This method updates a column value in the current row or the insert row of this rowset; however, another method must be called to complete the update process. If the cursor is on a row in the rowset, the method updateRow() must be called to mark the row as updated and to notify listeners that the row has changed. If the cursor is on the insert row, the method insertRow() must be called to insert the new row into this rowset and to notify listeners that a row has changed.

In order to propagate updates in this rowset to the underlying data source, an application must call the method acceptChanges after it calls either updateRow or insertRow.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateObject (int columnIndex, Object x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateObject (int columnIndex, Object x, int scale)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value. The scale parameter indicates the number of digits to the right of the decimal point and is ignored if the new column value is not a type that will be mapped to an SQL DECIMAL or NUMERIC value.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
scale the number of digits to the right of the decimal point (for DECIMAL and NUMERIC types only)
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateObject (String columnName, Object x, int scale)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value. The scale parameter indicates the number of digits to the right of the decimal point and is ignored if the new column value is not a type that will be mapped to an SQL DECIMAL or NUMERIC value.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
scale the number of digits to the right of the decimal point (for DECIMAL and NUMERIC types only)
Throws
SQLException if the given column index is out of bounds or the cursor is not on one of this rowset's rows or its insert row
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateObject (String columnName, Object x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Object value.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateRef (int columnIndex, Ref ref)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Ref value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
ref the java.sql.Ref object that will be set as the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateRef (String columnName, Ref ref)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Ref value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Either of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object giving the name of the column to be updated; must match one of the column names in this JoinRowSetImpl object
ref the java.sql.Ref object that will be set as the new column value
Throws
SQLException if (1) the given column name is not valid, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateRow ()

Marks the current row of this JoinRowSetImpl object as updated and notifies listeners registered with this rowset that the row has changed.

This method cannot be called when the cursor is on the insert row, and it should be called before the cursor moves to another row. If it is called after the cursor moves to another row, this method has no effect, and the updates made before the cursor moved will be lost.

Throws
SQLException if the cursor is on the insert row or this rowset is ResultSet.CONCUR_READ_ONLY

public void updateShort (int columnIndex, short x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given short value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateShort (String columnName, short x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given short value.

This method updates a column value in the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateString (int columnIndex, String x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given String object.

This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to mark the row as updated. If the cursor is on the insert row, the method insertRow() must be called to insert the new row into this rowset and mark it as inserted. Both of these methods must be called before the cursor moves to another row.

The method acceptChanges must be called if the updated values are to be written back to the underlying database.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateString (String columnName, String x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given String object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, or (3) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateTime (int columnIndex, Time x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Time object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the type of the designated column is not an SQL TIME or TIMESTAMP, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateTime (String columnName, Time x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Time object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the type of the designated column is not an SQL TIME or TIMESTAMP, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateTimestamp (int columnIndex, Timestamp x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Timestamp object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnIndex the first column is 1, the second is 2, and so on; must be 1 or larger and equal to or less than the number of columns in this rowset
x the new column value
Throws
SQLException if (1) the given column index is out of bounds, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the type of the designated column is not an SQL DATE, TIME, or TIMESTAMP, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public void updateTimestamp (String columnName, Timestamp x)

Sets the designated column in either the current row or the insert row of this JoinRowSetImpl object with the given Timestamp object. This method updates a column value in either the current row or the insert row of this rowset, but it does not update the database. If the cursor is on a row in the rowset, the method updateRow() must be called to update the database. If the cursor is on the insert row, the method insertRow() must be called, which will insert the new row into both this rowset and the database. Both of these methods must be called before the cursor moves to another row.

Parameters
columnName a String object that must match the SQL name of a column in this rowset, ignoring case
x the new column value
Throws
SQLException if the given column index is out of bounds or the cursor is not on one of this rowset's rows or its insert row
SQLException if (1) the given column name does not match the name of a column in this rowset, (2) the cursor is not on one of this rowset's rows or its insert row, (3) the type of the designated column is not an SQL DATE, TIME, or TIMESTAMP, or (4) this rowset is ResultSet.CONCUR_READ_ONLY

public boolean wasNull ()

Reports whether the last column read was SQL NULL. Note that you must first call the method getXXX on a column to try to read its value and then call the method wasNull to determine whether the value was SQL NULL.

Returns
  • true if the value in the last column read was SQL NULL; false otherwise
Throws
SQLException if an error occurs

public void writeXml (Writer writer)

Writes this JoinRowSet object to the given java.io.Writer object in XML format. In addition to the rowset's data, its properties and metadata are also included.

Parameters
writer the java.io.Writer stream to write to
Throws
SQLException if an error occurs writing out the rowset contents to XML

public void writeXml (OutputStream oStream)

Creates an an output stream of the internal state and contents of a WebRowSet for XML proceessing

Parameters
oStream the java.io.OutputStream stream to write to
Throws
SQLException if a datasource access occurs
IOException if an IO exception occurs

public void writeXml (ResultSet rs, OutputStream oStream)

Creates a new WebRowSet object, populates it with the contents of the ResultSet and creates an output streams the internal state and contents of the rowset for XML processing.

Parameters
rs the ResultSet object with which to populate this WebRowSet object
oStream the java.io.OutputStream to write to
Throws
SQLException if a datasource access occurs
IOException if an IO exception occurs

public void writeXml (ResultSet rs, Writer writer)

Creates a new WebRowSet object, populates it with the data in the given ResultSet object, and writes it to the given java.io.Writer object in XML format.

Parameters
rs the ResultSet object with which to populate this WebRowSet object
writer the java.io.Writer object to write to.
Throws
SQLException if an error occurs writing out the rowset contents to XML