package jas.hist.util;
import jas.hist.HasScatterPlotData;
import jas.hist.Rebinnable2DHistogramData;
import jas.hist.ScatterEnumeration;
/**
* A ScatterAdapter takes a Rebinnable2DHistogramData source which (optionally)
* also implements HasScatterPlotData, and in turn provides the same interface
* to its observers.
*
* It is designed to be used as a base class for classes that do some more interesting
* transformation of the data.
*/
public class ScatterAdapter extends TwoDAdapter implements HasScatterPlotData
{
protected HasScatterPlotData scatter;
public ScatterAdapter(Rebinnable2DHistogramData source)
{
super(source);
if (source instanceof HasScatterPlotData) scatter = (HasScatterPlotData) source;
}
public ScatterEnumeration startEnumeration(double xMin, double xMax, double yMin, double yMax)
{
if (scatter == null) throw new RuntimeException("No Scatter Plot Data Awailable");
return scatter.startEnumeration(xMin,xMax,yMin,yMax);
}
public ScatterEnumeration startEnumeration()
{
if (scatter == null) throw new RuntimeException("No Scatter Plot Data Awailable");
return scatter.startEnumeration();
}
public boolean hasScatterPlotData()
{
return scatter != null && scatter.hasScatterPlotData();
}
}