/** * Creates and returns a copy of this object. * * @return a clone of this instance. * @throws CloneNotSupportedException * if the object's class does not support the <code>Cloneable</code> interface. Subclasses that override the * <code>clone</code> method can also throw this exception to indicate that an instance cannot be cloned. * @see java.lang.Cloneable */ public ReportDefinitionImpl clone() { final ReportDefinitionImpl report = (ReportDefinitionImpl) super.clone(); report.rootGroup = (Group) rootGroup.clone(); report.pageFooter = (PageFooter) pageFooter.clone(); report.pageHeader = (PageHeader) pageHeader.clone(); report.reportFooter = (ReportFooter) reportFooter.clone(); report.reportHeader = (ReportHeader) reportHeader.clone(); report.watermark = (Watermark) watermark.clone(); // 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; }
report.pageFooter = (PageFooter) pageFooter.clone(); report.pageHeader = (PageHeader) pageHeader.clone(); report.reportFooter = (ReportFooter) reportFooter.clone(); report.reportHeader = (ReportHeader) reportHeader.clone(); report.expressions = expressions.clone();