1 /* ================================================================ 2 * Cewolf : Chart enabling Web Objects Framework 3 * ================================================================ 4 * 5 * Project Info: http://cewolf.sourceforge.net 6 * Project Lead: Guido Laures (guido@laures.de); 7 * 8 * (C) Copyright 2002, by Guido Laures 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 23 package de.laures.cewolf; 24 25 import java.util.Map; 26 27 /** 28 * Postprocesses a generated chart instance. Objects of this class can be used to 29 * customize a generated and afterwards rendered chart instance additionally. 30 * To provide a postprocessor the <chartpostprocessor> tag is used. 31 * There can be an unlimited number of postprocessors registered. 32 * @see de.laures.cewolf.taglib.tags.ChartPostProcessorTag 33 * @author Guido Laures 34 */ 35 public interface ChartPostProcessor { 36 37 /** 38 * Processes a generated chart. This method is called by the ChartProducer 39 * after a chart instance is generated and before it is rendered (if so). 40 * The ChartProducer is responsible for post processing a chart dependant 41 * on and only on the provided parameters. This means that the same parameters 42 * should result in the same post processings. 43 * @param chart the chart instnce. Concrete class depends on the rendering 44 * implementation. Currently a org.jfree.chart.JFreeChart is passed. 45 * @param params paramters passed to the postprocessor. These are defined in the JSP 46 * @see de.laures.cewolf.taglib.tags.ChartPostProcessorTag 47 */ 48 void processChart(Object chart, Map params); 49 50 } 51