public ReportDefinitionImpl derive( final boolean preserveElementInstanceIds ) { final ReportDefinitionImpl report = (ReportDefinitionImpl) super.derive( preserveElementInstanceIds ); report.rootGroup = (Group) rootGroup.derive( preserveElementInstanceIds ); report.pageFooter = (PageFooter) pageFooter.derive( preserveElementInstanceIds ); report.pageHeader = (PageHeader) pageHeader.derive( preserveElementInstanceIds ); report.reportFooter = (ReportFooter) reportFooter.derive( preserveElementInstanceIds ); report.reportHeader = (ReportHeader) reportHeader.derive( preserveElementInstanceIds ); report.watermark = (Watermark) watermark.derive( preserveElementInstanceIds ); // pagedefinition is not! cloned ... report.pageDefinition = pageDefinition; report.setParent( getParentSection() ); report.registerAsChild( report.rootGroup ); report.registerAsChild( report.reportHeader ); report.registerAsChild( report.reportFooter ); report.registerAsChild( report.pageHeader ); report.registerAsChild( report.pageFooter ); report.registerAsChild( report.watermark ); return report; }
this.reportHeader = (ReportHeader) report.getReportHeader().derive( true ); this.pageFooter = (PageFooter) report.getPageFooter().derive( true ); this.pageHeader = (PageHeader) report.getPageHeader().derive( true );
public AbstractReportDefinition derive( final boolean preserveElementInstanceIds ) { final AbstractReportDefinition report = (AbstractReportDefinition) super.derive( preserveElementInstanceIds ); report.eventListeners = null; report.rootGroup = rootGroup.derive( preserveElementInstanceIds ); report.watermark = (Watermark) watermark.derive( preserveElementInstanceIds ); report.pageFooter = (PageFooter) pageFooter.derive( preserveElementInstanceIds ); report.pageHeader = (PageHeader) pageHeader.derive( preserveElementInstanceIds ); report.reportFooter = (ReportFooter) reportFooter.derive( preserveElementInstanceIds ); report.reportHeader = (ReportHeader) reportHeader.derive( preserveElementInstanceIds ); report.expressions = expressions.clone(); report.dataSchemaDefinition = (DataSchemaDefinition) dataSchemaDefinition.clone(); report.rootGroup.setParent( report ); report.reportHeader.setParent( report ); report.reportFooter.setParent( report ); report.pageHeader.setParent( report ); report.pageFooter.setParent( report ); report.watermark.setParent( report ); final ReportPreProcessor[] reportPreProcessors = report.getPreProcessors(); for ( int i = 0; i < reportPreProcessors.length; i++ ) { reportPreProcessors[i] = reportPreProcessors[i].clone(); } report.setAttribute( AttributeNames.Internal.NAMESPACE, AttributeNames.Internal.PREPROCESSORS, reportPreProcessors ); final StructureFunction[] structureFunctions = report.getStructureFunctions(); for ( int i = 0; i < structureFunctions.length; i++ ) { structureFunctions[i] = (StructureFunction) structureFunctions[i].getInstance(); } report.setAttribute( AttributeNames.Internal.NAMESPACE, AttributeNames.Internal.STRUCTURE_FUNCTIONS, structureFunctions ); return report; }