Files
HRMS/hrmsEjb/net/sf/jasperreports/charts/base/JRBaseTimeSeriesDataset.java
2025-07-28 13:56:49 +05:30

83 lines
2.7 KiB
Java

package net.sf.jasperreports.charts.base;
import net.sf.jasperreports.charts.JRTimeSeries;
import net.sf.jasperreports.charts.JRTimeSeriesDataset;
import net.sf.jasperreports.engine.JRChartDataset;
import net.sf.jasperreports.engine.JRExpressionCollector;
import net.sf.jasperreports.engine.base.JRBaseChartDataset;
import net.sf.jasperreports.engine.base.JRBaseObjectFactory;
import net.sf.jasperreports.engine.design.JRVerifier;
import net.sf.jasperreports.engine.design.events.JRChangeEventsSupport;
import net.sf.jasperreports.engine.design.events.JRPropertyChangeSupport;
public class JRBaseTimeSeriesDataset extends JRBaseChartDataset implements JRTimeSeriesDataset, JRChangeEventsSupport {
private static final long serialVersionUID = 10200L;
public static final String PROPERTY_TIME_PERIOD = "timePeriod";
private JRTimeSeries[] timeSeries = null;
private Class timePeriod;
private transient JRPropertyChangeSupport eventSupport;
protected JRBaseTimeSeriesDataset(JRTimeSeriesDataset dataset) {
super((JRChartDataset)dataset);
}
public JRBaseTimeSeriesDataset(JRTimeSeriesDataset dataset, JRBaseObjectFactory factory) {
super((JRChartDataset)dataset, factory);
this.timePeriod = dataset.getTimePeriod();
JRTimeSeries[] srcTimeSeries = dataset.getSeries();
if (srcTimeSeries != null && srcTimeSeries.length > 0) {
this.timeSeries = new JRTimeSeries[srcTimeSeries.length];
for (int i = 0; i < this.timeSeries.length; i++)
this.timeSeries[i] = factory.getTimeSeries(srcTimeSeries[i]);
}
}
public JRTimeSeries[] getSeries() {
return this.timeSeries;
}
public Class getTimePeriod() {
return this.timePeriod;
}
public void setTimePeriod(Class timePeriod) {
Object old = this.timePeriod;
this.timePeriod = timePeriod;
getEventSupport().firePropertyChange("timePeriod", old, this.timePeriod);
}
public byte getDatasetType() {
return 6;
}
public void collectExpressions(JRExpressionCollector collector) {
collector.collect(this);
}
public void validate(JRVerifier verifier) {
verifier.verify(this);
}
public Object clone() {
JRBaseTimeSeriesDataset clone = (JRBaseTimeSeriesDataset)super.clone();
if (this.timeSeries != null) {
clone.timeSeries = new JRTimeSeries[this.timeSeries.length];
for (int i = 0; i < this.timeSeries.length; i++)
this.timeSeries[i] = (JRTimeSeries)this.timeSeries[i].clone();
}
return clone;
}
public JRPropertyChangeSupport getEventSupport() {
synchronized (this) {
if (this.eventSupport == null)
this.eventSupport = new JRPropertyChangeSupport(this);
}
return this.eventSupport;
}
}