package org.krysalis.jcharts.chartData.processors;
import org.krysalis.jcharts.chartData.interfaces.IRadarChartDataSet;
/**
* Utility class to process the RadarChartDataSet
*
* @author Rami Hansenne
*/
final public class RadarChartDataProcessor
{
private IRadarChartDataSet iRadarChartDataSet;
private double minValue = Double.MAX_VALUE;
private double maxValue = Double.MIN_VALUE;
/******************************************************************************************
* Constructor
*
* @param iRadarChartDataSet
*******************************************************************************************/
public RadarChartDataProcessor( IRadarChartDataSet iRadarChartDataSet )
{
this.iRadarChartDataSet = iRadarChartDataSet;
}
/*******************************************************************************************
* This method should do a single pass through the data set and calculate all needed values,
* such as: min, max, sum, etc... so that we can do this in one pass through the data.
* Rather than once for each.
*
********************************************************************************************/
public void processData()
{
for( int i = 0; i < iRadarChartDataSet.getNumberOfDataSets(); i++ )
{
for( int j = 0; j < iRadarChartDataSet.getDataSetSize(); j++ )
{
double value = iRadarChartDataSet.getValue(i,j);
if (value>maxValue) maxValue = value;
if (value<minValue) minValue = value;
}
}
}
public double getMinValue()
{
return minValue;
}
public double getMaxValue()
{
return maxValue;
}
}