001: /**
002: * ========================================
003: * JFreeReport : a free Java report library
004: * ========================================
005: *
006: * Project Info: http://reporting.pentaho.org/
007: *
008: * (C) Copyright 2000-2007, by Object Refinery Limited, Pentaho Corporation and Contributors.
009: *
010: * This library is free software; you can redistribute it and/or modify it under the terms
011: * of the GNU Lesser General Public License as published by the Free Software Foundation;
012: * either 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, but WITHOUT ANY WARRANTY;
015: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: * See the GNU Lesser General Public License for more details.
017: *
018: * You should have received a copy of the GNU Lesser General Public License along with this
019: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
020: * Boston, MA 02111-1307, USA.
021: *
022: * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
023: * in the United States and other countries.]
024: *
025: * ------------
026: * $Id: LayoutExpressionRuntime.java 3048 2007-07-28 18:02:42Z tmorgner $
027: * ------------
028: * (C) Copyright 2000-2005, by Object Refinery Limited.
029: * (C) Copyright 2005-2007, by Pentaho Corporation.
030: */package org.jfree.report.flow;
031:
032: import org.jfree.report.DataRow;
033: import org.jfree.report.ReportData;
034: import org.jfree.report.expressions.ExpressionRuntime;
035: import org.jfree.report.i18n.ResourceBundleFactory;
036: import org.jfree.util.Configuration;
037:
038: /**
039: * Creation-Date: 04.03.2006, 16:41:49
040: *
041: * @author Thomas Morgner
042: */
043: public class LayoutExpressionRuntime implements ExpressionRuntime {
044: private DataRow dataRow;
045: private Configuration configuration;
046: private ReportData reportData;
047: private Object declaringParent;
048: private int currentRow;
049: private ReportContext reportContext;
050:
051: public LayoutExpressionRuntime() {
052: }
053:
054: public void setCurrentRow(final int currentRow) {
055: this .currentRow = currentRow;
056: }
057:
058: public void setDataRow(final DataRow dataRow) {
059: this .dataRow = dataRow;
060: }
061:
062: public void setConfiguration(final Configuration configuration) {
063: this .configuration = configuration;
064: }
065:
066: public void setData(final ReportData reportData) {
067: this .reportData = reportData;
068: }
069:
070: public void setDeclaringParent(final Object declaringParent) {
071: this .declaringParent = declaringParent;
072: }
073:
074: /**
075: * Returns the datarow.
076: *
077: * @return
078: */
079: public DataRow getDataRow() {
080: return dataRow;
081: }
082:
083: public Configuration getConfiguration() {
084: return configuration;
085: }
086:
087: public ResourceBundleFactory getResourceBundleFactory() {
088: return reportContext.getResourceBundleFactory();
089: }
090:
091: /**
092: * Returns the report data used in this section. If subreports are used, this
093: * does not reflect the complete report data.
094: * <p/>
095: * All access to the report data must be properly synchronized. Failure to do
096: * so may result in funny results. Do not assume that the report data will be
097: * initialized on the current cursor positon.
098: *
099: * @return
100: */
101: public ReportData getData() {
102: return reportData;
103: }
104:
105: public Object getDeclaringParent() {
106: return declaringParent;
107: }
108:
109: public int getCurrentRow() {
110: return currentRow;
111: }
112:
113: public ReportContext getReportContext() {
114: return reportContext;
115: }
116:
117: public void setReportContext(final ReportContext reportContext) {
118: this.reportContext = reportContext;
119: }
120: }
|