/** * Returns the expression collector for a dataset. * * @param dataset the dataset * @return the dataset expression collector */ public JRExpressionCollector getCollector(JRDataset dataset) { JRExpressionCollector collector; if (dataset.isMainDataset() || datasetCollectors == null) { collector = this; } else { collector = getDatasetCollector(dataset.getName()); } return collector; }
/** * Returns the expression collector to which expressions in an element * dataset belong. * * <p> * 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. * * @param elementDataset an element dataset * @return the expression collector to be used for the element dataset */ public JRExpressionCollector getCollector(JRElementDataset elementDataset) { JRExpressionCollector collector; JRDatasetRun datasetRun = elementDataset.getDatasetRun(); if (datasetRun == null) { collector = this; } else { collector = getDatasetCollector(datasetRun.getDatasetName()); } return collector; }
public void collectExpressions(Component component, JRExpressionCollector collector) { ListComponent listComponent = (ListComponent) component; JRDatasetRun datasetRun = listComponent.getDatasetRun(); collector.collect(datasetRun); JRExpressionCollector datasetCollector = collector.getDatasetCollector( datasetRun.getDatasetName()); JRElement[] elements = listComponent.getContents().getElements(); if (elements != null) { for (int i = 0; i < elements.length; i++) { elements[i].collectExpressions(datasetCollector); } } }