# Class TablePointSequence

java.lang.Object
uk.ac.starlink.ttools.plottask.TablePointSequence

All Implemented Interfaces:
  `PointSequence`

public abstract class TablePointSequence extends Object implements PointSequence
PointSequence abstract superclass implementation for getting sequential plot data from a table.

Since:
  13 Aug 2008
Author:
  Mark Taylor

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`TablePointSequence(SequentialJELRowReader rseq, String labelExpr, String[] setExprs)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Call when this sequence is no longer required.
`protected Object`
`evaluate(gnu.jel.CompiledExpression compex)`
Convenience method which evaluates an Object-valued compiled expression.
`protected double`
`evaluateDouble(gnu.jel.CompiledExpression compex)`
Convenience method which evaluates a numeric-valued compiled expression.
`String`
`getLabel()`
Returns any text label associated with the current point.
`boolean`
`isIncluded(int iset)`
Indicates whether the current row is included in the given subset.
`boolean`
`next()`
Attempts to advance the current row to the next one.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface PointSequence

`getErrors, getPoint`

## Constructor Details

### TablePointSequence

protected TablePointSequence(SequentialJELRowReader rseq, String labelExpr, String[] setExprs) throws gnu.jel.CompilationException
Constructor.

Parameters:
  `rseq` - row sequence representing the table which contains the actual data
  `labelExpr` - JEL expression for text labellling each point; may be null for no label; may have any type (converted to string before use)
  `setExprs` - nset-element array of boolean-valued JEL expressions giving per-set point inclusion status
Throws:
  `gnu.jel.CompilationException`

## Method Details

### next

public boolean next()
Description copied from interface: `PointSequence`
Attempts to advance the current row to the next one. If `true` is returned the attempt has been successful, and if `false` is returned there are no more rows in this sequence. Since the initial position of this sequence is before the first row, this method must be called before calling any of the data access methods.

Specified by:
  `next` in interface `PointSequence`
Returns:
  true if row advance has succeeded, false for end of sequence

### getLabel

public String getLabel()
Description copied from interface: `PointSequence`
Returns any text label associated with the current point.

Specified by:
  `getLabel` in interface `PointSequence`
Returns:
  text label, or null

### isIncluded

public boolean isIncluded(int iset)
Description copied from interface: `PointSequence`
Indicates whether the current row is included in the given subset.

Specified by:
  `isIncluded` in interface `PointSequence`
Returns:
  true iff set `iset` is included

### close

public void close()
Description copied from interface: `PointSequence`
Call when this sequence is no longer required.

Specified by:
  `close` in interface `PointSequence`

### evaluate

protected Object evaluate(gnu.jel.CompiledExpression compex)
Convenience method which evaluates an Object-valued compiled expression. Any resulting exceptions are rethrown as PlotDataExceptions.

Parameters:
  `compex` - compiled expression
Returns:
  expression value

### evaluateDouble

protected double evaluateDouble(gnu.jel.CompiledExpression compex)
Convenience method which evaluates a numeric-valued compiled expression. Any resulting exceptions are rethrown as PlotDataExceptions.

Parameters:
  `compex` - compiled expression
Returns:
  expression value