uk.ac.starlink.table.jdbc
Class RandomResultSetStarTable

java.lang.Object
  extended byuk.ac.starlink.table.AbstractStarTable
      extended byuk.ac.starlink.table.RandomStarTable
          extended byuk.ac.starlink.table.jdbc.RandomResultSetStarTable
All Implemented Interfaces:
StarTable

public class RandomResultSetStarTable
extends RandomStarTable

StarTable implementation based on a random-access ResultSet. Such results sets have a type of ResultSet.TYPE_SCROLL_* and are generally produced from by using a Statement which has been constructed using corresponding type. This implementation is thread-safe.

Since:
23 Jul 2007

Constructor Summary
RandomResultSetStarTable(ResultSet rset)
          Constructor.
 
Method Summary
 Object getCell(long lrow, int icol)
          The AbstractStarTable implementation of this method throws an UnsupportedOperationException, since unless otherwise provided there is no random access.
 List getColumnAuxDataInfos()
          Goes through the table columns (ColumnInfo objects) and picks out all the AuxData items which exist, generalising where necessary and returning a union of them in alphabetical order by name.
 int getColumnCount()
          Returns the number of columns in this table.
 ColumnInfo getColumnInfo(int icol)
          Returns the object describing the data in a given column.
 ResultSet getResultSet()
          Returns the result set on which this table is built.
 Object[] getRow(long lrow)
          The AbstractStarTable implementation of this method constructs a row by repeated invocation of getCell(long, int).
 long getRowCount()
          The number of rows in this table.
 
Methods inherited from class uk.ac.starlink.table.RandomStarTable
getRowSequence, isRandom
 
Methods inherited from class uk.ac.starlink.table.AbstractStarTable
checkedLongToInt, getName, getParameterByName, getParameters, getURL, setName, setParameter, setParameters, setURL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RandomResultSetStarTable

public RandomResultSetStarTable(ResultSet rset)
                         throws SQLException
Constructor.

Parameters:
rset - result set containing data
Throws:
IllegalArgumentException - if rset is not random access
SQLException
Method Detail

getResultSet

public ResultSet getResultSet()
Returns the result set on which this table is built.

Returns:
result set

getColumnCount

public int getColumnCount()
Description copied from interface: StarTable
Returns the number of columns in this table.

Specified by:
getColumnCount in interface StarTable
Specified by:
getColumnCount in class AbstractStarTable

getColumnInfo

public ColumnInfo getColumnInfo(int icol)
Description copied from interface: StarTable
Returns the object describing the data in a given column.

Specified by:
getColumnInfo in interface StarTable
Specified by:
getColumnInfo in class AbstractStarTable

getRowCount

public long getRowCount()
Description copied from class: RandomStarTable
The number of rows in this table. Implementations must supply a non-negative return value.

Specified by:
getRowCount in interface StarTable
Specified by:
getRowCount in class RandomStarTable
Returns:
the number of rows in the table

getColumnAuxDataInfos

public List getColumnAuxDataInfos()
Description copied from class: AbstractStarTable
Goes through the table columns (ColumnInfo objects) and picks out all the AuxData items which exist, generalising where necessary and returning a union of them in alphabetical order by name. Subclasses should override this if they can do better, for instance providing an order for the keys.

Specified by:
getColumnAuxDataInfos in interface StarTable
Overrides:
getColumnAuxDataInfos in class AbstractStarTable
Returns:
a list of all the auxiliary metadata ValueInfo items which in fact crop up in column metadata

getCell

public Object getCell(long lrow,
                      int icol)
               throws IOException
Description copied from class: AbstractStarTable
The AbstractStarTable implementation of this method throws an UnsupportedOperationException, since unless otherwise provided there is no random access.

Specified by:
getCell in interface StarTable
Overrides:
getCell in class AbstractStarTable
Throws:
IOException

getRow

public Object[] getRow(long lrow)
                throws IOException
Description copied from class: AbstractStarTable
The AbstractStarTable implementation of this method constructs a row by repeated invocation of AbstractStarTable.getCell(long, int).

Specified by:
getRow in interface StarTable
Overrides:
getRow in class AbstractStarTable
Throws:
IOException

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.