Class JRFillDataset
- java.lang.Object
-
- net.sf.jasperreports.engine.fill.JRFillDataset
-
- All Implemented Interfaces:
Cloneable
,DatasetFillContext
,JRCloneable
,JRDataset
,JRIdentifiable
,JRPropertiesHolder
public class JRFillDataset extends Object implements JRDataset, DatasetFillContext
- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
JRFillDataset.CacheRecordIndexCallback
protected static class
JRFillDataset.CacheRecordIndexChainedCallback
protected static class
JRFillDataset.FillDatasetPositionRecordIndexCallback
protected static class
JRFillDataset.VariableCalculationReq
Class used to hold expression calculation requirements.
-
Field Summary
Fields Modifier and Type Field Description protected JRCalculator
calculator
The calculator used by the dataset.protected DatasetRecorder
dataRecorder
protected JRDataSource
dataSource
The data source.protected JRAbstractScriptlet
delegateScriptlet
protected JRFillElementDataset[]
elementDatasets
The element datasets.static String
EXCEPTION_MESSAGE_KEY_NO_SUCH_FIELD
static String
EXCEPTION_MESSAGE_KEY_NO_SUCH_PARAMETER
static String
EXCEPTION_MESSAGE_KEY_NO_SUCH_SNAPSHOT_DATA
static String
EXCEPTION_MESSAGE_KEY_NO_SUCH_SNAPSHOT_PARAMETER
static String
EXCEPTION_MESSAGE_KEY_NO_SUCH_VARIABLE
protected JRFillField[]
fields
The dataset fields.protected Map<String,JRFillField>
fieldsMap
The dataset fields indexed by name.protected FillDatasetPosition
fillPosition
protected DatasetFilter
filter
protected JRFillGroup[]
groups
The dataset groups.protected Map<String,JRFillGroup>
groupsMap
The dataset groups indexed by name.protected Locale
locale
TheLocale
to be used by the dataset.protected JRPropertiesMap
mergedProperties
protected JRFillElementDataset[]
origElementDatasets
Used to save the original element datasets whenfilterElementDatasets
is called.protected JRFillParameter[]
parameters
The dataset parameters.protected Map<String,JRFillParameter>
parametersMap
The dataset parameters indexed by name.protected List<DatasetPropertyExpression>
propertyExpressions
protected JRQuery
query
The dataset query.protected int
reportCount
The cursor used when iterating the data source.protected Integer
reportMaxCount
The value of themax count
parameter.protected ResourceBundle
resourceBundle
The loaded resource bundle.protected String
resourceBundleBaseName
The resource bundle base name.protected String
scriptletClassName
The scriptlet class name.protected List<JRAbstractScriptlet>
scriptlets
The scriptlets used by the dataset.protected JRPropertiesMap
staticProperties
protected TimeZone
timeZone
TheTimeZone
to be used by the dataset.protected Set<JRFillDataset.VariableCalculationReq>
variableCalculationReqs
Set ofVariableCalculationReq
objects.protected JRFillVariable[]
variables
The dataset variables.protected Map<String,JRFillVariable>
variablesMap
The dataset variables indexed by name.protected WhenResourceMissingTypeEnum
whenResourceMissingType
The resource missing handle type.
-
Constructor Summary
Constructors Constructor Description JRFillDataset(BaseReportFiller filler, JRDataset dataset, JRFillObjectFactory factory)
Creates a fill dataset object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCacheRecordIndexCallback(int recordIndex, JRFillDataset.CacheRecordIndexCallback callback)
protected void
addVariableCalculationReq(String variableName, CalculationEnum calculation)
Adds a variable calculation requirement.protected void
advanceCacheRecordIndexes()
protected boolean
advanceDataSource(boolean limit)
protected void
cacheEnd()
protected void
cacheInit()
protected void
cacheInitRecording()
protected void
cacheInitSnapshot()
protected void
cacheRecord()
protected void
checkVariableCalculationReqs(JRFillObjectFactory factory)
Checks if there are variable calculation requirements and creates the required variables.Object
clone()
void
closeDatasource()
Closes the data source used by this dataset if this data source was obtained via a query executer.protected void
closeQueryExecuter()
void
contributeParameters(Map<String,Object> parameterValues)
void
createCalculator(JasperReport jasperReport)
Creates the calculatorprotected static JRCalculator
createCalculator(JasperReportsContext jasperReportsContext, JasperReport jasperReport, JRDataset dataset)
protected List<JRAbstractScriptlet>
createScriptlets(Map<String,Object> parameterValues)
Creates the scriptlets.protected Locale
defaultLocale()
protected TimeZone
defaultTimeZone()
void
disposeParameterContributors()
Object
evaluateExpression(JRExpression expression, byte evaluation)
Evaluates an expressionvoid
evaluateFieldProperties()
protected void
evaluateProperties(PropertyEvaluationTimeEnum evaluationTime)
protected void
filterElementDatasets(JRFillElementDataset elementDataset)
Filters the element datasets, leaving only one.FillDatasetPosition
getDatasetPosition()
protected ParameterEvaluationTimeEnum
getDefaultParameterEvaluationTime()
protected PropertyEvaluationTimeEnum
getDefaultPropertyEvaluationTime()
JRField[]
getFields()
Returns the dataset's fields.Map<String,JRFillField>
getFieldsMap()
Object
getFieldValue(String fieldName)
Returns the value of a field.Object
getFieldValue(String fieldName, EvaluationType evaluation)
Returns the value of a field.BaseReportFiller
getFiller()
JRFillField
getFillField(String fieldName)
FillDatasetPosition
getFillPosition()
JRFillVariable
getFillVariable(String variableName)
JRExpression
getFilterExpression()
Returns the dataset filter expression.JRGroup[]
getGroups()
Returns the dataset's groups.JasperReportsContext
getJasperReportsContext()
Locale
getLocale()
Returns the locale used by the dataset.String
getName()
Returns the dataset name.JRParameter[]
getParameters()
Returns the dataset's parameters.Map<String,JRFillParameter>
getParametersMap()
Object
getParameterValue(String parameterName)
Returns the value of a parameter.Object
getParameterValue(String parameterName, boolean ignoreMissing)
Returns the value of a parameter.protected Map<String,Object>
getParameterValuesMap()
Returns the map of parameter values.JRPropertiesHolder
getParentProperties()
Returns the parent properties holder, whose properties are used as defaults for this object.JRPropertiesMap
getPropertiesMap()
Returns this object's properties map.DatasetPropertyExpression[]
getPropertyExpressions()
Returns the list of dynamic/expression-based properties for this dataset.JRQuery
getQuery()
Returns the query of the dataset.RepositoryContext
getRepositoryContext()
String
getResourceBundle()
Returns the resource bundle base name.String
getScriptletClass()
The name of the scriptlet class to be used when iterating this dataset.JRScriptlet[]
getScriptlets()
Returns the dataset's scriptlets.JRSortField[]
getSortFields()
Returns the dataset's sort fields.TimeZone
getTimeZone()
UUID
getUUID()
JRFillVariable
getVariable(String variableName)
JRVariable[]
getVariables()
Returns the dataset's variables.Map<String,JRFillVariable>
getVariablesMap()
Object
getVariableValue(String variableName)
Returns the value of a variable.Object
getVariableValue(String variableName, EvaluationType evaluation)
Returns the value of a variable.WhenResourceMissingTypeEnum
getWhenResourceMissingType()
Returns the resource missing handling type.boolean
hasProperties()
Checks whether the object has any properties.void
inheritFromMain()
Inherits properties from the report.void
initCalculator()
Initializes the calculator.void
initDatasource()
Initializes the data source which will be used by this dataset.protected void
initElementDatasets(JRFillObjectFactory factory)
Initializes the element datasets.protected boolean
isIncludedInDataCache(JRFillParameter parameter)
boolean
isMainDataset()
Decides whether this dataset is the main report dataset or a sub dataset.boolean
isSortingData()
protected ResourceBundle
loadResourceBundle()
Loads the resource bundle corresponding to the resource bundle base name and locale.boolean
next()
Moves to the next record in the data source.protected boolean
next(boolean sorting)
Moves to the next record in the data source.protected void
reset()
protected void
resetVariables()
protected void
restoreElementDatasets()
Restores the original element datasets.protected void
revertToOldValues()
protected void
revertVariablesToOldValues()
void
setCacheRecordIndex(FillDatasetPosition position, byte evaluationType)
void
setCacheSkipped(boolean cacheSkipped)
protected void
setCalculator(JRCalculator calculator)
void
setConnectionParameterValue(Map<String,Object> parameterValues, Connection conn)
Sets the JDBC connection to be used.void
setDatasourceParameterValue(Map<String,Object> parameterValues, JRDataSource ds)
Sets the data source to be used.void
setFillPosition(FillDatasetPosition fillPosition)
void
setJasperReportsContext(JasperReportsContext jasperReportsContext)
protected void
setOldValues()
void
setParameter(String parameterName, Object value)
Sets the value of a parameter.protected void
setParameter(JRFillParameter parameter, Object value)
Sets the value of the parameter.void
setParameterValues(Map<String,Object> parameterValues)
Reads built-in parameter values from the value map.void
setRepositoryContext(RepositoryContext repositoryContext)
void
setWhenResourceMissingType(WhenResourceMissingTypeEnum whenResourceMissingType)
Sets the resource missing handling type.void
start()
Starts the iteration on the data source.
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_NO_SUCH_FIELD
public static final String EXCEPTION_MESSAGE_KEY_NO_SUCH_FIELD
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_NO_SUCH_PARAMETER
public static final String EXCEPTION_MESSAGE_KEY_NO_SUCH_PARAMETER
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_NO_SUCH_SNAPSHOT_DATA
public static final String EXCEPTION_MESSAGE_KEY_NO_SUCH_SNAPSHOT_DATA
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_NO_SUCH_SNAPSHOT_PARAMETER
public static final String EXCEPTION_MESSAGE_KEY_NO_SUCH_SNAPSHOT_PARAMETER
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_NO_SUCH_VARIABLE
public static final String EXCEPTION_MESSAGE_KEY_NO_SUCH_VARIABLE
- See Also:
- Constant Field Values
-
query
protected JRQuery query
The dataset query.
-
parameters
protected JRFillParameter[] parameters
The dataset parameters.
-
parametersMap
protected Map<String,JRFillParameter> parametersMap
The dataset parameters indexed by name.
-
fields
protected JRFillField[] fields
The dataset fields.
-
fieldsMap
protected Map<String,JRFillField> fieldsMap
The dataset fields indexed by name.
-
variables
protected JRFillVariable[] variables
The dataset variables.
-
variablesMap
protected Map<String,JRFillVariable> variablesMap
The dataset variables indexed by name.
-
variableCalculationReqs
protected Set<JRFillDataset.VariableCalculationReq> variableCalculationReqs
Set ofVariableCalculationReq
objects.
-
elementDatasets
protected JRFillElementDataset[] elementDatasets
The element datasets.
-
origElementDatasets
protected JRFillElementDataset[] origElementDatasets
Used to save the original element datasets whenfilterElementDatasets
is called.
-
groups
protected JRFillGroup[] groups
The dataset groups.
-
groupsMap
protected Map<String,JRFillGroup> groupsMap
The dataset groups indexed by name.
-
resourceBundleBaseName
protected String resourceBundleBaseName
The resource bundle base name.
-
whenResourceMissingType
protected WhenResourceMissingTypeEnum whenResourceMissingType
The resource missing handle type.
-
scriptletClassName
protected String scriptletClassName
The scriptlet class name.
-
dataSource
protected JRDataSource dataSource
The data source.
-
resourceBundle
protected ResourceBundle resourceBundle
The loaded resource bundle.
-
reportCount
protected int reportCount
The cursor used when iterating the data source.
-
calculator
protected JRCalculator calculator
The calculator used by the dataset.
-
scriptlets
protected List<JRAbstractScriptlet> scriptlets
The scriptlets used by the dataset.
-
propertyExpressions
protected List<DatasetPropertyExpression> propertyExpressions
-
staticProperties
protected JRPropertiesMap staticProperties
-
mergedProperties
protected JRPropertiesMap mergedProperties
-
delegateScriptlet
protected JRAbstractScriptlet delegateScriptlet
-
filter
protected DatasetFilter filter
-
fillPosition
protected FillDatasetPosition fillPosition
-
dataRecorder
protected DatasetRecorder dataRecorder
-
-
Constructor Detail
-
JRFillDataset
public JRFillDataset(BaseReportFiller filler, JRDataset dataset, JRFillObjectFactory factory)
Creates a fill dataset object.- Parameters:
filler
- the fillerdataset
- the template datasetfactory
- the fill object factory
-
-
Method Detail
-
getFiller
public BaseReportFiller getFiller()
-
createCalculator
public void createCalculator(JasperReport jasperReport) throws JRException
Creates the calculator- Parameters:
jasperReport
- the report- Throws:
JRException
-
setCalculator
protected void setCalculator(JRCalculator calculator)
-
createCalculator
protected static JRCalculator createCalculator(JasperReportsContext jasperReportsContext, JasperReport jasperReport, JRDataset dataset) throws JRException
- Throws:
JRException
-
initCalculator
public void initCalculator() throws JRException
Initializes the calculator.- Throws:
JRException
-
inheritFromMain
public void inheritFromMain()
Inherits properties from the report.
-
createScriptlets
protected List<JRAbstractScriptlet> createScriptlets(Map<String,Object> parameterValues) throws JRException
Creates the scriptlets.- Returns:
- the scriptlets list
- Throws:
JRException
-
initElementDatasets
protected void initElementDatasets(JRFillObjectFactory factory)
Initializes the element datasets.- Parameters:
factory
- the fill object factory used by the filler
-
filterElementDatasets
protected void filterElementDatasets(JRFillElementDataset elementDataset)
Filters the element datasets, leaving only one.This method is used when a dataset is instantiated by a chart or crosstab.
- Parameters:
elementDataset
- the element dataset that should remain
-
restoreElementDatasets
protected void restoreElementDatasets()
Restores the original element datasets.This method should be called after
filterElementDatasets
.
-
loadResourceBundle
protected ResourceBundle loadResourceBundle()
Loads the resource bundle corresponding to the resource bundle base name and locale.
-
setParameterValues
public void setParameterValues(Map<String,Object> parameterValues) throws JRException
Reads built-in parameter values from the value map.- Parameters:
parameterValues
- the parameter values- Throws:
JRException
-
defaultLocale
protected Locale defaultLocale()
-
defaultTimeZone
protected TimeZone defaultTimeZone()
-
initDatasource
public void initDatasource() throws JRException
Initializes the data source which will be used by this dataset. If the dataset includes a query, this involves invoking the appropriate query executer to execute the query and create a data source from the results.- Throws:
JRException
-
isSortingData
public boolean isSortingData()
-
getFillPosition
public FillDatasetPosition getFillPosition()
-
setFillPosition
public void setFillPosition(FillDatasetPosition fillPosition)
-
setCacheSkipped
public void setCacheSkipped(boolean cacheSkipped)
-
cacheInit
protected void cacheInit() throws DataSnapshotException
- Throws:
DataSnapshotException
-
cacheInitSnapshot
protected void cacheInitSnapshot() throws DataSnapshotException
- Throws:
DataSnapshotException
-
cacheInitRecording
protected void cacheInitRecording()
-
isIncludedInDataCache
protected boolean isIncludedInDataCache(JRFillParameter parameter)
-
getDefaultParameterEvaluationTime
protected ParameterEvaluationTimeEnum getDefaultParameterEvaluationTime()
-
getDefaultPropertyEvaluationTime
protected PropertyEvaluationTimeEnum getDefaultPropertyEvaluationTime()
-
cacheRecord
protected void cacheRecord()
-
cacheEnd
protected void cacheEnd()
-
evaluateFieldProperties
public void evaluateFieldProperties() throws JRException
- Throws:
JRException
-
contributeParameters
public void contributeParameters(Map<String,Object> parameterValues) throws JRException
- Throws:
JRException
-
setJasperReportsContext
public void setJasperReportsContext(JasperReportsContext jasperReportsContext)
-
setRepositoryContext
public void setRepositoryContext(RepositoryContext repositoryContext)
-
getJasperReportsContext
public JasperReportsContext getJasperReportsContext()
-
getRepositoryContext
public RepositoryContext getRepositoryContext()
-
disposeParameterContributors
public void disposeParameterContributors()
-
getParameterValuesMap
protected Map<String,Object> getParameterValuesMap()
Returns the map of parameter values.- Returns:
- the map of parameter values
-
reset
protected void reset()
-
setDatasourceParameterValue
public void setDatasourceParameterValue(Map<String,Object> parameterValues, JRDataSource ds)
Sets the data source to be used.- Parameters:
parameterValues
- the parameter valuesds
- the data source
-
setConnectionParameterValue
public void setConnectionParameterValue(Map<String,Object> parameterValues, Connection conn)
Sets the JDBC connection to be used.- Parameters:
parameterValues
- the parameter valuesconn
- the connection
-
closeDatasource
public void closeDatasource()
Closes the data source used by this dataset if this data source was obtained via a query executer.- See Also:
JRQueryExecuter.close()
-
closeQueryExecuter
protected void closeQueryExecuter()
-
start
public void start()
Starts the iteration on the data source.
-
resetVariables
protected void resetVariables()
-
next
public boolean next() throws JRException
Moves to the next record in the data source.- Returns:
true
if the data source was not exhausted- Throws:
JRException
-
next
protected boolean next(boolean sorting) throws JRException
Moves to the next record in the data source.- Parameters:
sorting
- whether the method is called as part of the data sorting phase- Returns:
true
if the data source was not exhausted- Throws:
JRException
-
advanceCacheRecordIndexes
protected void advanceCacheRecordIndexes()
-
setOldValues
protected void setOldValues() throws JRException
- Throws:
JRException
-
revertToOldValues
protected void revertToOldValues()
-
revertVariablesToOldValues
protected void revertVariablesToOldValues()
-
advanceDataSource
protected boolean advanceDataSource(boolean limit) throws JRException
- Throws:
JRException
-
setParameter
public void setParameter(String parameterName, Object value) throws JRException
Sets the value of a parameter.- Parameters:
parameterName
- the parameter namevalue
- the value- Throws:
JRException
-
setParameter
protected void setParameter(JRFillParameter parameter, Object value) throws JRException
Sets the value of the parameter.- Parameters:
parameter
- the parametervalue
- the value- Throws:
JRException
-
getVariable
public JRFillVariable getVariable(String variableName)
-
getVariableValue
public Object getVariableValue(String variableName)
Returns the value of a variable.- Parameters:
variableName
- the variable name- Returns:
- the variable value
-
getVariableValue
public Object getVariableValue(String variableName, EvaluationType evaluation)
Description copied from interface:DatasetFillContext
Returns the value of a variable.- Specified by:
getVariableValue
in interfaceDatasetFillContext
- Parameters:
variableName
- the variable nameevaluation
- the evaluation type- Returns:
- the variable value
-
getFillVariable
public JRFillVariable getFillVariable(String variableName)
-
getParameterValue
public Object getParameterValue(String parameterName)
Returns the value of a parameter.- Specified by:
getParameterValue
in interfaceDatasetFillContext
- Parameters:
parameterName
- the parameter name- Returns:
- the parameter value
-
getParameterValue
public Object getParameterValue(String parameterName, boolean ignoreMissing)
Returns the value of a parameter.- Parameters:
parameterName
- the parameter nameignoreMissing
- if set,null
will be returned for inexisting parameters- Returns:
- the parameter value
-
getFieldValue
public Object getFieldValue(String fieldName)
Returns the value of a field.- Parameters:
fieldName
- the field name- Returns:
- the field value
-
getFieldValue
public Object getFieldValue(String fieldName, EvaluationType evaluation)
Description copied from interface:DatasetFillContext
Returns the value of a field.- Specified by:
getFieldValue
in interfaceDatasetFillContext
- Parameters:
fieldName
- the field nameevaluation
- the evaluation type- Returns:
- the field value
-
getFillField
public JRFillField getFillField(String fieldName)
-
addVariableCalculationReq
protected void addVariableCalculationReq(String variableName, CalculationEnum calculation)
Adds a variable calculation requirement.- Parameters:
variableName
- the variable namecalculation
- the required calculation
-
checkVariableCalculationReqs
protected void checkVariableCalculationReqs(JRFillObjectFactory factory)
Checks if there are variable calculation requirements and creates the required variables.- Parameters:
factory
- the fill object factory
-
getUUID
public UUID getUUID()
- Specified by:
getUUID
in interfaceJRIdentifiable
-
getName
public String getName()
Description copied from interface:JRDataset
Returns the dataset name.
-
getScriptletClass
public String getScriptletClass()
Description copied from interface:JRDataset
The name of the scriptlet class to be used when iterating this dataset.- Specified by:
getScriptletClass
in interfaceJRDataset
- Returns:
- the scriplet class name
-
getScriptlets
public JRScriptlet[] getScriptlets()
Description copied from interface:JRDataset
Returns the dataset's scriptlets.- Specified by:
getScriptlets
in interfaceJRDataset
- Returns:
- the dataset's scriptlets
-
getParameters
public JRParameter[] getParameters()
Description copied from interface:JRDataset
Returns the dataset's parameters.- Specified by:
getParameters
in interfaceJRDataset
- Returns:
- the dataset's parameters
-
getParametersMap
public Map<String,JRFillParameter> getParametersMap()
-
getQuery
public JRQuery getQuery()
Description copied from interface:JRDataset
Returns the query of the dataset.The query is used by passing a connection is passed to the dataset when instantiating.
-
getFields
public JRField[] getFields()
Description copied from interface:JRDataset
Returns the dataset's fields.
-
getFieldsMap
public Map<String,JRFillField> getFieldsMap()
-
getSortFields
public JRSortField[] getSortFields()
Description copied from interface:JRDataset
Returns the dataset's sort fields.- Specified by:
getSortFields
in interfaceJRDataset
- Returns:
- the dataset's sort fields
-
getVariables
public JRVariable[] getVariables()
Description copied from interface:JRDataset
Returns the dataset's variables.- Specified by:
getVariables
in interfaceJRDataset
- Returns:
- the dataset's variables
-
getVariablesMap
public Map<String,JRFillVariable> getVariablesMap()
-
getGroups
public JRGroup[] getGroups()
Description copied from interface:JRDataset
Returns the dataset's groups.
-
isMainDataset
public boolean isMainDataset()
Description copied from interface:JRDataset
Decides whether this dataset is the main report dataset or a sub dataset.- Specified by:
isMainDataset
in interfaceJRDataset
- Returns:
true
if and only if this dataset is the main report dataset
-
getResourceBundle
public String getResourceBundle()
Description copied from interface:JRDataset
Returns the resource bundle base name.The resource bundle is used when evaluating expressions.
- Specified by:
getResourceBundle
in interfaceJRDataset
- Returns:
- the resource bundle base name
-
getWhenResourceMissingType
public WhenResourceMissingTypeEnum getWhenResourceMissingType()
Description copied from interface:JRDataset
Returns the resource missing handling type.- Specified by:
getWhenResourceMissingType
in interfaceJRDataset
- Returns:
- the resource missing handling type
-
setWhenResourceMissingType
public void setWhenResourceMissingType(WhenResourceMissingTypeEnum whenResourceMissingType)
Description copied from interface:JRDataset
Sets the resource missing handling type.- Specified by:
setWhenResourceMissingType
in interfaceJRDataset
- Parameters:
whenResourceMissingType
- the resource missing handling type
-
hasProperties
public boolean hasProperties()
Description copied from interface:JRPropertiesHolder
Checks whether the object has any properties.- Specified by:
hasProperties
in interfaceJRPropertiesHolder
- Returns:
- whether the object has any properties
-
getPropertiesMap
public JRPropertiesMap getPropertiesMap()
Description copied from interface:JRPropertiesHolder
Returns this object's properties map.- Specified by:
getPropertiesMap
in interfaceJRPropertiesHolder
- Returns:
- this object's properties map
-
getParentProperties
public JRPropertiesHolder getParentProperties()
Description copied from interface:JRPropertiesHolder
Returns the parent properties holder, whose properties are used as defaults for this object.- Specified by:
getParentProperties
in interfaceJRPropertiesHolder
- Returns:
- the parent properties holder, or
null
if no parent
-
getPropertyExpressions
public DatasetPropertyExpression[] getPropertyExpressions()
Description copied from interface:JRDataset
Returns the list of dynamic/expression-based properties for this dataset.- Specified by:
getPropertyExpressions
in interfaceJRDataset
- Returns:
- an array containing the expression-based properties of this dataset
-
evaluateProperties
protected void evaluateProperties(PropertyEvaluationTimeEnum evaluationTime) throws JRException
- Throws:
JRException
-
getFilterExpression
public JRExpression getFilterExpression()
Description copied from interface:JRDataset
Returns the dataset filter expression.This expression is used to filter the rows of the
data source
that this dataset will iterate on.This expression (if not null) is evaluated immediately after a new row is
produced
by the data source. The evaluation is performed using field and variable values corresponding to the new row. When the result of the evaluation isBoolean.TRUE
the row gets processed by the report filling engine. When the result is null orBoolean.FALSE
, the current row will be skipped and the datasource will be asked for the next row.- Specified by:
getFilterExpression
in interfaceJRDataset
- Returns:
- the dataset filter expression
-
clone
public Object clone()
- Specified by:
clone
in interfaceJRCloneable
- Overrides:
clone
in classObject
-
evaluateExpression
public Object evaluateExpression(JRExpression expression, byte evaluation) throws JRException
Evaluates an expression- Parameters:
expression
- the expressionevaluation
- the evaluation type- Returns:
- the evaluation result
- Throws:
JRException
-
getLocale
public Locale getLocale()
Description copied from interface:DatasetFillContext
Returns the locale used by the dataset.- Specified by:
getLocale
in interfaceDatasetFillContext
-
getTimeZone
public TimeZone getTimeZone()
-
getDatasetPosition
public FillDatasetPosition getDatasetPosition()
-
addCacheRecordIndexCallback
protected void addCacheRecordIndexCallback(int recordIndex, JRFillDataset.CacheRecordIndexCallback callback)
-
setCacheRecordIndex
public void setCacheRecordIndex(FillDatasetPosition position, byte evaluationType)
-
-