KickJava   Java API By Example, From Geeks To Geeks.

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


1 /***********************************************************************************************
2  * File Info: $Id: StockDataProcessor.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.IStockChartDataSet;
53
54
55 /*******************************************************************************************
56  * Custom processor for the Stock Chart as data is semi-processed by default.
57  *
58  *******************************************************************************************/

59 abstract class StockDataProcessor
60 {
61
62     /*******************************************************************************************
63      * Only need to loop through the 'high' to find MAX and 'low' to find MIN.
64      *
65      * @param iStockChartDataSet
66      * @param axisChartDataProcessor
67      ********************************************************************************************/

68     public static final void processData( IStockChartDataSet iStockChartDataSet,
69                                                       AxisChartDataProcessor axisChartDataProcessor )
70     {
71         //LOOP
72
for( int i=0; i < iStockChartDataSet.getNumberOfDataItems(); i++ )
73         {
74             //---look for MAX in 'high'.
75
if( iStockChartDataSet.getHighValue( i ) > axisChartDataProcessor.getMaxValue() )
76             {
77                 axisChartDataProcessor.setMaxValue( iStockChartDataSet.getHighValue( i ) );
78             }
79
80             //---look for MIN in 'Low'
81
if( iStockChartDataSet.getLowValue( i ) < axisChartDataProcessor.getMinValue() )
82             {
83                 axisChartDataProcessor.setMinValue( iStockChartDataSet.getLowValue( i ) );
84             }
85         }
86     }
87 }
88
Popular Tags