Class JRExpressionCollector
The expressions are then included into evaluator classes which are compiled and used at report fill time to evaluate expressions.
- Author:
- Teodor Danciu (teodord@users.sourceforge.net)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static classprotected static interfaceprotected static class -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJRExpressionCollector(JasperReportsContext jasperReportsContext, JRExpressionCollector parent, JRReport report) protectedJRExpressionCollector(JasperReportsContext jasperReportsContext, JRExpressionCollector parent, JRReport report, JRExpressionCollector.ExpressionVerifier expressionVerifier) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddExpression(JRExpression expression) Collects an expression.protected booleancanUseId(List<JRExpressionCollector> collectors, JRExpression expression, Integer id) protected booleancanUseId(JRExpression expression, Integer id) collect()protected voidcollect(JRCellContents cell) voidcollect(JRCrosstab crosstab) Collects expressions from a crosstab.protected voidcollect(DataAxisLevel level, JRExpressionCollector datasetCollector) voidcollect(MultiAxisData data) voidvoidcollect(JRComponentElement componentElement) Collects expressions from a component element wrapper.Collects expressions from a dataset.voidcollect(JRDatasetRun datasetRun) Collects expressions from a subdataset run object.voidcollect(JRElementDataset dataset) Collects expressions from an element dataset.voidvoidvoidcollect(JRGenericElement element) Collects expressions from a generic element.voidvoidvoidcollect(JRRectangle rectangle) protected voidcollect(JRReportTemplate template) voidcollect(JRStaticText staticText) voidCollects expressions used in a style definition.voidcollect(JRSubreport subreport) voidcollect(JRTextField textField) voidcollectAnchor(JRAnchor anchor) voidcollectElement(JRElement element) static List<JRExpression> collectExpressions(JasperReportsContext jasperReportsContext, JRReport report) static List<JRExpression> collectExpressions(JasperReportsContext jasperReportsContext, JRReport report, JRCrosstab crosstab) Deprecated.To be removed.voidcollectHyperlink(JRHyperlink hyperlink) voidcollectHyperlinkParameter(JRHyperlinkParameter parameter) static JRExpressionCollectorcollector(JasperReportsContext jasperReportsContext, JRReport report) static JRExpressionCollectorcollector(JasperReportsContext jasperReportsContext, JRReport report, JRCrosstab crosstab) protected List<JRExpressionCollector> collectorsForExpression(Integer id, JRExpression expression) protected voidcollectPropertyExpression(JRPropertyExpression propertyExpression) voidcollectPropertyExpressions(JRPropertyExpression[] propertyExpressions) protected voidCollects the condition expressions of all report styles, if any element of this context has a style expression.protected voidgetCollector(JRCrosstab crosstab) Returns the expression collector for a crosstab.getCollector(JRDataset dataset) Returns the expression collector for a dataset.getCollector(JRElementDataset elementDataset) Returns the expression collector to which expressions in an element dataset belong.getCrosstabId(JRCrosstab crosstab) getDatasetCollector(String datasetName) Returns the expression collector for a report subdataset.getExpression(int expressionId) getExpressionContext(JRExpression expression) getExpressionId(JRExpression expression) Returns the collected expressions.getExpressions(JRCrosstab crosstab) Returns the expressions collected for a crosstab.getExpressions(JRDataset dataset) Returns the expressions collected for a dataset.Return all the expressions collected from the report.protected booleanhasExpression(Integer id, JRExpression expression) protected Objectprotected voidpushContextObject(Object context) protected voidreassignId(JRExpression expression, Integer id) protected voidreserveExpression(JRExpression expression) Reserves the id of an expression which is not collected in this context, so that no other expression of this context gets the same id.protected JRExpressionCollectorprotected voidsetExpressionContext(JRExpression expression)
-
Constructor Details
-
JRExpressionCollector
protected JRExpressionCollector(JasperReportsContext jasperReportsContext, JRExpressionCollector parent, JRReport report) -
JRExpressionCollector
protected JRExpressionCollector(JasperReportsContext jasperReportsContext, JRExpressionCollector parent, JRReport report, JRExpressionCollector.ExpressionVerifier expressionVerifier)
-
-
Method Details
-
collector
public static JRExpressionCollector collector(JasperReportsContext jasperReportsContext, JRReport report) -
collectExpressions
public static List<JRExpression> collectExpressions(JasperReportsContext jasperReportsContext, JRReport report) -
collector
public static JRExpressionCollector collector(JasperReportsContext jasperReportsContext, JRReport report, JRCrosstab crosstab) -
collectExpressions
public static List<JRExpression> collectExpressions(JasperReportsContext jasperReportsContext, JRReport report, JRCrosstab crosstab) Deprecated.To be removed. -
addExpression
Collects an expression.- Parameters:
expression- the expression to collect
-
reserveExpression
Reserves the id of an expression which is not collected in this context, so that no other expression of this context gets the same id.Expression ids are report wide, but each dataset and crosstab has its own expression evaluator which only implements the ids collected for it. Leaving the id of a skipped expression free would allow an expression of this context to take it, in which case evaluating the skipped expression here would return the value of that other expression. The reserved id has no case in the generated evaluator, so it evaluates to null, which conditional styles read as a condition which is not met.
-
canUseId
-
reassignId
-
canUseId
protected boolean canUseId(List<JRExpressionCollector> collectors, JRExpression expression, Integer id) -
rootCollector
-
hasExpression
-
collectorsForExpression
-
pushContextObject
-
popContextObject
-
setExpressionContext
-
getCollector
Returns the expression collector to which expressions in an element dataset belong.If the element dataset includes a subdataset run, a (sub) expression collector that corresponds to the subdataset will be returned. Otherwise, this/the main expression collector will be returned.
- Parameters:
elementDataset- an element dataset- Returns:
- the expression collector to be used for the element dataset
-
getDatasetCollector
Returns the expression collector for a report subdataset.- Parameters:
datasetName- the subdataset name- Returns:
- the expression collector for the subdataset
-
getCollector
Returns the expression collector for a dataset.- Parameters:
dataset- the dataset- Returns:
- the dataset expression collector
-
getCollector
Returns the expression collector for a crosstab.- Parameters:
crosstab- the crosstab- Returns:
- the crosstab expression collector
-
getExpressions
Returns the collected expressions.- Returns:
- the collected expressions
-
getReportExpressions
Return all the expressions collected from the report.- Returns:
- all the expressions collected from the report
-
getExpressions
Returns the expressions collected for a dataset.- Parameters:
dataset- the dataset- Returns:
- the expressions
-
getExpressions
Returns the expressions collected for a crosstab.- Parameters:
crosstab- the crosstab- Returns:
- the expressions
-
getExpressionId
-
getExpression
-
getCrosstabId
-
getExpressionContext
-
collect
-
collectTemplates
protected void collectTemplates() -
collect
-
collect
Collects expressions used in a style definition.- Parameters:
style- the style to collect expressions from
-
collectElement
-
collectStyleExpressionStyles
protected void collectStyleExpressionStyles()Collects the condition expressions of all report styles, if any element of this context has a style expression.A style expression produces a style name at fill time, so any report style can end up applied to such an element and the condition expressions of all report styles have to be available in this context. A context which has no element with a style expression only needs the styles which its elements explicitly reference, collected along with the elements, and the report default style, which applies to any element.
This has to be called after the elements of the context have been collected, because it is the elements which tell whether the context uses style expressions.
-
collectPropertyExpressions
-
collectPropertyExpression
-
collectAnchor
-
collectHyperlink
-
collectHyperlinkParameter
-
collect
-
collect
-
collect
-
collect
-
collect
-
collect
-
collect
-
collect
-
collect
Collects expressions from a crosstab.- Parameters:
crosstab- the crosstab
-
collect
Collects expressions from a dataset.- Parameters:
dataset- the dataset- Returns:
- collected expressions
-
collect
Collects expressions from an element dataset.- Parameters:
dataset- the element dataset
-
collect
Collects expressions from a subdataset run object.- Parameters:
datasetRun- the subdataset run
-
collect
-
collect
-
collect
Collects expressions from a component element wrapper.Common element expressions are collected, and then the component compiler's
ComponentCompiler.collectExpressions(Component, JRExpressionCollector)is called to collect component expressions.- Parameters:
componentElement- the component element
-
collect
Collects expressions from a generic element.- Parameters:
element- the generic element
-
collect
-
collect
-
getJasperReportsContext
-