Class JELTable
java.lang.Object
uk.ac.starlink.table.WrapperStarTable
uk.ac.starlink.ttools.jel.JELTable
- All Implemented Interfaces:
Closeable, AutoCloseable, uk.ac.starlink.table.StarTable
public class JELTable
extends uk.ac.starlink.table.WrapperStarTable
Wrapper table which is constructed entirely of columns defined by
JEL expressions based on the base table.
- Since:
- 1 Sep 2005
- Author:
- Mark Taylor
-
Field Summary
Fields inherited from class uk.ac.starlink.table.WrapperStarTable
baseTable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic uk.ac.starlink.table.StarTablecreateJELTable(uk.ac.starlink.table.StarTable baseTable, String[] exprs) Creates a JELTable from a base table and a list of column expressions.static uk.ac.starlink.table.StarTablecreateJELTable(uk.ac.starlink.table.StarTable baseTable, uk.ac.starlink.table.ValueInfo[] infos, String[] exprs) Convenience factory method.getCell(long irow, int icol) intuk.ac.starlink.table.ColumnInfogetColumnInfo(int icol) Object[]getRow(long irow) uk.ac.starlink.table.RowAccessuk.ac.starlink.table.RowSequenceuk.ac.starlink.table.RowSplittableMethods inherited from class uk.ac.starlink.table.WrapperStarTable
checkedLongToInt, close, getBaseTable, getColumnAuxDataInfos, getName, getParameterByName, getParameters, getRowCount, getURL, isRandom, setName, setParameter, setURL, toString
-
Constructor Details
-
JELTable
public JELTable(uk.ac.starlink.table.StarTable baseTable, uk.ac.starlink.table.ColumnInfo[] colInfos, String[] exprs) throws gnu.jel.CompilationException Constructor. The number of columns is the same as the number of elements ofcolInfos, which must be the same as the number of elements inexprs. If thecontentClassattributes of thecolInfoselements are non-null, they must be compatible with the actual types of the evaluated expressions. If they are not, anIllegalArgumentExceptionwill be thrown.- Parameters:
baseTable- table which provides both behaviour determining whether random access is available etc, and an evaluation context for the JEL calculationscolInfos- column metadata for each of the columns in this tableexprs- JEL expressions, evaluated in a context determined bybaseTable, which give the data for this table.- Throws:
gnu.jel.CompilationException
-
-
Method Details
-
getColumnCount
public int getColumnCount()- Specified by:
getColumnCountin interfaceuk.ac.starlink.table.StarTable- Overrides:
getColumnCountin classuk.ac.starlink.table.WrapperStarTable
-
getColumnInfo
public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol) - Specified by:
getColumnInfoin interfaceuk.ac.starlink.table.StarTable- Overrides:
getColumnInfoin classuk.ac.starlink.table.WrapperStarTable
-
getCell
- Specified by:
getCellin interfaceuk.ac.starlink.table.StarTable- Overrides:
getCellin classuk.ac.starlink.table.WrapperStarTable- Throws:
IOException
-
getRow
- Specified by:
getRowin interfaceuk.ac.starlink.table.StarTable- Overrides:
getRowin classuk.ac.starlink.table.WrapperStarTable- Throws:
IOException
-
getRowSequence
- Specified by:
getRowSequencein interfaceuk.ac.starlink.table.StarTable- Overrides:
getRowSequencein classuk.ac.starlink.table.WrapperStarTable- Throws:
IOException
-
getRowAccess
- Specified by:
getRowAccessin interfaceuk.ac.starlink.table.StarTable- Overrides:
getRowAccessin classuk.ac.starlink.table.WrapperStarTable- Throws:
IOException
-
getRowSplittable
- Specified by:
getRowSplittablein interfaceuk.ac.starlink.table.StarTable- Overrides:
getRowSplittablein classuk.ac.starlink.table.WrapperStarTable- Throws:
IOException
-
createJELTable
public static uk.ac.starlink.table.StarTable createJELTable(uk.ac.starlink.table.StarTable baseTable, uk.ac.starlink.table.ValueInfo[] infos, String[] exprs) throws uk.ac.starlink.task.ExecutionException Convenience factory method. It turns all the suppliedinfosinto ColumnInfos and rethrows any CompilationException as an ExecutionException.- Parameters:
baseTable- table which provides both behaviour determining whether random access is available etc, and an evaluation context for the JEL calculationsinfos- metadata used to construct column metadataexprs- JEL expressions, evaluated in a context determined bybaseTable, which give the data for this table- Returns:
- new table
- Throws:
uk.ac.starlink.task.ExecutionException
-
createJELTable
public static uk.ac.starlink.table.StarTable createJELTable(uk.ac.starlink.table.StarTable baseTable, String[] exprs) throws gnu.jel.CompilationException Creates a JELTable from a base table and a list of column expressions. If the expressions can be determined to correspond to columns from the base table, the metadata is propagated. Otherwise, column names are constructed from the expression strings.- Parameters:
baseTable- table which provides both behaviour determining whether random access is available etc, and an evaluation context for the JEL calculationsexprs- JEL expressions, evaluated in a context determined bybaseTable, which give the data for this table- Returns:
- new table
- Throws:
gnu.jel.CompilationException
-