KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > krysalis > jcharts > chartData > processors > NonStackedDataProcessor


1 /***********************************************************************************************
2  * File Info: $Id: NonStackedDataProcessor.java,v 1.1 2003/05/17 16:57:50 nathaniel_auvil Exp $
3  * Copyright (C) 2000
4  * Author: Nathaniel G. Auvil
5  * Contributor(s):
6  *
7  * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
8  *
9  * Redistribution and use of this software and associated documentation
10  * ("Software"), with or without modification, are permitted provided
11  * that the following conditions are met:
12  *
13  * 1. Redistributions of source code must retain copyright
14  * statements and notices. Redistributions must also contain a
15  * copy of this document.
16  *
17  * 2. Redistributions in binary form must reproduce the
18  * above copyright notice, this list of conditions and the
19  * following disclaimer in the documentation and/or other
20  * materials provided with the distribution.
21  *
22  * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to
23  * endorse or promote products derived from this Software without
24  * prior written permission of Nathaniel G. Auvil. For written
25  * permission, please contact nathaniel_auvil@users.sourceforge.net
26  *
27  * 4. Products derived from this Software may not be called "jCharts"
28  * nor may "jCharts" appear in their names without prior written
29  * permission of Nathaniel G. Auvil. jCharts is a registered
30  * trademark of Nathaniel G. Auvil.
31  *
32  * 5. Due credit should be given to the jCharts Project
33  * (http://jcharts.sourceforge.net/).
34  *
35  * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS
36  * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
37  * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
38  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
39  * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
40  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
41  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
42  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46  * OF THE POSSIBILITY OF SUCH DAMAGE.
47  ************************************************************************************************/

48
49 package org.krysalis.jcharts.chartData.processors;
50
51
52 import org.krysalis.jcharts.chartData.interfaces.IAxisChartDataSet;
53
54
55 /*******************************************************************************************
56  *
57  *
58  *******************************************************************************************/

59 abstract class NonStackedDataProcessor
60 {
61
62     /*******************************************************************************************
63      * Does a single pass through the data set and calculates the min, max, and label dimensions.
64      * This stuff is grouped together so we can try to limit the number of passes through the data.
65      *
66      * @param iAxisChartDataSet
67      * @param axisChartDataProcessor
68      ********************************************************************************************/

69     public static final void processData( IAxisChartDataSet iAxisChartDataSet,
70                                                       AxisChartDataProcessor axisChartDataProcessor )
71     {
72         //LOOP
73
for( int i = 0; i < iAxisChartDataSet.getNumberOfDataItems(); i++ )
74         {
75             //LOOP
76
for( int j = 0; j < iAxisChartDataSet.getNumberOfDataSets(); j++ )
77             {
78                 if( Double.isNaN( iAxisChartDataSet.getValue( j, i ) ) )
79                 {
80                     continue;
81                 }
82
83                 if( iAxisChartDataSet.getValue( j, i ) > axisChartDataProcessor.getMaxValue() )
84                 {
85                     axisChartDataProcessor.setMaxValue( iAxisChartDataSet.getValue( j, i ) );
86                 }
87
88                 if( iAxisChartDataSet.getValue( j, i ) < axisChartDataProcessor.getMinValue() )
89                 {
90                     axisChartDataProcessor.setMinValue( iAxisChartDataSet.getValue( j, i ) );
91                 }
92             }
93         }
94     }
95 }
96
Popular Tags