public class JRFillDataset extends java.lang.Object implements JRDataset, DatasetFillContext
| Modifier and Type | Class and Description |
|---|---|
protected static class |
JRFillDataset.VariableCalculationReq
Class used to hold expression calculation requirements.
|
| Modifier and Type | Field and Description |
|---|---|
protected JRCalculator |
calculator
The calculator used by the dataset.
|
protected JRDataSource |
dataSource
The data source.
|
protected JRAbstractScriptlet |
delegateScriptlet |
protected JRFillElementDataset[] |
elementDatasets
The element datasets.
|
protected JRFillField[] |
fields
The dataset fields.
|
protected java.util.Map<java.lang.String,JRFillField> |
fieldsMap
The dataset fields indexed by name.
|
protected DatasetFilter |
filter |
protected JRFillGroup[] |
groups
The dataset groups.
|
protected java.util.Locale |
locale
The
Locale to be used by the dataset. |
protected JRFillElementDataset[] |
origElementDatasets
Used to save the original element datasets when
filterElementDatasets is called. |
protected JRFillParameter[] |
parameters
The dataset parameters.
|
protected java.util.Map<java.lang.String,JRFillParameter> |
parametersMap
The dataset parameters indexed by name.
|
protected JRQuery |
query
The dataset query.
|
protected int |
reportCount
The cursor used when iterating the data source.
|
protected java.lang.Integer |
reportMaxCount
The value of the
max count parameter. |
protected java.util.ResourceBundle |
resourceBundle
The loaded resource bundle.
|
protected java.lang.String |
resourceBundleBaseName
The resource bundle base name.
|
protected java.lang.String |
scriptletClassName
The scriptlet class name.
|
protected java.util.List<JRAbstractScriptlet> |
scriptlets
The scriptlets used by the dataset.
|
protected java.util.TimeZone |
timeZone
The
TimeZone to be used by the dataset. |
protected java.util.Set<JRFillDataset.VariableCalculationReq> |
variableCalculationReqs
Set of
VariableCalculationReq objects. |
protected JRFillVariable[] |
variables
The dataset variables.
|
protected java.util.Map<java.lang.String,JRFillVariable> |
variablesMap
The dataset variables indexed by name.
|
protected WhenResourceMissingTypeEnum |
whenResourceMissingType
The resource missing handle type.
|
| Constructor and Description |
|---|
JRFillDataset(JRBaseFiller filler,
JRDataset dataset,
JRFillObjectFactory factory)
Creates a fill dataset object.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addVariableCalculationReq(java.lang.String variableName,
CalculationEnum calculation)
Adds a variable calculation requirement.
|
protected boolean |
advanceDataSource(boolean limit) |
protected void |
checkVariableCalculationReqs(JRFillObjectFactory factory)
Checks if there are variable calculation requirements and creates the required variables.
|
java.lang.Object |
clone() |
void |
closeDatasource()
Closes the data source used by this dataset if this data source was
obtained via a query executer.
|
void |
createCalculator(JasperReport jasperReport)
Creates the calculator
|
protected static JRCalculator |
createCalculator(JasperReport jasperReport,
JRDataset dataset) |
protected java.util.List<JRAbstractScriptlet> |
createScriptlets(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Creates the scriptlets.
|
java.lang.Object |
evaluateExpression(JRExpression expression,
byte evaluation)
Evaluates an expression
|
protected boolean |
evaluateFilter() |
protected void |
filterElementDatasets(JRFillElementDataset elementDataset)
Filters the element datasets, leaving only one.
|
JRField[] |
getFields()
Returns the dataset's fields.
|
java.lang.Object |
getFieldValue(java.lang.String fieldName)
Returns the value of a field.
|
java.lang.Object |
getFieldValue(java.lang.String fieldName,
EvaluationType evaluation)
Returns the value of a field.
|
JRFillField |
getFillField(java.lang.String fieldName) |
JRFillVariable |
getFillVariable(java.lang.String variableName) |
JRExpression |
getFilterExpression()
Returns the dataset filter expression.
|
JRGroup[] |
getGroups()
Returns the dataset's groups.
|
java.util.Locale |
getLocale()
Returns the locale used by the dataset.
|
java.lang.String |
getName()
Returns the dataset name.
|
JRParameter[] |
getParameters()
Returns the dataset's parameters.
|
java.util.Map<java.lang.String,JRFillParameter> |
getParametersMap() |
java.lang.Object |
getParameterValue(java.lang.String parameterName)
Returns the value of a parameter.
|
java.lang.Object |
getParameterValue(java.lang.String parameterName,
boolean ignoreMissing)
Returns the value of a parameter.
|
protected java.util.Map<java.lang.String,java.lang.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.
|
JRQuery |
getQuery()
Returns the query of the dataset.
|
java.lang.String |
getResourceBundle()
Returns the resource bundle base name.
|
java.lang.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.
|
JRVariable[] |
getVariables()
Returns the dataset's variables.
|
java.lang.Object |
getVariableValue(java.lang.String variableName)
Returns the value of a variable.
|
java.lang.Object |
getVariableValue(java.lang.String variableName,
EvaluationType evaluation)
Returns the value of a variable.
|
WhenResourceMissingTypeEnum |
getWhenResourceMissingTypeValue()
Returns the resource missing handling type.
|
boolean |
hasProperties()
Checks whether the object has any properties.
|
protected 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.
|
boolean |
isMainDataset()
Decides whether this dataset is the main report dataset or a sub dataset.
|
protected java.util.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 filter)
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 |
setCalculator(JRCalculator calculator) |
void |
setConnectionParameterValue(java.util.Map<java.lang.String,java.lang.Object> parameterValues,
java.sql.Connection conn)
Sets the JDBC connection to be used.
|
void |
setDatasourceParameterValue(java.util.Map<java.lang.String,java.lang.Object> parameterValues,
JRDataSource ds)
Sets the data source to be used.
|
protected void |
setOldValues() |
protected void |
setParameter(JRFillParameter parameter,
java.lang.Object value)
Sets the value of the parameter.
|
protected void |
setParameter(java.lang.String parameterName,
java.lang.Object value)
Sets the value of a parameter.
|
void |
setParameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Reads built-in parameter values from the value map.
|
void |
setWhenResourceMissingType(WhenResourceMissingTypeEnum whenResourceMissingType)
Sets the resource missing handling type.
|
void |
start()
Starts the iteration on the data source.
|
protected JRQuery query
protected JRFillParameter[] parameters
protected java.util.Map<java.lang.String,JRFillParameter> parametersMap
protected JRFillField[] fields
protected java.util.Map<java.lang.String,JRFillField> fieldsMap
protected JRFillVariable[] variables
protected java.util.Map<java.lang.String,JRFillVariable> variablesMap
protected java.util.Set<JRFillDataset.VariableCalculationReq> variableCalculationReqs
VariableCalculationReq objects.protected JRFillElementDataset[] elementDatasets
protected JRFillElementDataset[] origElementDatasets
filterElementDatasets is called.protected JRFillGroup[] groups
protected java.lang.String resourceBundleBaseName
protected WhenResourceMissingTypeEnum whenResourceMissingType
protected java.lang.String scriptletClassName
protected JRDataSource dataSource
protected java.util.Locale locale
Locale to be used by the dataset.protected java.util.ResourceBundle resourceBundle
protected java.util.TimeZone timeZone
TimeZone to be used by the dataset.protected int reportCount
protected JRCalculator calculator
protected java.util.List<JRAbstractScriptlet> scriptlets
protected JRAbstractScriptlet delegateScriptlet
protected java.lang.Integer reportMaxCount
max count parameter.protected DatasetFilter filter
public JRFillDataset(JRBaseFiller filler, JRDataset dataset, JRFillObjectFactory factory)
filler - the fillerdataset - the template datasetfactory - the fill object factorypublic void createCalculator(JasperReport jasperReport) throws JRException
jasperReport - the reportJRExceptionprotected void setCalculator(JRCalculator calculator)
protected static JRCalculator createCalculator(JasperReport jasperReport, JRDataset dataset) throws JRException
JRExceptionpublic void initCalculator()
throws JRException
JRExceptionprotected void inheritFromMain()
protected java.util.List<JRAbstractScriptlet> createScriptlets(java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws JRException
JRExceptionprotected void initElementDatasets(JRFillObjectFactory factory)
factory - the fill object factory used by the fillerprotected void filterElementDatasets(JRFillElementDataset elementDataset)
This method is used when a dataset is instantiated by a chart or crosstab.
elementDataset - the element dataset that should remainprotected void restoreElementDatasets()
This method should be called after filterElementDatasets.
protected java.util.ResourceBundle loadResourceBundle()
public void setParameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
throws JRException
parameterValues - the parameter valuesJRExceptionpublic void initDatasource()
throws JRException
JRExceptionprotected java.util.Map<java.lang.String,java.lang.Object> getParameterValuesMap()
protected void reset()
public void setDatasourceParameterValue(java.util.Map<java.lang.String,java.lang.Object> parameterValues,
JRDataSource ds)
parameterValues - the parameter valuesds - the data sourcepublic void setConnectionParameterValue(java.util.Map<java.lang.String,java.lang.Object> parameterValues,
java.sql.Connection conn)
parameterValues - the parameter valuesconn - the connectionpublic void closeDatasource()
JRQueryExecuter.close()public void start()
protected void resetVariables()
public boolean next()
throws JRException
true if the data source was not exhaustedJRExceptionprotected boolean next(boolean filter)
throws JRException
filter - whether to apply the dataset filter and max counttrue if the data source was not exhaustedJRExceptionprotected void setOldValues()
throws JRException
JRExceptionprotected void revertToOldValues()
protected boolean advanceDataSource(boolean limit)
throws JRException
JRExceptionprotected boolean evaluateFilter()
throws JRException
JRExceptionprotected void setParameter(java.lang.String parameterName,
java.lang.Object value)
throws JRException
parameterName - the parameter namevalue - the valueJRExceptionprotected void setParameter(JRFillParameter parameter, java.lang.Object value) throws JRException
parameter - the parametervalue - the valueJRExceptionpublic java.lang.Object getVariableValue(java.lang.String variableName)
variableName - the variable namepublic java.lang.Object getVariableValue(java.lang.String variableName,
EvaluationType evaluation)
DatasetFillContextgetVariableValue in interface DatasetFillContextvariableName - the variable nameevaluation - the evaluation typepublic JRFillVariable getFillVariable(java.lang.String variableName)
public java.lang.Object getParameterValue(java.lang.String parameterName)
getParameterValue in interface DatasetFillContextparameterName - the parameter namepublic java.lang.Object getParameterValue(java.lang.String parameterName,
boolean ignoreMissing)
parameterName - the parameter nameignoreMissing - if set, null will be returned for inexisting parameterspublic java.lang.Object getFieldValue(java.lang.String fieldName)
fieldName - the field namepublic java.lang.Object getFieldValue(java.lang.String fieldName,
EvaluationType evaluation)
DatasetFillContextgetFieldValue in interface DatasetFillContextfieldName - the field nameevaluation - the evaluation typepublic JRFillField getFillField(java.lang.String fieldName)
protected void addVariableCalculationReq(java.lang.String variableName,
CalculationEnum calculation)
variableName - the variable namecalculation - the required calculationprotected void checkVariableCalculationReqs(JRFillObjectFactory factory)
factory - the fill object factorypublic java.lang.String getName()
JRDatasetpublic java.lang.String getScriptletClass()
JRDatasetgetScriptletClass in interface JRDatasetpublic JRScriptlet[] getScriptlets()
JRDatasetgetScriptlets in interface JRDatasetpublic JRParameter[] getParameters()
JRDatasetgetParameters in interface JRDatasetpublic java.util.Map<java.lang.String,JRFillParameter> getParametersMap()
public JRQuery getQuery()
JRDatasetThe query is used by passing a connection is passed to the dataset when instantiating.
public JRField[] getFields()
JRDatasetpublic JRSortField[] getSortFields()
JRDatasetgetSortFields in interface JRDatasetpublic JRVariable[] getVariables()
JRDatasetgetVariables in interface JRDatasetpublic JRGroup[] getGroups()
JRDatasetpublic boolean isMainDataset()
JRDatasetisMainDataset in interface JRDatasettrue if and only if this dataset is the main report datasetpublic java.lang.String getResourceBundle()
JRDatasetThe resource bundle is used when evaluating expressions.
getResourceBundle in interface JRDatasetpublic WhenResourceMissingTypeEnum getWhenResourceMissingTypeValue()
JRDatasetgetWhenResourceMissingTypeValue in interface JRDatasetpublic void setWhenResourceMissingType(WhenResourceMissingTypeEnum whenResourceMissingType)
JRDatasetsetWhenResourceMissingType in interface JRDatasetwhenResourceMissingType - the resource missing handling typepublic boolean hasProperties()
JRPropertiesHolderhasProperties in interface JRPropertiesHolderpublic JRPropertiesMap getPropertiesMap()
JRPropertiesHoldergetPropertiesMap in interface JRPropertiesHolderpublic JRPropertiesHolder getParentProperties()
JRPropertiesHoldergetParentProperties in interface JRPropertiesHoldernull if no parentpublic JRExpression getFilterExpression()
JRDataset
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 is Boolean.TRUE the row gets processed by the report
filling engine.
When the result is null or Boolean.FALSE, the current row will be skipped and the datasource will be asked for the next row.
getFilterExpression in interface JRDatasetpublic java.lang.Object clone()
clone in interface JRCloneableclone in class java.lang.Objectpublic java.lang.Object evaluateExpression(JRExpression expression, byte evaluation) throws JRException
expression - the expressionevaluation - the evaluation typeJRExceptionpublic java.util.Locale getLocale()
DatasetFillContextgetLocale in interface DatasetFillContext© 2001-2010 Jaspersoft Corporation www.jaspersoft.com