001: /* ===========================================================
002: * JFreeChart : a free chart library for the Java(tm) platform
003: * ===========================================================
004: *
005: * (C) Copyright 2000-2007, 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: * BoxAndWhiskerCategoryDataset.java
029: * ---------------------------------
030: * (C) Copyright 2003, 2007, by David Browning and Contributors.
031: *
032: * Original Author: David Browning (for Australian Institute of Marine
033: * Science);
034: * Contributor(s): -;
035: *
036: * $Id: BoxAndWhiskerCategoryDataset.java,v 1.3.2.2 2007/02/02 15:50:24 mungady Exp $
037: *
038: * Changes
039: * -------
040: * 05-Aug-2003 : Version 1, contributed by David Browning (DG);
041: * 27-Aug-2003 : Renamed getAverageValue --> getMeanValue, changed
042: * getAllOutliers to return a List rather than an array (DG);
043: * ------------- JFREECHART 1.0.x ---------------------------------------------
044: * 02-Feb-2007 : Removed author tags from all over JFreeChart sources (DG);
045: *
046: */
047:
048: package org.jfree.data.statistics;
049:
050: import java.util.List;
051:
052: import org.jfree.data.category.CategoryDataset;
053:
054: /**
055: * A category dataset that defines various medians, outliers and an average
056: * value for each item.
057: */
058: public interface BoxAndWhiskerCategoryDataset extends CategoryDataset {
059:
060: /**
061: * Returns the mean value for an item.
062: *
063: * @param row the row index (zero-based).
064: * @param column the column index (zero-based).
065: *
066: * @return The mean value.
067: */
068: public Number getMeanValue(int row, int column);
069:
070: /**
071: * Returns the average value for an item.
072: *
073: * @param rowKey the row key.
074: * @param columnKey the columnKey.
075: *
076: * @return The average value.
077: */
078: public Number getMeanValue(Comparable rowKey, Comparable columnKey);
079:
080: /**
081: * Returns the median value for an item.
082: *
083: * @param row the row index (zero-based).
084: * @param column the column index (zero-based).
085: *
086: * @return The median value.
087: */
088: public Number getMedianValue(int row, int column);
089:
090: /**
091: * Returns the median value for an item.
092: *
093: * @param rowKey the row key.
094: * @param columnKey the columnKey.
095: *
096: * @return The median value.
097: */
098: public Number getMedianValue(Comparable rowKey, Comparable columnKey);
099:
100: /**
101: * Returns the q1median value for an item.
102: *
103: * @param row the row index (zero-based).
104: * @param column the column index (zero-based).
105: *
106: * @return The q1median value.
107: */
108: public Number getQ1Value(int row, int column);
109:
110: /**
111: * Returns the q1median value for an item.
112: *
113: * @param rowKey the row key.
114: * @param columnKey the columnKey.
115: *
116: * @return The q1median value.
117: */
118: public Number getQ1Value(Comparable rowKey, Comparable columnKey);
119:
120: /**
121: * Returns the q3median value for an item.
122: *
123: * @param row the row index (zero-based).
124: * @param column the column index (zero-based).
125: *
126: * @return The q3median value.
127: */
128: public Number getQ3Value(int row, int column);
129:
130: /**
131: * Returns the q3median value for an item.
132: *
133: * @param rowKey the row key.
134: * @param columnKey the columnKey.
135: *
136: * @return The q3median value.
137: */
138: public Number getQ3Value(Comparable rowKey, Comparable columnKey);
139:
140: /**
141: * Returns the minimum regular (non-outlier) value for an item.
142: *
143: * @param row the row index (zero-based).
144: * @param column the column index (zero-based).
145: *
146: * @return The minimum regular value.
147: */
148: public Number getMinRegularValue(int row, int column);
149:
150: /**
151: * Returns the minimum regular (non-outlier) value for an item.
152: *
153: * @param rowKey the row key.
154: * @param columnKey the columnKey.
155: *
156: * @return The minimum regular value.
157: */
158: public Number getMinRegularValue(Comparable rowKey,
159: Comparable columnKey);
160:
161: /**
162: * Returns the maximum regular (non-outlier) value for an item.
163: *
164: * @param row the row index (zero-based).
165: * @param column the column index (zero-based).
166: *
167: * @return The maximum regular value.
168: */
169: public Number getMaxRegularValue(int row, int column);
170:
171: /**
172: * Returns the maximum regular (non-outlier) value for an item.
173: *
174: * @param rowKey the row key.
175: * @param columnKey the columnKey.
176: *
177: * @return The maximum regular value.
178: */
179: public Number getMaxRegularValue(Comparable rowKey,
180: Comparable columnKey);
181:
182: /**
183: * Returns the minimum outlier (non-farout) for an item.
184: *
185: * @param row the row index (zero-based).
186: * @param column the column index (zero-based).
187: *
188: * @return The minimum outlier.
189: */
190: public Number getMinOutlier(int row, int column);
191:
192: /**
193: * Returns the minimum outlier (non-farout) for an item.
194: *
195: * @param rowKey the row key.
196: * @param columnKey the columnKey.
197: *
198: * @return The minimum outlier.
199: */
200: public Number getMinOutlier(Comparable rowKey, Comparable columnKey);
201:
202: /**
203: * Returns the maximum outlier (non-farout) for an item.
204: *
205: * @param row the row index (zero-based).
206: * @param column the column index (zero-based).
207: *
208: * @return The maximum outlier.
209: */
210: public Number getMaxOutlier(int row, int column);
211:
212: /**
213: * Returns the maximum outlier (non-farout) for an item.
214: *
215: * @param rowKey the row key.
216: * @param columnKey the columnKey.
217: *
218: * @return The maximum outlier.
219: */
220: public Number getMaxOutlier(Comparable rowKey, Comparable columnKey);
221:
222: /**
223: * Returns a list of outlier values for an item. The list may be empty,
224: * but should never be <code>null</code>.
225: *
226: * @param row the row index (zero-based).
227: * @param column the column index (zero-based).
228: *
229: * @return A list of outliers for an item.
230: */
231: public List getOutliers(int row, int column);
232:
233: /**
234: * Returns a list of outlier values for an item. The list may be empty,
235: * but should never be <code>null</code>.
236: *
237: * @param rowKey the row key.
238: * @param columnKey the columnKey.
239: *
240: * @return A list of outlier values for an item.
241: */
242: public List getOutliers(Comparable rowKey, Comparable columnKey);
243:
244: }
|