## org.jfree.report.data
Class ExpressionDataRow

    java.lang.Object
      org.jfree.report.data.ExpressionDataRow

All Implemented Interfaces:
  DataRow, DataSet

    public final class ExpressionDataRow

extends java.lang.Object
implements DataRow

A datarow for all expressions encountered in the report. This datarow is a stack-like structure, which allows easy adding and removing of expressions, even if these expressions have been cloned and or otherwisely modified.

Author:
  Thomas Morgner

Constructor Summary
`ExpressionDataRow(GlobalMasterRow masterRow, ReportContext reportContext, int capacity)`

Method Summary
`ExpressionDataRow` `advance(GlobalMasterRow master, boolean deepTraversing)` Advances to the next row and attaches the given master row to the objects contained in that client data row.
`ExpressionDataRow` `derive(GlobalMasterRow master)`
`java.lang.Object` `get(int col)` Returns the value of the expressions or column in the tablemodel using the given column number as index.
`java.lang.Object` `get(java.lang.String col)` Returns the value of the function, expressions or column using its specific name.
`int` `getColumnCount()` Returns the number of columns, expressions and functions and marked ReportProperties in the report.
`java.lang.String` `getColumnName(int col)` Returns the name of the column, expressions or function.
`DataFlags` `getFlags(int col)` Queries lowlevel meta-data for the current value of the specified column.
`DataFlags` `getFlags(java.lang.String col)` Queries lowlevel meta-data for the current value of the specified column.
`ExpressionSlot[]` `getSlots()`
`void` `popExpression()`
`void` `popExpressions(int counter)`
`void` `pushExpression(ExpressionSlot expressionSlot)` This adds the expression to the data-row and queries the expression for the first time.
`void` `pushExpressions(ExpressionSlot[] expressionSlots)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExpressionDataRow

    public ExpressionDataRow(GlobalMasterRow masterRow,
                             ReportContext reportContext,
                             int capacity)

Method Detail

### pushExpression

    public void pushExpression(ExpressionSlot expressionSlot)
                        throws DataSourceException

  This adds the expression to the data-row and queries the expression for the first time.

  Parameters:
    `ex` -
    `rd` -
  Throws:
    `DataSourceException`

### pushExpressions

    public void pushExpressions(ExpressionSlot[] expressionSlots)
                         throws DataSourceException

  Throws:
    `DataSourceException`

### popExpressions

    public void popExpressions(int counter)
                        throws DataSourceException

  Throws:
    `DataSourceException`

### popExpression

    public void popExpression()
                       throws DataSourceException

  Throws:
    `DataSourceException`

### get

    public java.lang.Object get(int col)
                         throws DataSourceException

  Returns the value of the expressions or column in the tablemodel using the given column number as index. For functions and expressions, the `getValue()` method is called and for columns from the tablemodel the tablemodel method `getValueAt(row, column)` gets called.

  Specified by:
    `get` in interface `DataRow`
  Specified by:
    `get` in interface `DataSet`
  Parameters:
    `col` - the item index.
  Returns:
    the value.
  Throws:
    `java.lang.IllegalStateException` - if the datarow detected a deadlock.
    `DataSourceException` - if an error occured.

### get

    public java.lang.Object get(java.lang.String col)
                         throws DataSourceException

  Returns the value of the function, expressions or column using its specific name. The given name is translated into a valid column number and the the column is queried. For functions and expressions, the `getValue()` method is called and for columns from the tablemodel the tablemodel method `getValueAt(row, column)` gets called.

  Specified by:
    `get` in interface `DataRow`
  Parameters:
    `col` - the item index.
  Returns:
    the value.
  Throws:
    `java.lang.IllegalStateException` - if the datarow detected a deadlock.
    `DataSourceException` - if an error occured.

### getColumnName

    public java.lang.String getColumnName(int col)

  Returns the name of the column, expressions or function. For columns from the tablemodel, the tablemodels `getColumnName` method is called. For functions, expressions and report properties the assigned name is returned.

  Specified by:
    `getColumnName` in interface `DataRow`
  Specified by:
    `getColumnName` in interface `DataSet`
  Parameters:
    `col` - the item index.
  Returns:
    the name.

### getColumnCount

    public int getColumnCount()

  Returns the number of columns, expressions and functions and marked ReportProperties in the report.

  Specified by:
    `getColumnCount` in interface `DataRow`
  Specified by:
    `getColumnCount` in interface `DataSet`
  Returns:
    the item count.

### getFlags

    public DataFlags getFlags(java.lang.String col)

  Description copied from interface: `DataRow`
  Queries lowlevel meta-data for the current value of the specified column.

  Specified by:
    `getFlags` in interface `DataRow`
  Parameters:
    `col` - the colum for which to query the meta-data flags
  Returns:
    the dataflag collection for the value in the named column

### getFlags

    public DataFlags getFlags(int col)

  Description copied from interface: `DataRow`
  Queries lowlevel meta-data for the current value of the specified column.

  Specified by:
    `getFlags` in interface `DataRow`
  Parameters:
    `col` - the colum for which to query the meta-data flags
  Returns:
    the dataflag collection for the value in the specified column

### advance

    public ExpressionDataRow advance(GlobalMasterRow master,
                                     boolean deepTraversing)
                              throws DataSourceException

  Advances to the next row and attaches the given master row to the objects contained in that client data row.

  Parameters:
    `master` -
    `deepTraversing` - only advance expressions that have been marked as deeply traversing
  Returns:
  Throws:
    `DataSourceException`

### derive

    public ExpressionDataRow derive(GlobalMasterRow master)
                             throws DataSourceException

  Throws:
    `DataSourceException`

### getSlots

    public ExpressionSlot[] getSlots()