01: /*
02: * ============================================================================
03: * GNU Lesser General Public License
04: * ============================================================================
05: *
06: * JasperReports - Free Java report-generating library.
07: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
08: *
09: * This library is free software; you can redistribute it and/or
10: * modify it under the terms of the GNU Lesser General Public
11: * License as published by the Free Software Foundation; either
12: * version 2.1 of the License, or (at your option) any later version.
13: *
14: * This library is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17: * Lesser General Public 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22: *
23: * JasperSoft Corporation
24: * 303 Second Street, Suite 450 North
25: * San Francisco, CA 94107
26: * http://www.jaspersoft.com
27: */
28: package net.sf.jasperreports.engine;
29:
30: /**
31: * Element datasets are used to represent the report data needed to generate a chart or crosstab.
32: * The dataset structure may vary with each chart type or crosstab.
33: * This is the superinterface for all datasets and contains common dataset properties.
34: *
35: * @author Teodor Danciu (teodord@users.sourceforge.net)
36: * @version $Id: JRElementDataset.java 1317 2006-06-30 16:02:41Z lucianc $
37: */
38: public interface JRElementDataset {
39:
40: /**
41: * Gets the reset type. This specifies the range of report data used for filling the dataset.
42: * @return one of the reset constants in {@link JRVariable}
43: */
44: public byte getResetType();
45:
46: /**
47: * Gets the selected reset group in case of reset type group.
48: */
49: public JRGroup getResetGroup();
50:
51: /**
52: * Returns the increment type. This specifies dataset values increment step.
53: * @return one of the reset constants in {@link JRVariable}, since the increment type uses the same
54: * constants as the reset type.
55: */
56: public byte getIncrementType();
57:
58: /**
59: * Gets the selected increment group in case of increment type group.
60: */
61: public JRGroup getIncrementGroup();
62:
63: /**
64: *
65: */
66: public void collectExpressions(JRExpressionCollector collector);
67:
68: /**
69: * Returns the sub dataset run for this chart dataset.
70: *
71: * @return the sub dataset run for this chart dataset
72: */
73: public JRDatasetRun getDatasetRun();
74:
75: /**
76: * Returns the "increment when" expression.
77: * <p>
78: * This expression determines whether a dataset will be incremented or not.
79: * <p>
80: * The expression (if not null) is evaluated before each increment of the dataset.
81: * The increment will be carried on only when the result of the evaluation is <code>Boolean.TRUE</code>;
82: * if the result is null or false, the increment will not be performed.
83: *
84: *
85: * @return the "increment when" expression
86: */
87: public JRExpression getIncrementWhenExpression();
88:
89: }
|