KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfree > chart > labels > StandardXYItemLabelGenerator


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  * StandardXYItemLabelGenerator.java
29  * ---------------------------------
30  * (C) Copyright 2001-2005, by Object Refinery Limited.
31  *
32  * Original Author: David Gilbert (for Object Refinery Limited);
33  * Contributor(s): -;
34  *
35  * $Id: StandardXYItemLabelGenerator.java,v 1.2.2.1 2005/10/25 20:49:02 mungady Exp $
36  *
37  * Changes
38  * -------
39  * 13-Dec-2001 : Version 1 (DG);
40  * 16-Jan-2002 : Completed Javadocs (DG);
41  * 02-Apr-2002 : Modified to handle null y-values (DG);
42  * 09-Apr-2002 : Added formatting objects for the x and y values (DG);
43  * 30-May-2002 : Added series name to standard tool tip (DG);
44  * 26-Sep-2002 : Fixed errors reported by Checkstyle (DG);
45  * 23-Mar-2003 : Implemented Serializable (DG);
46  * 13-Aug-2003 : Implemented Cloneable (DG);
47  * 17-Nov-2003 : Implemented PublicCloneable (DG);
48  * 25-Feb-2004 : Renamed XYToolTipGenerator --> XYItemLabelGenerator and
49  * StandardXYToolTipGenerator -->
50  * StandardXYItemLabelGenerator (DG);
51  * 26-Feb-2004 : Modified to use MessageFormat (DG);
52  * 27-Feb-2004 : Added abstract superclass (DG);
53  * 11-May-2004 : Split into StandardXYToolTipGenerator and
54  * StandardXYLabelGenerator (DG);
55  * 20-Apr-2005 : Renamed StandardXYLabelGenerator
56  * --> StandardXYItemLabelGenerator (DG);
57  *
58  */

59
60 package org.jfree.chart.labels;
61
62 import java.io.Serializable JavaDoc;
63 import java.text.DateFormat JavaDoc;
64 import java.text.NumberFormat JavaDoc;
65
66 import org.jfree.data.xy.XYDataset;
67 import org.jfree.util.PublicCloneable;
68
69 /**
70  * A standard item label generator for plots that use data from an
71  * {@link org.jfree.data.xy.XYDataset}.
72  */

73 public class StandardXYItemLabelGenerator extends AbstractXYItemLabelGenerator
74                                           implements XYItemLabelGenerator,
75                                                      Cloneable JavaDoc,
76                                                      PublicCloneable,
77                                                      Serializable JavaDoc {
78
79     /** For serialization. */
80     private static final long serialVersionUID = 7807668053171837925L;
81     
82     /** The default item label format. */
83     public static final String JavaDoc DEFAULT_ITEM_LABEL_FORMAT = "{2}";
84
85     /**
86      * Creates an item label generator using default number formatters.
87      */

88     public StandardXYItemLabelGenerator() {
89         this(
90             DEFAULT_ITEM_LABEL_FORMAT,
91             NumberFormat.getNumberInstance(), NumberFormat.getNumberInstance()
92         );
93     }
94
95
96     /**
97      * Creates an item label generator using the specified number formatters.
98      *
99      * @param formatString the item label format string (<code>null</code> not
100      * permitted).
101      * @param xFormat the format object for the x values (<code>null</code>
102      * not permitted).
103      * @param yFormat the format object for the y values (<code>null</code>
104      * not permitted).
105      */

106     public StandardXYItemLabelGenerator(String JavaDoc formatString,
107                                         NumberFormat JavaDoc xFormat,
108                                         NumberFormat JavaDoc yFormat) {
109         
110         super(formatString, xFormat, yFormat);
111     
112     }
113
114     /**
115      * Creates an item label generator using the specified number formatters.
116      *
117      * @param formatString the item label format string (<code>null</code>
118      * not permitted).
119      * @param xFormat the format object for the x values (<code>null</code>
120      * not permitted).
121      * @param yFormat the format object for the y values (<code>null</code>
122      * not permitted).
123      */

124     public StandardXYItemLabelGenerator(String JavaDoc formatString,
125                                         DateFormat JavaDoc xFormat,
126                                         NumberFormat JavaDoc yFormat) {
127         
128         super(formatString, xFormat, yFormat);
129     
130     }
131
132     /**
133      * Creates a label generator using the specified date formatters.
134      *
135      * @param formatString the label format string (<code>null</code> not
136      * permitted).
137      * @param xFormat the format object for the x values (<code>null</code>
138      * not permitted).
139      * @param yFormat the format object for the y values (<code>null</code>
140      * not permitted).
141      */

142     public StandardXYItemLabelGenerator(String JavaDoc formatString,
143                                         DateFormat JavaDoc xFormat,
144                                         DateFormat JavaDoc yFormat) {
145         
146         super(formatString, xFormat, yFormat);
147     
148     }
149
150     /**
151      * Generates the item label text for an item in a dataset.
152      *
153      * @param dataset the dataset (<code>null</code> not permitted).
154      * @param series the series index (zero-based).
155      * @param item the item index (zero-based).
156      *
157      * @return The label text (possibly <code>null</code>).
158      */

159     public String JavaDoc generateLabel(XYDataset dataset, int series, int item) {
160         return generateLabelString(dataset, series, item);
161     }
162
163     /**
164      * Returns an independent copy of the generator.
165      *
166      * @return A clone.
167      *
168      * @throws CloneNotSupportedException if cloning is not supported.
169      */

170     public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
171         return super.clone();
172     }
173     
174     /**
175      * Tests this object for equality with an arbitrary object.
176      *
177      * @param obj the other object (<code>null</code> permitted).
178      *
179      * @return A boolean.
180      */

181     public boolean equals(Object JavaDoc obj) {
182         if (obj == this) {
183             return true;
184         }
185         if (obj instanceof StandardXYItemLabelGenerator) {
186             return super.equals(obj);
187         }
188         return false;
189     }
190
191 }
192
Popular Tags