001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.charts.design;
029:
030: import net.sf.jasperreports.charts.JRValueDataset;
031: import net.sf.jasperreports.engine.JRChartDataset;
032: import net.sf.jasperreports.engine.JRConstants;
033: import net.sf.jasperreports.engine.JRExpression;
034: import net.sf.jasperreports.engine.JRExpressionCollector;
035: import net.sf.jasperreports.engine.design.JRDesignChartDataset;
036: import net.sf.jasperreports.engine.design.JRVerifier;
037:
038: /**
039: * A data set that contains a single value. A value
040: * dataset is suitable for using with charts that show a single value against
041: * a potential range, such as meter chart or a thermometer chart.
042: *
043: * @author Barry Klawans (bklawans@users.sourceforge.net)
044: * @version $Id: JRDesignValueDataset.java 1794 2007-07-30 09:07:50Z teodord $
045: */
046: public class JRDesignValueDataset extends JRDesignChartDataset
047: implements JRValueDataset {
048:
049: /**
050: *
051: */
052: private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID;
053:
054: /**
055: * The expression that returns the single value contained in this dataset.
056: */
057: protected JRExpression valueExpression = null;
058:
059: /**
060: * Construct a new dataset that is a copy of an existing one.
061: *
062: * @param dataset the dataset to copy
063: */
064: public JRDesignValueDataset(JRChartDataset dataset) {
065: super (dataset);
066: }
067:
068: /**
069: *
070: */
071: public JRExpression getValueExpression() {
072: return valueExpression;
073: }
074:
075: /**
076: * Sets the expression that indicates the value held by this dataset.
077: *
078: * @param valueExpression the expression that returns the value held by
079: * this dataset
080: */
081: public void setValueExpression(JRExpression valueExpression) {
082: this .valueExpression = valueExpression;
083: }
084:
085: /**
086: * Returns the type of this dataset.
087: *
088: * @return the type of this dataset - always
089: * <code>JRChartDataset.VALUE_DATASET</code>
090: */
091: public byte getDatasetType() {
092: return JRChartDataset.VALUE_DATASET;
093: }
094:
095: /**
096: * Adds all the expression used by this plot with the specified collector.
097: * All collected expression that are also registered with a factory will
098: * be included with the report is compiled.
099: *
100: * @param collector the expression collector to use
101: */
102: public void collectExpressions(JRExpressionCollector collector) {
103: collector.collect(this );
104: }
105:
106: public void validate(JRVerifier verifier) {
107: verifier.verify(this);
108: }
109:
110: }
|