Package uk.ac.starlink.fits
Class AsciiTableStarTable
- java.lang.Object
-
- uk.ac.starlink.table.AbstractStarTable
-
- uk.ac.starlink.fits.AsciiTableStarTable
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,uk.ac.starlink.table.StarTable
public abstract class AsciiTableStarTable extends uk.ac.starlink.table.AbstractStarTable
StarTable implementation for FITS (ASCII) TABLE extensions.- Since:
- 4 Mar 2022
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description AsciiTableStarTable(FitsHeader hdr)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AsciiTableStarTable
createTable(FitsHeader hdr, InputFactory inputFact)
Creates a table instance from a TABLE HDU.int
getColumnCount()
uk.ac.starlink.table.ColumnInfo
getColumnInfo(int icol)
protected int[]
getColumnLengths()
Returns the array of column lengths in bytes.protected int[]
getColumnOffsets()
Returns the array of column offsets from the start of the row.long
getRowCount()
protected int
getRowLength()
Returns the length of each row in bytes.protected java.lang.Object
readCell(byte[] cellBuf, int icol)
Reads the content of a cell of this table from a byte buffer.protected java.lang.Object[]
readRow(byte[] rowBuf)
Reads the content of a row of this table from a byte buffer.static void
streamStarTable(FitsHeader hdr, BasicInput input, uk.ac.starlink.table.TableSink sink)
Reads a TABLE HDU from a stream and writes the result to a table sink.-
Methods inherited from class uk.ac.starlink.table.AbstractStarTable
checkedLongToInt, close, getCell, getColumnAuxDataInfos, getName, getParameters, getRow, getRowAccess, getRowSequence, getRowSplittable, getURL, isRandom, setName, setParameters, setURL
-
-
-
-
Constructor Detail
-
AsciiTableStarTable
public AsciiTableStarTable(FitsHeader hdr) throws java.io.IOException
Constructor.- Parameters:
hdr
- ASCII TABLE extension header- Throws:
java.io.IOException
-
-
Method Detail
-
getRowCount
public long getRowCount()
- Specified by:
getRowCount
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getRowCount
in classuk.ac.starlink.table.AbstractStarTable
-
getColumnCount
public int getColumnCount()
- Specified by:
getColumnCount
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getColumnCount
in classuk.ac.starlink.table.AbstractStarTable
-
getColumnInfo
public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol)
- Specified by:
getColumnInfo
in interfaceuk.ac.starlink.table.StarTable
- Specified by:
getColumnInfo
in classuk.ac.starlink.table.AbstractStarTable
-
getRowLength
protected int getRowLength()
Returns the length of each row in bytes.- Returns:
- row length
-
getColumnOffsets
protected int[] getColumnOffsets()
Returns the array of column offsets from the start of the row.- Returns:
- ncol-length array of byte offsets from row start
-
getColumnLengths
protected int[] getColumnLengths()
Returns the array of column lengths in bytes.- Returns:
- ncol-length array of field byte lengths
-
readRow
protected java.lang.Object[] readRow(byte[] rowBuf)
Reads the content of a row of this table from a byte buffer.- Parameters:
rowBuf
- buffer containing rowLeng bytes- Returns:
- ncol-element array of cell values
-
readCell
protected java.lang.Object readCell(byte[] cellBuf, int icol)
Reads the content of a cell of this table from a byte buffer.- Parameters:
cellBuf
- buffer containing bytes for column contenticol
- column index- Returns:
- cell value
-
createTable
public static AsciiTableStarTable createTable(FitsHeader hdr, InputFactory inputFact) throws java.io.IOException
Creates a table instance from a TABLE HDU.- Parameters:
hdr
- FITS header for ASCII tableinputFact
- input factory for Data part of HDU- Returns:
- new table; it will be random-access according to whether the input factory is
- Throws:
java.io.IOException
-
streamStarTable
public static void streamStarTable(FitsHeader hdr, BasicInput input, uk.ac.starlink.table.TableSink sink) throws java.io.IOException
Reads a TABLE HDU from a stream and writes the result to a table sink.- Parameters:
hdr
- FITS header object describing the TABLE extensioninput
- input stream positioned at the start of the data part of the TABLE extensionsink
- destination for the table- Throws:
java.io.IOException
-
-