From: David G. <mu...@us...> - 2006-11-28 10:41:56
|
Update of /cvsroot/jfreechart/jfreechart/source/org/jfree/data/xy In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv24133/source/org/jfree/data/xy Modified Files: Tag: STABLE_1-0-0 DefaultHighLowDataset.java Log Message: 2006-11-28 David Gilbert <dav...@ob...> * source/org/jfree/data/xy/DefaultHighLowDataset.java (DefaultHighLowDataset): Added argument checks, (equals): New method override, * tests/org/jfree/data/xy/junit/DefaultHighLowDatasetTests.java: New file, * tests/org/jfree/data/xy/junit/DataXYPackageTests.java (suite): Added DefaultHighLowDatasetTests. Index: DefaultHighLowDataset.java =================================================================== RCS file: /cvsroot/jfreechart/jfreechart/source/org/jfree/data/xy/DefaultHighLowDataset.java,v retrieving revision 1.6.2.1 retrieving revision 1.6.2.2 diff -C2 -d -r1.6.2.1 -r1.6.2.2 *** DefaultHighLowDataset.java 25 Oct 2005 21:36:51 -0000 1.6.2.1 --- DefaultHighLowDataset.java 28 Nov 2006 10:41:51 -0000 1.6.2.2 *************** *** 3,7 **** * =========================================================== * ! * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html --- 3,7 ---- * =========================================================== * ! * (C) Copyright 2000-2006, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html *************** *** 28,32 **** * DefaultHighLowDataset.java * -------------------------- ! * (C) Copyright 2002-2005, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); --- 28,32 ---- * DefaultHighLowDataset.java * -------------------------- ! * (C) Copyright 2002-2006, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); *************** *** 43,46 **** --- 43,48 ---- * 15-Jul-2004 : Switched getX() with getXValue() and getY() with * getYValue() (DG); + * ------------- JFREECHART 1.0.x --------------------------------------------- + * 28-Nov-2006 : Added equals() method override (DG); * */ *************** *** 48,55 **** package org.jfree.data.xy; import java.util.Date; /** ! * A simple implementation of the {@link OHLCDataset}. */ public class DefaultHighLowDataset extends AbstractXYDataset --- 50,60 ---- package org.jfree.data.xy; + import java.util.Arrays; import java.util.Date; /** ! * A simple implementation of the {@link OHLCDataset} interface. See also ! * the {@link DefaultOHLCDataset} class, which provides another implementation ! * that is very similar. */ public class DefaultHighLowDataset extends AbstractXYDataset *************** *** 83,100 **** * This may be extended in a future version. * ! * @param seriesKey the key for the series. ! * @param date the dates. ! * @param high the high values. ! * @param low the low values. ! * @param open the open values. ! * @param close the close values. ! * @param volume the volume values. */ ! public DefaultHighLowDataset(Comparable seriesKey, ! Date[] date, ! double[] high, final double[] low, ! double[] open, final double[] close, ! double[] volume) { this.seriesKey = seriesKey; this.date = date; --- 88,110 ---- * This may be extended in a future version. * ! * @param seriesKey the key for the series (<code>null</code> not ! * permitted). ! * @param date the dates (<code>null</code> not permitted). ! * @param high the high values (<code>null</code> not permitted). ! * @param low the low values (<code>null</code> not permitted). ! * @param open the open values (<code>null</code> not permitted). ! * @param close the close values (<code>null</code> not permitted). ! * @param volume the volume values (<code>null</code> not permitted). */ ! public DefaultHighLowDataset(Comparable seriesKey, Date[] date, ! double[] high, double[] low, double[] open, double[] close, ! double[] volume) { + if (seriesKey == null) { + throw new IllegalArgumentException("Null 'series' argument."); + } + if (date == null) { + throw new IllegalArgumentException("Null 'date' argument."); + } this.seriesKey = seriesKey; this.date = date; *************** *** 108,125 **** /** ! * Returns the for the series stored in this dataset. * ! * @param i the index of the series. Currently ignored. * ! * @return The key for this series. */ ! public Comparable getSeriesKey(int i) { return this.seriesKey; } ! /** * Returns the x-value for one item in a series. The value returned is a * <code>Long</code> instance generated from the underlying ! * <code>Date</code> object. * * @param series the series (zero-based index). --- 118,137 ---- /** ! * Returns the key for the series stored in this dataset. * ! * @param series the index of the series (ignored, this dataset supports ! * only one series and this method always returns the key for series 0). * ! * @return The series key (never <code>null</code>). */ ! public Comparable getSeriesKey(int series) { return this.seriesKey; } ! /** * Returns the x-value for one item in a series. The value returned is a * <code>Long</code> instance generated from the underlying ! * <code>Date</code> object. To avoid generating a new object instance, ! * you might prefer to call {@link #getXValue(int, int)}. * * @param series the series (zero-based index). *************** *** 127,130 **** --- 139,145 ---- * * @return The x-value. + * + * @see #getXValue(int, int) + * @see #getXDate(int, int) */ public Number getX(int series, int item) { *************** *** 141,144 **** --- 156,161 ---- * * @return The x-value as a Date. + * + * @see #getX(int, int) */ public Date getXDate(int series, int item) { *************** *** 156,159 **** --- 173,178 ---- * * @return The y-value. + * + * @see #getYValue(int, int) */ public Number getY(int series, int item) { *************** *** 168,171 **** --- 187,192 ---- * * @return The high-value. + * + * @see #getHighValue(int, int) */ public Number getHigh(int series, int item) { *************** *** 181,184 **** --- 202,207 ---- * * @return The high-value. + * + * @see #getHigh(int, int) */ public double getHighValue(int series, int item) { *************** *** 198,201 **** --- 221,226 ---- * * @return The low-value. + * + * @see #getLowValue(int, int) */ public Number getLow(int series, int item) { *************** *** 211,214 **** --- 236,241 ---- * * @return The low-value. + * + * @see #getLow(int, int) */ public double getLowValue(int series, int item) { *************** *** 228,231 **** --- 255,260 ---- * * @return The open-value. + * + * @see #getOpenValue(int, int) */ public Number getOpen(int series, int item) { *************** *** 241,244 **** --- 270,275 ---- * * @return The open-value. + * + * @see #getOpen(int, int) */ public double getOpenValue(int series, int item) { *************** *** 258,261 **** --- 289,294 ---- * * @return The close-value. + * + * @see #getCloseValue(int, int) */ public Number getClose(int series, int item) { *************** *** 271,274 **** --- 304,309 ---- * * @return The close-value. + * + * @see #getClose(int, int) */ public double getCloseValue(int series, int item) { *************** *** 288,291 **** --- 323,328 ---- * * @return The volume-value. + * + * @see #getVolumeValue(int, int) */ public Number getVolume(int series, int item) { *************** *** 301,304 **** --- 338,343 ---- * * @return The volume-value. + * + * @see #getVolume(int, int) */ public double getVolumeValue(int series, int item) { *************** *** 334,340 **** /** * Constructs an array of Number objects from an array of doubles. * ! * @param data the double values to convert. * * @return The data as an array of Number objects. --- 373,419 ---- /** + * Tests this dataset for equality with an arbitrary instance. + * + * @param obj the object (<code>null</code> permitted). + * + * @return A boolean. + */ + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof DefaultHighLowDataset)) { + return false; + } + DefaultHighLowDataset that = (DefaultHighLowDataset) obj; + if (!this.seriesKey.equals(that.seriesKey)) { + return false; + } + if (!Arrays.equals(this.date, that.date)) { + return false; + } + if (!Arrays.equals(this.open, that.open)) { + return false; + } + if (!Arrays.equals(this.high, that.high)) { + return false; + } + if (!Arrays.equals(this.low, that.low)) { + return false; + } + if (!Arrays.equals(this.close, that.close)) { + return false; + } + if (!Arrays.equals(this.volume, that.volume)) { + return false; + } + return true; + } + + /** * Constructs an array of Number objects from an array of doubles. * ! * @param data the double values to convert (<code>null</code> not ! * permitted). * * @return The data as an array of Number objects. |