Frames | No Frames |
1: /* =========================================================== 2: * JFreeChart : a free chart library for the Java(tm) platform 3: * =========================================================== 4: * 5: * (C) Copyright 2000-2007, 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-2007, 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: * Changes: 37: * -------- 38: * 23-May-2002 : Version 1 (DG); 39: * 12-Jun-2002 : Added accessor methods and Javadoc comments (DG); 40: * 26-Jun-2002 : Added getImageMapAreaTag() method (DG); 41: * 05-Aug-2002 : Added new constructor to populate URLText 42: * Moved getImageMapAreaTag() to ChartEntity (superclass) (RA); 43: * 03-Oct-2002 : Fixed errors reported by Checkstyle (DG); 44: * 30-Jun-2003 : Added XYDataset reference (CZ); 45: * 20-May-2004 : Added equals() and clone() methods and implemented 46: * Serializable (DG); 47: * 11-Jan-2005 : Removed deprecated code in preparation for 1.0.0 release (DG); 48: * 49: */ 50: 51: package org.jfree.chart.entity; 52: 53: import java.awt.Shape; 54: 55: import org.jfree.data.xy.XYDataset; 56: 57: /** 58: * A chart entity that represents one item within an 59: * {@link org.jfree.chart.plot.XYPlot}. 60: */ 61: public class XYItemEntity extends ChartEntity { 62: 63: /** For serialization. */ 64: private static final long serialVersionUID = -3870862224880283771L; 65: 66: /** The dataset. */ 67: private transient XYDataset dataset; 68: 69: /** The series. */ 70: private int series; 71: 72: /** The item. */ 73: private int item; 74: 75: /** 76: * Creates a new entity. 77: * 78: * @param area the area. 79: * @param dataset the dataset. 80: * @param series the series (zero-based index). 81: * @param item the item (zero-based index). 82: * @param toolTipText the tool tip text. 83: * @param urlText the URL text for HTML image maps. 84: */ 85: public XYItemEntity(Shape area, 86: XYDataset dataset, int series, int item, 87: String toolTipText, String urlText) { 88: super(area, toolTipText, urlText); 89: this.dataset = dataset; 90: this.series = series; 91: this.item = item; 92: } 93: 94: /** 95: * Returns the dataset this entity refers to. 96: * 97: * @return The dataset. 98: */ 99: public XYDataset getDataset() { 100: return this.dataset; 101: } 102: 103: /** 104: * Sets the dataset this entity refers to. 105: * 106: * @param dataset the dataset. 107: */ 108: public void setDataset(XYDataset dataset) { 109: this.dataset = dataset; 110: } 111: 112: /** 113: * Returns the series index. 114: * 115: * @return The series index. 116: */ 117: public int getSeriesIndex() { 118: return this.series; 119: } 120: 121: /** 122: * Sets the series index. 123: * 124: * @param series the series index (zero-based). 125: */ 126: public void setSeriesIndex(int series) { 127: this.series = series; 128: } 129: 130: /** 131: * Returns the item index. 132: * 133: * @return The item index. 134: */ 135: public int getItem() { 136: return this.item; 137: } 138: 139: /** 140: * Sets the item index. 141: * 142: * @param item the item index (zero-based). 143: */ 144: public void setItem(int item) { 145: this.item = item; 146: } 147: 148: /** 149: * Tests the entity for equality with an arbitrary object. 150: * 151: * @param obj the object (<code>null</code> permitted). 152: * 153: * @return A boolean. 154: */ 155: public boolean equals(Object obj) { 156: if (obj == this) { 157: return true; 158: } 159: if (obj instanceof XYItemEntity && super.equals(obj)) { 160: XYItemEntity ie = (XYItemEntity) obj; 161: if (this.series != ie.series) { 162: return false; 163: } 164: if (this.item != ie.item) { 165: return false; 166: } 167: return true; 168: } 169: return false; 170: } 171: 172: /** 173: * Returns a string representation of this instance, useful for debugging 174: * purposes. 175: * 176: * @return A string. 177: */ 178: public String toString() { 179: return "XYItemEntity: series = " + getSeriesIndex() + ", item = " 180: + getItem() + ", dataset = " + getDataset(); 181: } 182: 183: }