Package uk.ac.starlink.topcat
Class SyntheticRowSubset
java.lang.Object
uk.ac.starlink.topcat.RowSubset
uk.ac.starlink.topcat.SyntheticRowSubset
A RowSubset which uses an algebraic expression based on the
values of other columns in the same row to decide whether a row
is included or not.
The engine used for expression evaluation is the GNU Java Expressions Library (JEL).
- Author:
- Mark Taylor (Starlink)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class uk.ac.starlink.topcat.RowSubset
RowSubset.Key
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionSyntheticRowSubset
(String name, TopcatModel tcModel, String expression) Constructs a new synthetic subset given a table and an algebraic expression. -
Method Summary
Modifier and TypeMethodDescriptionReturns the text of the expression used by this subset.boolean
isIncluded
(long lrow) Indicates whether a given row is in the subset or not.void
setExpression
(String expression) Sets the expression to use for this subset.
-
Constructor Details
-
SyntheticRowSubset
public SyntheticRowSubset(String name, TopcatModel tcModel, String expression) throws gnu.jel.CompilationException Constructs a new synthetic subset given a table and an algebraic expression.- Parameters:
name
- the name to use for the new RowSubsettcModel
- context for JEL expression evaluationexpression
- the algebraic expression- Throws:
gnu.jel.CompilationException
-
-
Method Details
-
setExpression
Sets the expression to use for this subset.- Parameters:
expression
- JEL expression- Throws:
gnu.jel.CompilationException
-
getExpression
Returns the text of the expression used by this subset.- Returns:
- expression
-
isIncluded
public boolean isIncluded(long lrow) Description copied from class:RowSubset
Indicates whether a given row is in the subset or not.- Specified by:
isIncluded
in classRowSubset
- Parameters:
lrow
- the index of the row in question- Returns:
- true iff row lrow is to be included
-