1 47 48 package org.krysalis.jcharts.chartData.processors; 49 50 51 import java.awt.font.FontRenderContext ; 52 import java.util.Iterator ; 53 54 import org.krysalis.jcharts.axisChart.AxisChart; 55 import org.krysalis.jcharts.chartData.interfaces.IAxisChartDataSet; 56 import org.krysalis.jcharts.chartData.interfaces.IAxisPlotDataSet; 57 import org.krysalis.jcharts.chartData.interfaces.IDataSeries; 58 import org.krysalis.jcharts.chartData.interfaces.IStockChartDataSet; 59 import org.krysalis.jcharts.properties.DataAxisProperties; 60 import org.krysalis.jcharts.types.ChartType; 61 62 63 66 public class AxisChartDataProcessor 67 { 68 private double max; 69 private double min; 70 71 73 74 private int numberOfElementsInADataSet; 76 77 78 79 83 public AxisChartDataProcessor() 84 { 85 86 } 87 88 89 90 95 public void processData( AxisChart axisChart, FontRenderContext fontRenderContext ) 96 { 97 106 107 DataAxisProperties dataAxisProperties; 108 if( axisChart.getAxisProperties().isPlotHorizontal() ) 109 { 110 dataAxisProperties= (DataAxisProperties) axisChart.getAxisProperties().getXAxisProperties(); 111 } 112 else 113 { 114 dataAxisProperties= (DataAxisProperties) axisChart.getAxisProperties().getYAxisProperties(); 115 } 116 117 118 if( ! dataAxisProperties.hasUserDefinedScale() ) 120 { 121 this.processDataSet( (IDataSeries) axisChart.getIAxisDataSeries() ); 122 } 123 124 125 Iterator iterator = axisChart.getIAxisDataSeries().getIAxisPlotDataSetIterator(); 127 IAxisPlotDataSet iAxisPlotDataSet = ( IAxisPlotDataSet ) iterator.next(); 128 this.numberOfElementsInADataSet= iAxisPlotDataSet.getNumberOfDataItems(); 129 130 131 139 } 140 141 142 148 private void processDataSet( IDataSeries iDataSeries ) 149 { 150 IAxisPlotDataSet iAxisPlotDataSet; 151 Iterator iterator = iDataSeries.getIAxisPlotDataSetIterator(); 152 153 while( iterator.hasNext() ) 155 { 156 iAxisPlotDataSet = ( IAxisPlotDataSet ) iterator.next(); 157 158 if( iAxisPlotDataSet.getChartType().isStacked() ) 159 { 160 StackedDataProcessor.processData( ( IAxisChartDataSet ) iAxisPlotDataSet, this ); 162 } 163 else 164 { 165 if( iAxisPlotDataSet.getChartType().equals( ChartType.STOCK ) ) 168 { 169 StockDataProcessor.processData( ( IStockChartDataSet ) iAxisPlotDataSet, this ); 170 } 171 else 172 { 173 NonStackedDataProcessor.processData( ( IAxisChartDataSet ) iAxisPlotDataSet, this ); 174 } 175 } 176 } 177 } 178 179 180 184 void setMaxValue( double max ) 185 { 186 this.max = max; 187 } 188 189 190 195 public double getMaxValue() 196 { 197 return this.max; 198 } 199 200 201 205 void setMinValue( double min ) 206 { 207 this.min = min; 208 } 209 210 211 216 public double getMinValue() 217 { 218 return this.min; 219 } 220 221 222 public int getNumberOfElementsInADataSet() 223 { 224 return numberOfElementsInADataSet; 225 } 226 227 228 247 } 248 | Popular Tags |