Package org.eclipse.birt.chart.factory

# Interface IDataRowExpressionEvaluator

All Known Subinterfaces:
  `IGroupedDataRowExpressionEvaluator`

All Known Implementing Classes:
  `AbstractGroupedDataRowExpressionEvaluator`, `DataRowExpressionEvaluatorAdapter`

public interface IDataRowExpressionEvaluator
This interface provide expression evaluations of any string expression based on a row context. This is usually associated with an underlying resultset.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Closes the underlying resultset.
`Object`
`evaluate(String expression)`
Evaluates the expression based on the current row
`Object`
`evaluateGlobal(String expression)`
Deprecated.
Not used anymore.
`boolean`
`first()`
Moves to the first row.
`boolean`
`next()`
Moves to the next row.

## Method Details

### evaluate

Object evaluate(String expression)
Evaluates the expression based on the current row

Parameters:
  `A` - String expression
Returns:
  An Object representing the evaluated expression. The Object must be of a type String, Number, Date, Calendar, or it will be evaluated as a String using toString(). If there is any BirtException being caught by evaluation, the return value will be the caught BirtException.

### evaluateGlobal

@Deprecated Object evaluateGlobal(String expression)
Deprecated.
Not used anymore. use `evaluate(String)` instead.
Evaluates the global expressions which are not associated with the data rows.

Parameters:
  `A` - String expression
Returns:
  An Object representing the evaluated expression. The Object must be of a type String, Number, Date, Calendar, or it will be evaluated as a String using toString().

### first

boolean first()
Moves to the first row. Optional if already positioned on the first row when passed to Generator.bindData()

Returns:
  `true` if the cursor is on a valid row; `false` if there are no rows in the result set

### next

boolean next()
Moves to the next row.

Returns:
  False if the last row has been reached. True otherwise.

### close

void close()
Closes the underlying resultset. This is optional (it can be a no-op if the close is handled externally or not needed).