001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library; if not, write to the Free Software
021: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.engine.export;
029:
030: import net.sf.jasperreports.engine.JRExporterParameter;
031: import net.sf.jasperreports.engine.util.JRProperties;
032:
033: /**
034: * Contains parameters useful for export in XLS format.
035: * <p>
036: * The XLS exporter can send data to an output stream or file on disk. The engine looks among the export parameters in
037: * order to find the selected output type in this order: OUTPUT_STREAM, OUTPUT_FILE, OUTPUT_FILE_NAME.
038: *
039: * @author Sanda Zaharia (shertage@users.sourceforge.net)
040: * @version $Id: JRXlsAbstractExporterParameter.java 1826 2007-08-24 13:53:40Z teodord $
041: */
042: public class JRXlsAbstractExporterParameter extends JRExporterParameter {
043:
044: /**
045: *
046: */
047: protected JRXlsAbstractExporterParameter(String name) {
048: super (name);
049: }
050:
051: /**
052: * A boolean value specifying whether each report page should be written in a different XLS sheet
053: */
054: public static final JRXlsAbstractExporterParameter IS_ONE_PAGE_PER_SHEET = new JRXlsAbstractExporterParameter(
055: "Is One Page per Sheet");
056:
057: /**
058: * Property whose value is used as default state of the {@link #IS_ONE_PAGE_PER_SHEET IS_ONE_PAGE_PER_SHEET} export flag.
059: * <p/>
060: * This property is by default not set (<code>false</code>).
061: *
062: * @see JRProperties
063: */
064: public static final String PROPERTY_ONE_PAGE_PER_SHEET = JRProperties.PROPERTY_PREFIX
065: + "export.xls.one.page.per.sheet";
066:
067: /**
068: * A boolean value specifying whether the empty spaces that could appear between rows should be removed or not.
069: */
070: public static final JRXlsAbstractExporterParameter IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS = new JRXlsAbstractExporterParameter(
071: "Is Remove Empty Space Between Rows");
072:
073: /**
074: * Property whose value is used as default state of the {@link #IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS} export flag.
075: * <p/>
076: * This property is by default not set (<code>false</code>).
077: *
078: * @see JRProperties
079: */
080: public static final String PROPERTY_REMOVE_EMPTY_SPACE_BETWEEN_ROWS = JRProperties.PROPERTY_PREFIX
081: + "export.xls.remove.empty.space.between.rows";
082:
083: /**
084: * A boolean value specifying whether the page background should be white or the default XLS background color. This background
085: * may vary depending on the XLS viewer properties or the operating system color scheme.
086: */
087: public static final JRXlsAbstractExporterParameter IS_WHITE_PAGE_BACKGROUND = new JRXlsAbstractExporterParameter(
088: "Is White Page Background");
089:
090: /**
091: * Property whose value is used as default state of the {@link #IS_WHITE_PAGE_BACKGROUND IS_WHITE_PAGE_BACKGROUND} export flag.
092: * <p/>
093: * This property is set by default (<code>true</code>).
094: *
095: * @see JRProperties
096: */
097: public static final String PROPERTY_WHITE_PAGE_BACKGROUND = JRProperties.PROPERTY_PREFIX
098: + "export.xls.white.page.background";
099:
100: /**
101: * A boolean value specifying whether the exporter should try to automatically detect cell types based on the cell value.
102: *
103: * @deprecated The {@link #IS_DETECT_CELL_TYPE IS_DETECT_CELL_TYPE} offers more consistent numerical cell detection.
104: */
105: public static final JRXlsAbstractExporterParameter IS_AUTO_DETECT_CELL_TYPE = new JRXlsAbstractExporterParameter(
106: "Is Auto Detect Cell Type");
107:
108: /**
109: * Flag used to indicate whether the exporter should take into consideration the type of the
110: * original text field expressions and set the cell types and values accordingly.
111: * <p>
112: * Text fields having numerical or date expressions save type and formatting (format pattern, locale and time zone)
113: * information in the {@link net.sf.jasperreports.engine.JasperPrint JasperPrint}/{@link net.sf.jasperreports.engine.JRPrintText JRPrintText}
114: * object created by the report fill process.
115: * </p>
116: * <p>
117: * When this flag is set, the exporter will parse back the <code>String</code> value of numerical/date texts.
118: * Numerical/date cells will be created and the original pattern of the text will be included
119: * as part of the cell style.
120: * </p>
121: * <p>
122: * Note that this mechanism would not work when the text field overflows and splits on two pages/columns.
123: * Also, it is required that the text field expression has a numerical or date type set.
124: * </p>
125: * <p>
126: * This flag is off by default to ensure backwards compatibility.
127: * </p>
128: */
129: public static final JRXlsAbstractExporterParameter IS_DETECT_CELL_TYPE = new JRXlsAbstractExporterParameter(
130: "Is Detect Cell Type");
131:
132: /**
133: * Property whose value is used as default state of the {@link #IS_DETECT_CELL_TYPE IS_DETECT_CELL_TYPE} export flag.
134: * <p/>
135: * This property is by default not set (<code>false</code>).
136: *
137: * @see JRProperties
138: */
139: public static final String PROPERTY_DETECT_CELL_TYPE = JRProperties.PROPERTY_PREFIX
140: + "export.xls.detect.cell.type";
141:
142: /**
143: * An array of strings representing custom sheet names. This is useful when used with the <i>IS_ONE_PAGE_PER_SHEET</i>
144: * parameter.
145: */
146: public static final JRXlsAbstractExporterParameter SHEET_NAMES = new JRXlsAbstractExporterParameter(
147: "Sheet Names");
148:
149: /**
150: * Flag for decreasing font size so that texts fit into the specified cell height.
151: */
152: public static final JRXlsAbstractExporterParameter IS_FONT_SIZE_FIX_ENABLED = new JRXlsAbstractExporterParameter(
153: "Is Font Size Fix Enabled");
154:
155: /**
156: * Property whose value is used as default state of the {@link #IS_FONT_SIZE_FIX_ENABLED IS_FONT_SIZE_FIX_ENABLED} export flag.
157: * <p/>
158: * This property is by default not set (<code>false</code>).
159: *
160: * @see JRProperties
161: */
162: public static final String PROPERTY_FONT_SIZE_FIX_ENABLED = JRProperties.PROPERTY_PREFIX
163: + "export.xls.font.size.fix.enabled";
164:
165: /**
166: * This export parameter should be used when converting java format patterns to equivalent proprietary
167: * format patterns. It should be constructed as a Map containing java format patterns as keys and the
168: * correspondent proprietary format pattern as correspondent value
169: * <p/>
170: * @see org.apache.poi.hssf.usermodel.HSSFDataFormat
171: * @see jxl.write.NumberFormat
172: */
173: public static final JRExporterParameter FORMAT_PATTERNS_MAP = new JRXlsExporterParameter(
174: "Format Patterns Map");
175:
176: /**
177: * An integer value specifying the maximum number of rows allowed to be shown in a sheet.
178: * When set, a new sheet is created for the remaining rows to be displayed. Negative values or zero means that no limit has been set.
179: */
180: public static final JRExporterParameter MAXIMUM_ROWS_PER_SHEET = new JRXlsExporterParameter(
181: "Maximum Rows Per Sheet");
182:
183: /**
184: * Property whose value is used as default of the {@link #MAXIMUM_ROWS_PER_SHEET MAXIMUM_ROWS_PER_SHEET} export parameter.
185: * <p/>
186: * This property is by default to zero.
187: *
188: * @see JRProperties
189: */
190: public static final String PROPERTY_MAXIMUM_ROWS_PER_SHEET = JRProperties.PROPERTY_PREFIX
191: + "export.xls.max.rows.per.sheet";
192:
193: /**
194: * Flag for ignoring graphic elements and exporting text elements only.
195: */
196: public static final JRXlsAbstractExporterParameter IS_IGNORE_GRAPHICS = new JRXlsAbstractExporterParameter(
197: "Is Ignore Graphics");
198:
199: /**
200: * Property whose value is used as default state of the {@link #IS_IGNORE_GRAPHICS IS_IGNORE_GRAPHICS} export flag.
201: * <p/>
202: * This property is by default not set (<code>false</code>).
203: *
204: * @see JRProperties
205: */
206: public static final String PROPERTY_IGNORE_GRAPHICS = JRProperties.PROPERTY_PREFIX
207: + "export.xls.ignore.graphics";
208:
209: /**
210: * Flag for collapsing row span and avoid merging cells across rows.
211: */
212: public static final JRXlsAbstractExporterParameter IS_COLLAPSE_ROW_SPAN = new JRXlsAbstractExporterParameter(
213: "Is Collapse Row Span");
214:
215: /**
216: * Property whose value is used as default state of the {@link #IS_COLLAPSE_ROW_SPAN IS_COLLAPSE_ROW_SPAN} export flag.
217: * <p/>
218: * This property is by default not set (<code>false</code>).
219: *
220: * @see JRProperties
221: */
222: public static final String PROPERTY_COLLAPSE_ROW_SPAN = JRProperties.PROPERTY_PREFIX
223: + "export.xls.collapse.row.span";
224:
225: /**
226: * Flag for ignoring the cell border.
227: */
228: public static final JRXlsAbstractExporterParameter IS_IGNORE_CELL_BORDER = new JRXlsAbstractExporterParameter(
229: "Is Ignore Cell Border");
230:
231: /**
232: * Property whose value is used as default state of the {@link #IS_IGNORE_CELL_BORDER IS_IGNORE_CELL_BORDER} export flag.
233: * <p/>
234: * This property is by default not set (<code>false</code>).
235: *
236: * @see JRProperties
237: */
238: public static final String PROPERTY_IGNORE_CELL_BORDER = JRProperties.PROPERTY_PREFIX
239: + "export.xls.ignore.cell.border";
240:
241: }
|