Frames | No Frames |
1: /** 2: * ======================================== 3: * JFreeReport : a free Java report library 4: * ======================================== 5: * 6: * Project Info: http://reporting.pentaho.org/ 7: * 8: * (C) Copyright 2000-2007, by Object Refinery Limited, Pentaho Corporation and Contributors. 9: * 10: * This library is free software; you can redistribute it and/or modify it under the terms 11: * of the GNU Lesser General Public License as published by the Free Software Foundation; 12: * either 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, but WITHOUT ANY WARRANTY; 15: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16: * See the GNU Lesser General Public License for more details. 17: * 18: * You should have received a copy of the GNU Lesser General Public License along with this 19: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 20: * Boston, MA 02111-1307, USA. 21: * 22: * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 23: * in the United States and other countries.] 24: * 25: * ------------ 26: * $Id: PrecomputedValueRegistry.java 2725 2007-04-01 18:49:29Z taqua $ 27: * ------------ 28: * (C) Copyright 2000-2005, by Object Refinery Limited. 29: * (C) Copyright 2005-2007, by Pentaho Corporation. 30: */ 31: 32: package org.jfree.report.data; 33: 34: /** 35: * Expression precomputation processes the report in a parallel process to 36: * retrieve the final value of an function. The final value of an expression 37: * is the value the expression would return before it goes out of scope. 38: * 39: * Precomputation can be generally considered expensive, so it should be done 40: * only once. During the precomputation run, no output is generated at all. 41: * Only named data-row expressions can be precomputed. 42: * 43: * @author Thomas Morgner 44: */ 45: public interface PrecomputedValueRegistry 46: { 47: public void startElement (PrecomputeNodeKey element); 48: public void finishElement (PrecomputeNodeKey element); 49: public PrecomputeNode currentNode (); 50: 51: public void addFunction(final String name, final Object value); 52: 53: public void startElementPrecomputation(final PrecomputeNodeKey element); 54: 55: public void finishElementPrecomputation(final PrecomputeNodeKey element); 56: }