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

ar.com.fdvs.dj.domain.entities.Subreport Maven / Gradle / Ivy

/*
 * DynamicJasper: A library for creating reports dynamically by specifying
 * columns, groups, styles, etc. at runtime. It also saves a lot of development
 * time in many cases! (http://sourceforge.net/projects/dynamicjasper)
 *
 * Copyright (C) 2008  FDV Solutions (http://www.fdvsolutions.com)
 *
 * This library 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 2.1 of the License, or (at your option) any later version.
 *
 * This library 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 this library; if not, write to the Free Software
 *
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 *
 */

package ar.com.fdvs.dj.domain.entities;

import ar.com.fdvs.dj.core.DJConstants;
import ar.com.fdvs.dj.core.layout.LayoutManager;
import ar.com.fdvs.dj.domain.DJBaseElement;
import ar.com.fdvs.dj.domain.DJDataSource;
import ar.com.fdvs.dj.domain.DynamicReport;
import ar.com.fdvs.dj.domain.Style;
import net.sf.jasperreports.engine.JasperReport;

import java.util.ArrayList;
import java.util.List;

public class Subreport extends DJBaseElement {

	private static final long serialVersionUID = Entity.SERIAL_VERSION_UID;
	
	private JasperReport report;

	/**
	 * For internal usage 
	 */
	private String name;
	
	/**
	 * The full path or URI in the class path of the compiled .jasper report file
	 */
	private String path;

	/**
	 * The DynamicReport to use
	 */
	private DynamicReport dynamicReport = null;

	/**
	 * Only needed when the subreport is made from a DynamicReport
	 */
	private LayoutManager layoutManager = null;

	/**
	 * If true, a page-break will be added before placing the sub-report
	 */
	private boolean startInNewPage = false;


	/**
	 * @since 3.0.1
	 */
	private boolean splitAllowed = true;

	/**
	 * When the sub-report is dynamic (and no template), we can tell the report to
	 * fit its parent report width
	 */
	private boolean fitToParentPrintableArea = true;

	private DJDataSource datasource;

	/**
	 * List
	 * The objects from the parent report that will be visible as parameters in the subreport
	 */
	private List parameters = new ArrayList();

	private Style style;

	/**
	 * By default true,
	 */
	private boolean useParentReportParameters = true;

	/**
	 * This expression should point to a java.util.Map object
	 * which will be use as the parameters map for the subreport
	 */
	private String parametersExpression;

	/**
	 * Tells if the parameters maps origin is a parameter of the parent report, or a value of the current row (field)
* It's value must be SUBREPORT_PARAMETER_MAP_ORIGIN_PARAMETER or SUBREPORT_PARAMETER_MAP_ORIGIN_FIELD */ private int parametersMapOrigin = DJConstants.SUBREPORT_PARAMETER_MAP_ORIGIN_PARAMETER; public int getParametersMapOrigin() { return parametersMapOrigin; } public void setParametersMapOrigin(int parametersMapOrigin) { this.parametersMapOrigin = parametersMapOrigin; } public String getParametersExpression() { return parametersExpression; } public void setParametersExpression(String parametersExpression) { if (parametersExpression != null) useParentReportParameters = false; this.parametersExpression = parametersExpression; } public boolean isUseParentReportParameters() { return useParentReportParameters; } public void setUseParentReportParameters(boolean useParentReportParameters) { this.useParentReportParameters = useParentReportParameters; } public Style getStyle() { return style; } public void setStyle(Style style) { this.style = style; } public JasperReport getReport() { return report; } public void setReport(JasperReport design) { this.report = design; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public DynamicReport getDynamicReport() { return dynamicReport; } public void setDynamicReport(DynamicReport dynamicReport) { this.dynamicReport = dynamicReport; } public LayoutManager getLayoutManager() { return layoutManager; } public void setLayoutManager(LayoutManager layoutManager) { this.layoutManager = layoutManager; } public DJDataSource getDatasource() { return datasource; } public void setDatasource(DJDataSource datasource) { this.datasource = datasource; } public List getParameters() { return parameters; } public void setParameters(List parameters) { this.parameters = parameters; } public boolean isStartInNewPage() { return startInNewPage; } public void setStartInNewPage(boolean startInNewPage) { this.startInNewPage = startInNewPage; } public boolean isFitToParentPrintableArea() { return fitToParentPrintableArea; } public void setFitToParentPrintableArea(boolean fitToParentPrintableArea) { this.fitToParentPrintableArea = fitToParentPrintableArea; } public boolean isSplitAllowed() { return splitAllowed; } public void setSplitAllowed(boolean splitAllowed) { this.splitAllowed = splitAllowed; } public String getName() { return name; } public void setName(String name) { this.name = name; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy