001: /***********************************************************************************************
002: * File Info: $Id: IAxisDataSeries.java,v 1.2 2003/08/28 00:56:34 nathaniel_auvil 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.interfaces;
039:
040: import org.krysalis.jcharts.chartData.ChartDataException;
041: import org.krysalis.jcharts.properties.PropertyException;
042: import org.krysalis.jcharts.types.ChartType;
043:
044: import java.util.Iterator;
045:
046: public interface IAxisDataSeries extends IData {
047:
048: /******************************************************************************************
049: * Returns the x-axis title.
050: *
051: * @return String the x-axis title. If this returns NULL, no title will be displayed.
052: ******************************************************************************************/
053: public String getXAxisTitle();
054:
055: /******************************************************************************************
056: * Returns the y-axis title.
057: *
058: * @return String the y-axis title. If this returns NULL, no title will be displayed.
059: ******************************************************************************************/
060: public String getYAxisTitle();
061:
062: /******************************************************************************************
063: * Returns the chart title.
064: *
065: * @return String the chart title. If this returns NULL, no title will be displayed.
066: ******************************************************************************************/
067: public String getChartTitle();
068:
069: /*********************************************************************************************
070: * Validates the DataSeries implementation. This will only get called if the ChartProperties
071: * flag to validate is true.
072: *
073: * @throws ChartDataException
074: * @throws PropertyException
075: * @since 0.7.0
076: * @see org.krysalis.jcharts.properties.ChartProperties#setValidate( boolean )
077: *********************************************************************************************/
078: public void validate() throws ChartDataException, PropertyException;
079:
080: public Iterator getIAxisPlotDataSetIterator();
081:
082: public void addIAxisPlotDataSet(IAxisPlotDataSet iAxisPlotDataSet);
083:
084: public IAxisPlotDataSet getIAxisPlotDataSet(ChartType chartType);
085:
086: /******************************************************************************************
087: * Returns the total number data dimensions in all of the IAxisChartDataSets contained in
088: * this collection. For example, if this contains two IAxisChartDataSets and each one
089: * contains 3 dimensions ( 3 lines and 3 sets of points ), this should return six. This
090: * provides a means to avoid looping the contents of the series each time i need the value.
091: *
092: * @return int
093: ******************************************************************************************/
094: public int getTotalNumberOfDataSets();
095:
096: /******************************************************************************************
097: * Returns the number of IAxisPlotDataSet Objects in this series
098: *
099: * @return int
100: ******************************************************************************************/
101: int size();
102:
103: }
|