001: /***********************************************************************************************
002: * File Info: $Id: ScatterPlotDataSeries.java,v 1.2 2003/08/08 08:51:27 nicolaken Exp $
003: * Copyright (C) 2002
004: * Author: Nathaniel G. Auvil
005: * Contributor(s):
006: *
007: * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
008: *
009: * Redistribution and use of this software and associated documentation ("Software"), with or
010: * without modification, are permitted provided that the following conditions are met:
011: *
012: * 1. Redistributions of source code must retain copyright statements and notices.
013: * Redistributions must also contain a copy of this document.
014: *
015: * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
016: * conditions and the following disclaimer in the documentation and/or other materials
017: * provided with the distribution.
018: *
019: * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
020: * products derived from this Software without prior written permission of Nathaniel G.
021: * Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
022: *
023: * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
024: * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
025: * registered trademark of Nathaniel G. Auvil.
026: *
027: * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
028: *
029: * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
030: * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
031: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
032: * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
033: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
034: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
035: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
036: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
037: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
038: ************************************************************************************************/package org.krysalis.jcharts.chartData;
039:
040: import org.krysalis.jcharts.chartData.interfaces.IScatterPlotDataSeries;
041: import org.krysalis.jcharts.chartData.interfaces.IScatterPlotDataSet;
042: import org.krysalis.jcharts.test.HTMLGenerator;
043: import org.krysalis.jcharts.test.HTMLTestable;
044:
045: /*********************************************************************************************
046: * Collection of all IAxisPlotDataSets to display in an AxisChart
047: *
048: **********************************************************************************************/
049: public class ScatterPlotDataSeries extends AxisDataSeries implements
050: IScatterPlotDataSeries, HTMLTestable {
051: //private IScatterPlotDataSet iScatterPlotDataSet;
052:
053: /******************************************************************************************
054: * Constructor
055: *
056: * @param xAxisTitle if this is NULL, no title will be displayed
057: * @param yAxisTitle if this is NULL, no title will be displayed
058: * @param chartTitle if this is NULL, no title will be displayed
059: *******************************************************************************************/
060: public ScatterPlotDataSeries(
061: IScatterPlotDataSet iScatterPlotDataSet, String xAxisTitle,
062: String yAxisTitle, String chartTitle) {
063: super (xAxisTitle, yAxisTitle, chartTitle);
064: super .addIAxisPlotDataSet(iScatterPlotDataSet);
065: }
066:
067: /******************************************************************************************
068: * Returns the number of IAxisChartDataSet Objects in this series
069: *
070: * @return int
071: * @deprecated
072: ******************************************************************************************
073: public int getNumberOfIAxisChartDataSets()
074: {
075: return this.dataSets.size();
076: }
077:
078:
079: /******************************************************************************************
080: * Returns the number of IAxisPlotDataSet Objects in this series
081: *
082: * @return int
083: ******************************************************************************************
084: public int size()
085: {
086: return this.dataSets.size();
087: }
088:
089:
090: /******************************************************************************************
091: *
092: * @return IScatterPlotDataSet
093: * @deprecated
094: ******************************************************************************************
095: public IScatterPlotDataSet getIScatterPlotDataSet()
096: {
097: return this.iScatterPlotDataSet;
098: }
099:
100:
101:
102: /******************************************************************************************
103: * Returns an Iterator over a List of IAxisPlotDataSet Objects
104: *
105: * @return Iterator over a List of IAxisPlotDataSet Objects
106: *******************************************************************************************/
107: /*
108: public Iterator getIAxisPlotDataSetIterator()
109: {
110: return this.dataSets.values().iterator();
111: }
112: */
113:
114: /******************************************************************************************
115: * Returns the total number data dimensions in all of the IAxisChartDataSets contained in
116: * this collection. For example, if this contains two IAxisChartDataSets and each one
117: * contains 3 dimensions ( 3 lines and 3 sets of points ), this should return six. This
118: * provides a means to avoid looping the contents of the series each time i need the value.
119: *
120: // * @return int
121: ******************************************************************************************
122: public int getTotalNumberOfDataSets()
123: {
124: return this.totalNumberOfDataSets;
125: }
126:
127:
128: /*********************************************************************************************
129: * Enables the testing routines to display the contents of this Object.
130: *
131: * @param htmlGenerator
132: **********************************************************************************************/
133: public void toHTML(HTMLGenerator htmlGenerator) {
134: /*
135: htmlGenerator.propertiesTableRowStart();
136: {
137: htmlGenerator.propertiesTableStart( this.getClass().getName() );
138: htmlGenerator.addTableRow( "xAxisLabels", HTMLGenerator.arrayToString( this.xAxisLabels ) );
139: htmlGenerator.addTableRow( "totalNumberOfDataSets", Integer.toString( totalNumberOfDataSets ) );
140: htmlGenerator.propertiesTableEnd();
141: }
142: htmlGenerator.propertiesTableRowEnd();
143: */
144:
145: /*
146: htmlGenerator.propertiesTableRowStart();
147: {
148: //---loop the data sets
149: Iterator iterator=this.getIAxisPlotDataSetIterator();
150: Object object;
151: while( iterator.hasNext() )
152: {
153: object=iterator.next();
154: if( object instanceof HTMLTestable )
155: {
156: ( (HTMLTestable) object ).toHTML( htmlGenerator );
157: }
158: }
159: }
160: htmlGenerator.propertiesTableRowEnd();
161: */
162: }
163: }
|