package net.sf.jasperreports.charts.base; import java.io.Serializable; import net.sf.jasperreports.charts.JRTimeSeries; import net.sf.jasperreports.engine.JRExpression; import net.sf.jasperreports.engine.JRHyperlink; import net.sf.jasperreports.engine.JRRuntimeException; import net.sf.jasperreports.engine.base.JRBaseObjectFactory; public class JRBaseTimeSeries implements JRTimeSeries, Serializable { private static final long serialVersionUID = 10200L; protected JRExpression seriesExpression = null; protected JRExpression timePeriodExpression = null; protected JRExpression valueExpression = null; protected JRExpression labelExpression = null; protected JRHyperlink itemHyperlink; protected JRBaseTimeSeries() {} public JRBaseTimeSeries(JRTimeSeries timeSeries, JRBaseObjectFactory factory) { factory.put(timeSeries, this); this.seriesExpression = factory.getExpression(timeSeries.getSeriesExpression()); this.timePeriodExpression = factory.getExpression(timeSeries.getTimePeriodExpression()); this.valueExpression = factory.getExpression(timeSeries.getValueExpression()); this.labelExpression = factory.getExpression(timeSeries.getLabelExpression()); this.itemHyperlink = factory.getHyperlink(timeSeries.getItemHyperlink()); } public JRExpression getSeriesExpression() { return this.seriesExpression; } public JRExpression getTimePeriodExpression() { return this.timePeriodExpression; } public JRExpression getValueExpression() { return this.valueExpression; } public JRExpression getLabelExpression() { return this.labelExpression; } public JRHyperlink getItemHyperlink() { return this.itemHyperlink; } public Object clone() { JRBaseTimeSeries clone = null; try { clone = (JRBaseTimeSeries)super.clone(); } catch (CloneNotSupportedException e) { throw new JRRuntimeException(e); } if (this.seriesExpression != null) clone.seriesExpression = (JRExpression)this.seriesExpression.clone(); if (this.timePeriodExpression != null) clone.timePeriodExpression = (JRExpression)this.timePeriodExpression.clone(); if (this.valueExpression != null) clone.valueExpression = (JRExpression)this.valueExpression.clone(); if (this.labelExpression != null) clone.labelExpression = (JRExpression)this.labelExpression.clone(); if (this.itemHyperlink != null) clone.itemHyperlink = (JRHyperlink)this.itemHyperlink.clone(); return clone; } }