/** * Sets the report header. * * @param header * the report header (<code>null</code> not permitted). */ public void setReportHeader( final ReportHeader header ) { if ( header == null ) { throw new NullPointerException( "AbstractReportDefinition.setReportHeader(...) : null not permitted." ); } validateLooping( header ); if ( unregisterParent( header ) ) { return; } final Element oldElement = this.reportHeader; this.reportHeader.setParent( null ); this.reportHeader = header; this.reportHeader.setParent( this ); notifyNodeChildRemoved( oldElement ); notifyNodeChildAdded( header ); }
report.dataSchemaDefinition = (DataSchemaDefinition) dataSchemaDefinition.clone(); report.rootGroup.setParent( report ); report.reportHeader.setParent( report ); report.reportFooter.setParent( report ); report.pageHeader.setParent( report );
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; }