Class JRExpressionCollector


  • public class JRExpressionCollector
    extends Object
    An expression collector traverses a report and collects report expressions out of it.

    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)
    • Field Detail

      • EXCEPTION_MESSAGE_KEY_EXPRESSION_NOT_FOUND

        public static final String EXCEPTION_MESSAGE_KEY_EXPRESSION_NOT_FOUND
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_TWO_GENERATED_IDS

        public static final String EXCEPTION_MESSAGE_KEY_TWO_GENERATED_IDS
        See Also:
        Constant Field Values
    • Method Detail

      • addExpression

        public void addExpression​(JRExpression expression)
        Collects an expression.
        Parameters:
        expression - the expression to collect
      • pushContextObject

        protected void pushContextObject​(Object context)
      • popContextObject

        protected Object popContextObject()
      • setExpressionContext

        protected void setExpressionContext​(JRExpression expression)
      • getCollector

        public JRExpressionCollector getCollector​(JRElementDataset elementDataset)
        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

        public JRExpressionCollector getDatasetCollector​(String datasetName)
        Returns the expression collector for a report subdataset.
        Parameters:
        datasetName - the subdataset name
        Returns:
        the expression collector for the subdataset
      • getCollector

        public JRExpressionCollector getCollector​(JRDataset dataset)
        Returns the expression collector for a dataset.
        Parameters:
        dataset - the dataset
        Returns:
        the dataset expression collector
      • getCollector

        public JRExpressionCollector getCollector​(JRCrosstab crosstab)
        Returns the expression collector for a crosstab.
        Parameters:
        crosstab - the crosstab
        Returns:
        the crosstab expression collector
      • getExpressions

        public List<JRExpression> getExpressions()
        Returns the collected expressions.
        Returns:
        the collected expressions
      • getReportExpressions

        public Collection<JRExpression> getReportExpressions()
        Return all the expressions collected from the report.
        Returns:
        all the expressions collected from the report
      • getExpressions

        public List<JRExpression> getExpressions​(JRDataset dataset)
        Returns the expressions collected for a dataset.
        Parameters:
        dataset - the dataset
        Returns:
        the expressions
      • getExpressions

        public List<JRExpression> getExpressions​(JRCrosstab crosstab)
        Returns the expressions collected for a crosstab.
        Parameters:
        crosstab - the crosstab
        Returns:
        the expressions
      • getExpression

        public JRExpression getExpression​(int expressionId)
      • collectTemplates

        protected void collectTemplates()
      • collect

        public void collect​(JRStyle style)
        Collects expressions used in a style definition.
        Parameters:
        style - the style to collect expressions from
      • collect

        public void collect​(JRStyle style,
                            boolean skipFaulty)
        Collects expressions used in a style definition.
        Parameters:
        style - the style to collect expressions from
      • collectElement

        public void collectElement​(JRElement element)
      • collectPropertyExpressions

        public void collectPropertyExpressions​(JRPropertyExpression[] propertyExpressions)
      • collectPropertyExpression

        protected void collectPropertyExpression​(JRPropertyExpression propertyExpression)
      • collectAnchor

        public void collectAnchor​(JRAnchor anchor)
      • collectHyperlink

        public void collectHyperlink​(JRHyperlink hyperlink)
      • collectHyperlinkParameter

        public void collectHyperlinkParameter​(JRHyperlinkParameter parameter)
      • collect

        public void collect​(JRBreak breakElement)
      • collect

        public void collect​(JRLine line)
      • collect

        public void collect​(JRRectangle rectangle)
      • collect

        public void collect​(JREllipse ellipse)
      • collect

        public void collect​(JRImage image)
      • collect

        public void collect​(JRStaticText staticText)
      • collect

        public void collect​(JRTextField textField)
      • collect

        public void collect​(JRSubreport subreport)
      • collect

        public void collect​(JRCrosstab crosstab)
        Collects expressions from a crosstab.
        Parameters:
        crosstab - the crosstab
      • collect

        public Collection<JRExpression> collect​(JRDataset dataset)
        Collects expressions from a dataset.
        Parameters:
        dataset - the dataset
        Returns:
        collected expressions
      • collect

        public void collect​(JRElementDataset dataset)
        Collects expressions from an element dataset.
        Parameters:
        dataset - the element dataset
      • collect

        public void collect​(JRDatasetRun datasetRun)
        Collects expressions from a subdataset run object.
        Parameters:
        datasetRun - the subdataset run
      • collect

        public void collect​(JRFrame frame)
      • collect

        public void collect​(JRGenericElement element)
        Collects expressions from a generic element.
        Parameters:
        element - the generic element