Package org.jfree.report.data
Class ExpressionDataRow
- java.lang.Object
-
- org.jfree.report.data.ExpressionDataRow
-
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
Constructors Constructor Description ExpressionDataRow(GlobalMasterRow masterRow, ReportContext reportContext, int capacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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)
-
-
-
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, thegetValue()
method is called and for columns from the tablemodel the tablemodel methodgetValueAt(row, column)
gets called.- Specified by:
get
in interfaceDataRow
- Specified by:
get
in interfaceDataSet
- 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, thegetValue()
method is called and for columns from the tablemodel the tablemodel methodgetValueAt(row, column)
gets called.- Specified by:
get
in interfaceDataRow
- 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 tablemodelsgetColumnName
method is called. For functions, expressions and report properties the assigned name is returned.- Specified by:
getColumnName
in interfaceDataRow
- Specified by:
getColumnName
in interfaceDataSet
- 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 interfaceDataRow
- Specified by:
getColumnCount
in interfaceDataSet
- 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.
-
getFlags
public DataFlags getFlags(int col)
Description copied from interface:DataRow
Queries lowlevel meta-data for the current value of 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()
-
-