Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* 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 .
*/
/*
* Contributors:
* Greg Hilton
*/
package net.sf.jasperreports.engine.export;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.annotations.properties.Property;
import net.sf.jasperreports.annotations.properties.PropertyScope;
import net.sf.jasperreports.engine.JROrigin;
import net.sf.jasperreports.engine.JRPrintElement;
import net.sf.jasperreports.engine.JRPropertiesMap;
import net.sf.jasperreports.engine.JRPropertiesUtil;
import net.sf.jasperreports.engine.JRPropertiesUtil.PropertySuffix;
import net.sf.jasperreports.engine.JasperReportsContext;
import net.sf.jasperreports.engine.type.BandTypeEnum;
import net.sf.jasperreports.properties.PropertyConstants;
/**
* An exporter filter that excludes elements based on their origin.
*
* In case no filter instance is passed to the exporter as the
* {@link net.sf.jasperreports.export.ReportExportConfiguration#getExporterFilter()} exporter
* configuration, the exporter searches for some
* configuration properties with a given prefix, both at report level (exporter hints) and
* globally, in order to decide if a default exporter filter instance should be created on-the-fly
* and used internally, when exporting the current document.
*
* If created, this default exporter filter will filter out content from the exported document
* based on element origin information. Elements present in JasperReports generated
* documents keep information about their origin. The origin of an element is defined by its
* parent section in the initial report template, and optionally the name of the group and/or
* subreport that the element originated from.
*
* Removing page headers and page footers from the document when exporting to XLS can
* be achieved by putting these custom properties in the report template:
*
* If you want to remove page headers and page footers, but keep the first page header in
* place (useful when all pages are exported to the same sheet, in a flow layout) the
* following properties have to be used in the report template:
*
* Note that there is no property prefix available to keep the last occurrence of a band. If
* you would want to keep the last page footer, then the best solution is to actually use the
* <lastPageFooter> section of the report template.
*
* If you want to remove both page headers and page footers and also the group footers of a
* group called ProductGroup, that comes from a subreport called ProductReport
* these custom properties are needed:
*
* Note that the number at the end of the properties names is just an arbitrary suffix. The
* only thing that counts is that the suffix be the same for properties referring to the same
* filter. The last three properties in the above example define the filter that will exclude
* group header of ProductGroup from ProductReport subreport. Instead of the
* numeric suffix, you could put any suffix, as long as it does not coincide with suffixes
* from other filters. The following example will exclude the same group header while
* keeping its first occurrence:
*
* The xls token inside the properties prefixes refer to the particular export format that is
* targeted and the general syntax of the origin exporter filter properties is:
*