All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.jasperreports.engine.component.FillContext Maven / Gradle / Ivy

There is a newer version: 6.21.2
Show newest version
/*
 * JasperReports - Free Java Reporting Library.
 * Copyright (C) 2001 - 2016 TIBCO Software Inc. All rights reserved.
 * http://www.jaspersoft.com
 *
 * Unless you have purchased a commercial license agreement from Jaspersoft,
 * the following license terms apply:
 *
 * This program is part of JasperReports.
 *
 * JasperReports is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * JasperReports is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with JasperReports. If not, see .
 */
package net.sf.jasperreports.engine.component;

import java.util.Locale;
import java.util.ResourceBundle;
import java.util.TimeZone;

import net.sf.jasperreports.engine.JRComponentElement;
import net.sf.jasperreports.engine.JRDefaultStyleProvider;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JROrigin;
import net.sf.jasperreports.engine.JRPrintElement;
import net.sf.jasperreports.engine.JRStyle;
import net.sf.jasperreports.engine.fill.FillContainerContext;
import net.sf.jasperreports.engine.fill.JRBaseFiller;
import net.sf.jasperreports.engine.fill.JRFillExpressionEvaluator;
import net.sf.jasperreports.engine.fill.PrintElementOriginator;
import net.sf.jasperreports.engine.type.EvaluationTimeEnum;

/**
 * A fill context provides access to data and functionality related to a
 * report component fill.
 * 
 * @author Lucian Chirita ([email protected])
 */
public interface FillContext extends JRFillExpressionEvaluator
{
	
	/**
	 * Returns the component element that wraps the component.
	 * 
	 * @return the current component element
	 */
	JRComponentElement getComponentElement();

	/**
	 * Returns the fill element Id associated to the component element.
	 * 
	 * @return the Id of the component fill element
	 * @see JRPrintElement#getSourceElementId()
	 * @see #getPrintElementOriginator()
	 */
	int getElementSourceId();

	/**
	 * Returns a generator for print Ids for the component element.
	 * 
	 * @return a generator for print Ids
	 * @see JRPrintElement#getSourceElementId()
	 * @see JRPrintElement#getPrintElementId()
	 */
	PrintElementOriginator getPrintElementOriginator();
	
	/**
	 * Evaluates an expression in the main report dataset.
	 * 
	 * @param expression the expression to evaluate
	 * @param evaluation the evaluation type; usually directly passed from
	 * {@link FillComponent#evaluate(byte)}
	 * @return the result of the evaluation
	 * @throws JRException
	 */
	@Override
	Object evaluate(JRExpression expression, byte evaluation) throws JRException;
	
	/**
	 * Returns the default style provider for the generated report.
	 * 
	 * @return the default style provider of the generated report
	 */
	JRDefaultStyleProvider getDefaultStyleProvider();
	
	/**
	 * Returns the origin of the current component element.
	 * 
	 * @return the origin of the component element
	 */
	JROrigin getElementOrigin();

	/**
	 * Returns the position on the vertical axis where the component element
	 * starts printing.
	 * 
	 * @return the position on the vertical axis of the component element
	 */
	int getElementPrintY();
	
	/**
	 * Returns the current style of the component element.
	 * 
	 * @return the current style of the component element
	 */
	JRStyle getElementStyle();
	
	/**
	 * Registers a delayed evaluation for a print element.
	 * 
	 * @param printElement the print element
	 * @param evaluationTime the delayed evaluation time; one of
	 * 
    *
  • {@link EvaluationTimeEnum#BAND} *
  • {@link EvaluationTimeEnum#COLUMN} *
  • {@link EvaluationTimeEnum#PAGE} *
  • {@link EvaluationTimeEnum#GROUP} *
  • {@link EvaluationTimeEnum#REPORT} *
* @param evaluationGroup the evaluation group name, if * evaluationTime is {@link EvaluationTimeEnum#GROUP} * @see FillComponent#evaluateDelayedElement(JRPrintElement, byte) */ void registerDelayedEvaluation(JRPrintElement printElement, EvaluationTimeEnum evaluationTime, String evaluationGroup); /** * Returns the resource bundle used for the current report. * * @return the report resource bundle * @see net.sf.jasperreports.engine.JRReport#getResourceBundle() * @see net.sf.jasperreports.engine.JRParameter#REPORT_RESOURCE_BUNDLE */ ResourceBundle getReportResourceBundle(); /** * Returns the locale used to fill the current report. * * @return the report locale * @see net.sf.jasperreports.engine.JRParameter#REPORT_LOCALE */ Locale getReportLocale(); /** * Returns the time zone used to fill the current report. * * @return the report time zone * @see net.sf.jasperreports.engine.JRParameter#REPORT_TIME_ZONE */ TimeZone getReportTimezone(); /** * Returns the filler object. * * @return the filler object */ JRBaseFiller getFiller(); FillContainerContext getFillContainerContext(); //TODO access to params/fields/vars? }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy