public class FitsStarTable extends RandomStarTable
This implementation uses the table handling in the nom.tam.fits
package. I think that performance could be considerably improved
by rewriting the table access from scratch. The reason for this is
largely that the nom.tam.fits classes do a lot of wrapping of values
in (perhaps multi-dimensional) arrays, which is not for our purposes
necessary. Such a re-implementation would take a bit of effort
unfortunately.
Constructor and Description |
---|
FitsStarTable(TableHDU thdu)
Constructs a FitsStarTable object from a FITS TableHDU object.
|
Modifier and Type | Method and Description |
---|---|
Object |
getCell(long lrow,
int icol)
Implementations of this method must be safe for concurrent calls
from multiple threads.
|
List<ValueInfo> |
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.
|
Object[] |
getRow(long lrow)
The
AbstractStarTable implementation of this method
constructs a row by repeated invocation of AbstractStarTable.getCell(long, int) . |
long |
getRowCount()
Implementations must supply a non-negative return value.
|
getRowAccess, getRowSequence, isRandom
checkedLongToInt, close, getName, getParameters, getRowSplittable, getURL, setName, setParameters, setURL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameterByName, setParameter
public FitsStarTable(TableHDU thdu) throws IOException
thdu
- a TableHDU object containing dataIOException
public long getRowCount()
RandomStarTable
getRowCount
in interface StarTable
getRowCount
in class RandomStarTable
public int getColumnCount()
StarTable
getColumnCount
in interface StarTable
getColumnCount
in class AbstractStarTable
public ColumnInfo getColumnInfo(int icol)
StarTable
getColumnInfo
in interface StarTable
getColumnInfo
in class AbstractStarTable
icol
- the column for which header information is requiredicol
public List<ValueInfo> getColumnAuxDataInfos()
AbstractStarTable
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.getColumnAuxDataInfos
in interface StarTable
getColumnAuxDataInfos
in class AbstractStarTable
ValueInfo
items which in fact crop up in column metadataDefaultValueInfo.getAuxData()
public Object getCell(long lrow, int icol) throws IOException
RandomStarTable
getCell
in interface StarTable
getCell
in class RandomStarTable
lrow
- the index of the cell's rowicol
- the index of the cell's columnIOException
- if there is an error reading the datapublic Object[] getRow(long lrow) throws IOException
AbstractStarTable
AbstractStarTable
implementation of this method
constructs a row by repeated invocation of AbstractStarTable.getCell(long, int)
.getRow
in interface StarTable
getRow
in class AbstractStarTable
lrow
- the index of the row to retrieveirow
IOException
- if there is an error reading the dataCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.