KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > jasperreports > engine > JRExporter


1 /*
2  * ============================================================================
3  * GNU Lesser General Public License
4  * ============================================================================
5  *
6  * JasperReports - Free Java report-generating library.
7  * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * 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,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22  *
23  * JasperSoft Corporation
24  * 303 Second Street, Suite 450 North
25  * San Francisco, CA 94107
26  * http://www.jaspersoft.com
27  */

28 package net.sf.jasperreports.engine;
29
30 import java.util.Map JavaDoc;
31
32
33 /**
34  * All document exporting in JasperReports is done through this interface. There is an implementation of
35  * this interface for every document format that JasperReports supports at the moment.
36  * <p>
37  * Export customization is realized by using export parameters. Each exporter is able to recognize and use
38  * its own parameters, but there is a subset of predefined parameters that are common to all exporters.
39  * Those are identified by constants in the {@link JRExporterParameter} base class. All parameters are documented
40  * inside the classes where they are defined.
41  * <p>
42  * An important aspect is the output type of each exporter. There are three types of exporters depending on
43  * the type of output they produce:
44  * <ul>
45  * <li>exporters that export to text or character based file formats (HTML, RTF, CSV, TXT, XML exporters);
46  * <li>exporters that export to binary file formats (PDF and XLS exporters)
47  * <li>exporters that export directly to graphic devices (Graphics2D and Java Print Service exporters)
48  * </ul>
49  *<p>
50  * All existing exporters fall into two categories depending on the way the content of the documents they
51  * produce could be structured:
52  * <ul>
53  * <li> there are the exporters which target document formats which support free-form page content. These
54  * are the Grapchis2D, PDF, RTF and XML exporters.
55  * <li> the second category of exporters groups those exporters that target document formats which only
56  * support relative positioning of elements on a page or a grid-based layout. In this category we have the
57  * HTML, XLS and CSV exporters.
58  * </ul>
59  *
60  * @author Teodor Danciu (teodord@users.sourceforge.net)
61  * @version $Id: JRExporter.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
62  */

63 public interface JRExporter
64 {
65
66
67     /**
68      * Sets an export parameter for advanced customization of the export process. Parameters can be either
69      * common parameters or specialized ones, depending on the exporter type.
70      * @param parameter the parameter, selected from the static parameters defined by JasperReports
71      * @param value the parameter value
72      * @see JRExporterParameter
73      */

74     public void setParameter(JRExporterParameter parameter, Object JavaDoc value);
75
76
77     /**
78      * Gets an export parameter.
79      */

80     public Object JavaDoc getParameter(JRExporterParameter parameter);
81
82
83     /**
84      * Sets export parameters from a specified map.
85      * @see JRExporter#setParameter(JRExporterParameter, Object)
86      */

87     public void setParameters(Map JavaDoc parameters);
88     
89
90     /**
91      * Gets a map containing all export parameters.
92      */

93     public Map JavaDoc getParameters();
94
95
96     /**
97      * Actually starts the export process.
98      */

99     public void exportReport() throws JRException;
100     
101
102 }
103
Popular Tags