package net.sf.jasperreports.engine.base; import java.io.Serializable; import net.sf.jasperreports.engine.JRDatasetRun; import net.sf.jasperreports.engine.JRElementDataset; import net.sf.jasperreports.engine.JRExpression; import net.sf.jasperreports.engine.JRGroup; import net.sf.jasperreports.engine.JRRuntimeException; public abstract class JRBaseElementDataset implements JRElementDataset, Serializable { private static final long serialVersionUID = 10200L; protected byte resetType = 1; protected byte incrementType = 5; protected JRGroup resetGroup = null; protected JRGroup incrementGroup = null; protected JRDatasetRun datasetRun; protected JRExpression incrementWhenExpression; protected JRBaseElementDataset() {} protected JRBaseElementDataset(JRElementDataset dataset) { if (dataset != null) { this.resetType = dataset.getResetType(); this.incrementType = dataset.getIncrementType(); this.resetGroup = dataset.getResetGroup(); this.incrementGroup = dataset.getIncrementGroup(); this.datasetRun = dataset.getDatasetRun(); this.incrementWhenExpression = dataset.getIncrementWhenExpression(); } } protected JRBaseElementDataset(JRElementDataset dataset, JRBaseObjectFactory factory) { factory.put(dataset, this); this.resetType = dataset.getResetType(); this.incrementType = dataset.getIncrementType(); this.resetGroup = factory.getGroup(dataset.getResetGroup()); this.incrementGroup = factory.getGroup(dataset.getIncrementGroup()); this.datasetRun = factory.getDatasetRun(dataset.getDatasetRun()); this.incrementWhenExpression = factory.getExpression(dataset.getIncrementWhenExpression()); } public byte getResetType() { return this.resetType; } public byte getIncrementType() { return this.incrementType; } public JRGroup getResetGroup() { return this.resetGroup; } public JRGroup getIncrementGroup() { return this.incrementGroup; } public JRDatasetRun getDatasetRun() { return this.datasetRun; } public JRExpression getIncrementWhenExpression() { return this.incrementWhenExpression; } public Object clone() { JRBaseElementDataset clone = null; try { clone = (JRBaseElementDataset)super.clone(); } catch (CloneNotSupportedException e) { throw new JRRuntimeException(e); } if (this.incrementWhenExpression != null) clone.incrementWhenExpression = (JRExpression)this.incrementWhenExpression.clone(); if (this.datasetRun != null) clone.datasetRun = (JRDatasetRun)this.datasetRun.clone(); return clone; } }