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.AbstractStarTableStarTable 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 AsciiTableStarTablecreateTable(FitsHeader hdr, InputFactory inputFact)Creates a table instance from a TABLE HDU.intgetColumnCount()uk.ac.starlink.table.ColumnInfogetColumnInfo(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.longgetRowCount()protected intgetRowLength()Returns the length of each row in bytes.protected java.lang.ObjectreadCell(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 voidstreamStarTable(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:
getRowCountin interfaceuk.ac.starlink.table.StarTable- Specified by:
getRowCountin classuk.ac.starlink.table.AbstractStarTable
-
getColumnCount
public int getColumnCount()
- Specified by:
getColumnCountin interfaceuk.ac.starlink.table.StarTable- Specified by:
getColumnCountin classuk.ac.starlink.table.AbstractStarTable
-
getColumnInfo
public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol)
- Specified by:
getColumnInfoin interfaceuk.ac.starlink.table.StarTable- Specified by:
getColumnInfoin 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
-
-