package org.das2.dataset; import org.das2.datum.Units; import org.das2.datum.Datum; /** A DataSet implementation that share properties, yUnits and * yUnits with the instance of AbstractDataSet it is associated with. * This class is provided so that sub-classes of AbstractDataSet can * extend this class when creating views of their data without having * to copy the immutable data AbstractDataSet contains. * */ public abstract class ViewDataSet implements DataSet { private DataSet source; protected ViewDataSet(DataSet source) { this.source= source; } /** Returns the value of the property that name represents * @param name String name of the property requested * @return the value of the property that name represents * */ public Object getProperty(String name) { return source.getProperty(name); } public java.util.Map getProperties() { return source.getProperties(); } public int getXLength() { return source.getXLength(); } public Datum getXTagDatum(int i) { return source.getXTagDatum(i); } public double getXTagDouble(int i, Units units) { return source.getXTagDouble(i,units); } public int getXTagInt(int i, Units units) { return source.getXTagInt(i,units); } /** Returns the Units object representing the unit type of the x tags * for this data set. * @return the x units * */ public Units getXUnits() { return source.getXUnits(); } /** Returns the Units object representing the unit type of the y tags * or y values for this data set. * @return the y units * */ public Units getYUnits() { return source.getYUnits(); } }