    001    /* ===========================================================
    002     * JFreeChart : a free chart library for the Java(tm) platform
    003     * ===========================================================
    004     *
    005     * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
    006     *
    007     * Project Info:  http://www.jfree.org/jfreechart/index.html
    008     *
    009     * This library is free software; you can redistribute it and/or modify it
    010     * under the terms of the GNU Lesser General Public License as published by
    011     * the Free Software Foundation; either version 2.1 of the License, or
    012     * (at your option) any later version.
    013     *
    014     * This library is distributed in the hope that it will be useful, but
    015     * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    016     * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
    017     * License for more details.
    018     *
    019     * You should have received a copy of the GNU Lesser General Public
    020     * License along with this library; if not, write to the Free Software
    021     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
    022     * USA.
    023     *
    024     * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
    025     * in the United States and other countries.]
    026     *
    027     * ----------------------
    028     * IntervalXYDataset.java
    029     * ----------------------
    030     * (C) Copyright 2001-2004, by Object Refinery Limited and Contributors.
    031     *
    032     * Original Author:  Mark Watson (www.markwatson.com);
    033     * Contributor(s):   David Gilbert (for Object Refinery Limited);
    034     *
    035     * $Id: IntervalXYDataset.java,v 1.2.2.1 2005/10/25 21:36:51 mungady Exp $
    036     *
    037     * Changes
    038     * -------
    039     * 18-Oct-2001 : Version 1, thanks to Mark Watson (DG);
    040     * 22-Oct-2001 : Renamed DataSource.java --> Dataset.java etc (DG);
    041     * 06-May-2004 : Added methods that return double primitives (DG);
    042     *
    043     */
    044
    045    package org.jfree.data.xy;
    046
    047
    048    /**
    049     * An extension of the {@link XYDataset} interface that allows a range of data
    050     * to be defined for the X values, the Y values, or both the X and Y values.
    051     * This interface is used to support (among other things) bar plots against
    052     * numerical axes.
    053     */
    054    public interface IntervalXYDataset extends XYDataset {
    055
    056        /**
    057         * Returns the starting X value for the specified series and item.
    058         *
    059         * @param series  the series index (zero-based).
    060         * @param item  the item index (zero-based).
    061         *
    062         * @return The value.
    063         */
    064        public Number getStartX(int series, int item);
    065
    066        /**
    067         * Returns the start x-value (as a double primitive) for an item within a
    068         * series.
    069         *
    070         * @param series  the series (zero-based index).
    071         * @param item  the item (zero-based index).
    072         *
    073         * @return The start x-value.
    074         */
    075        public double getStartXValue(int series, int item);
    076
    077        /**
    078         * Returns the ending X value for the specified series and item.
    079         *
    080         * @param series  the series index (zero-based).
    081         * @param item  the item index (zero-based).
    082         *
    083         * @return The value.
    084         */
    085        public Number getEndX(int series, int item);
    086
    087        /**
    088         * Returns the end x-value (as a double primitive) for an item within a
    089         * series.
    090         *
    091         * @param series  the series index (zero-based).
    092         * @param item  the item index (zero-based).
    093         *
    094         * @return The end x-value.
    095         */
    096        public double getEndXValue(int series, int item);
    097
    098        /**
    099         * Returns the starting Y value for the specified series and item.
    100         *
    101         * @param series  the series index (zero-based).
    102         * @param item  the item index (zero-based).
    103         *
    104         * @return The value.
    105         */
    106        public Number getStartY(int series, int item);
    107
    108        /**
    109         * Returns the start y-value (as a double primitive) for an item within a
    110         * series.
    111         *
    112         * @param series  the series index (zero-based).
    113         * @param item  the item index (zero-based).
    114         *
    115         * @return The start y-value.
    116         */
    117        public double getStartYValue(int series, int item);
    118
    119        /**
    120         * Returns the ending Y value for the specified series and item.
    121         *
    122         * @param series  the series index (zero-based).
    123         * @param item  the item index (zero-based).
    124         *
    125         * @return The value.
    126         */
    127        public Number getEndY(int series, int item);
    128
    129        /**
    130         * Returns the end y-value (as a double primitive) for an item within a
    131         * series.
    132         *
    133         * @param series  the series index (zero-based).
    134         * @param item  the item index (zero-based).
    135         *
    136         * @return The end y-value.
    137         */
    138        public double getEndYValue(int series, int item);
    139
    140    }