Frames | No Frames |
1: /* =========================================================== 2: * JFreeChart : a free chart library for the Java(tm) platform 3: * =========================================================== 4: * 5: * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors. 6: * 7: * Project Info: http://www.jfree.org/jfreechart/index.html 8: * 9: * This library is free software; you can redistribute it and/or modify it 10: * under the terms of the GNU Lesser General Public License as published by 11: * the Free Software Foundation; either version 2.1 of the License, or 12: * (at your option) any later version. 13: * 14: * This library is distributed in the hope that it will be useful, but 15: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 16: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 17: * License for more details. 18: * 19: * You should have received a copy of the GNU Lesser General Public 20: * License along with this library; if not, write to the Free Software 21: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 22: * USA. 23: * 24: * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 25: * in the United States and other countries.] 26: * 27: * ----------------- 28: * XYItemEntity.java 29: * ----------------- 30: * (C) Copyright 2002-2005, by Object Refinery Limited. 31: * 32: * Original Author: David Gilbert (for Object Refinery Limited); 33: * Contributor(s): Richard Atkinson; 34: * Christian W. Zuckschwerdt; 35: * 36: * $Id: XYItemEntity.java,v 1.5.2.1 2005/10/25 20:41:59 mungady Exp $ 37: * 38: * Changes: 39: * -------- 40: * 23-May-2002 : Version 1 (DG); 41: * 12-Jun-2002 : Added accessor methods and Javadoc comments (DG); 42: * 26-Jun-2002 : Added getImageMapAreaTag() method (DG); 43: * 05-Aug-2002 : Added new constructor to populate URLText 44: * Moved getImageMapAreaTag() to ChartEntity (superclass) (RA); 45: * 03-Oct-2002 : Fixed errors reported by Checkstyle (DG); 46: * 30-Jun-2003 : Added XYDataset reference (CZ); 47: * 20-May-2004 : Added equals() and clone() methods and implemented 48: * Serializable (DG); 49: * 11-Jan-2005 : Removed deprecated code in preparation for 1.0.0 release (DG); 50: * 51: */ 52: 53: package org.jfree.chart.entity; 54: 55: import java.awt.Shape; 56: 57: import org.jfree.data.xy.XYDataset; 58: 59: /** 60: * A chart entity that represents one item within an 61: * {@link org.jfree.chart.plot.XYPlot}. 62: */ 63: public class XYItemEntity extends ChartEntity { 64: 65: /** For serialization. */ 66: private static final long serialVersionUID = -3870862224880283771L; 67: 68: /** The dataset. */ 69: private transient XYDataset dataset; 70: 71: /** The series. */ 72: private int series; 73: 74: /** The item. */ 75: private int item; 76: 77: /** 78: * Creates a new entity. 79: * 80: * @param area the area. 81: * @param dataset the dataset. 82: * @param series the series (zero-based index). 83: * @param item the item (zero-based index). 84: * @param toolTipText the tool tip text. 85: * @param urlText the URL text for HTML image maps. 86: */ 87: public XYItemEntity(Shape area, 88: XYDataset dataset, int series, int item, 89: String toolTipText, String urlText) { 90: super(area, toolTipText, urlText); 91: this.dataset = dataset; 92: this.series = series; 93: this.item = item; 94: } 95: 96: /** 97: * Returns the dataset this entity refers to. 98: * 99: * @return The dataset. 100: */ 101: public XYDataset getDataset() { 102: return this.dataset; 103: } 104: 105: /** 106: * Sets the dataset this entity refers to. 107: * 108: * @param dataset the dataset. 109: */ 110: public void setDataset(XYDataset dataset) { 111: this.dataset = dataset; 112: } 113: 114: /** 115: * Returns the series index. 116: * 117: * @return The series index. 118: */ 119: public int getSeriesIndex() { 120: return this.series; 121: } 122: 123: /** 124: * Sets the series index. 125: * 126: * @param series the series index (zero-based). 127: */ 128: public void setSeriesIndex(int series) { 129: this.series = series; 130: } 131: 132: /** 133: * Returns the item index. 134: * 135: * @return The item index. 136: */ 137: public int getItem() { 138: return this.item; 139: } 140: 141: /** 142: * Sets the item index. 143: * 144: * @param item the item index (zero-based). 145: */ 146: public void setItem(int item) { 147: this.item = item; 148: } 149: 150: /** 151: * Tests the entity for equality with an arbitrary object. 152: * 153: * @param obj the object (<code>null</code> permitted). 154: * 155: * @return A boolean. 156: */ 157: public boolean equals(Object obj) { 158: if (obj == this) { 159: return true; 160: } 161: if (obj instanceof XYItemEntity && super.equals(obj)) { 162: XYItemEntity ie = (XYItemEntity) obj; 163: if (this.series != ie.series) { 164: return false; 165: } 166: if (this.item != ie.item) { 167: return false; 168: } 169: return true; 170: } 171: return false; 172: } 173: 174: /** 175: * Returns a string representation of this instance, useful for debugging 176: * purposes. 177: * 178: * @return A string. 179: */ 180: public String toString() { 181: return "XYItemEntity: series = " + getSeriesIndex() + ", item = " 182: + getItem() + ", dataset = " + getDataset(); 183: } 184: 185: }