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;
029:
030: /**
031: * @author Teodor Danciu (teodord@users.sourceforge.net)
032: * @version $Id: JRParameter.java 1759 2007-06-20 16:47:34Z lucianc $
033: */
034: public interface JRParameter extends JRPropertiesHolder {
035:
036: /**
037: * A <tt>Map</tt> containing report parameters passed by users at fill time.
038: */
039: public static final String REPORT_PARAMETERS_MAP = "REPORT_PARAMETERS_MAP";
040:
041: /**
042: * A <tt>java.sql.Connection</tt> needed to run the default report query.
043: */
044: public static final String REPORT_CONNECTION = "REPORT_CONNECTION";
045:
046: /**
047: * An integer allowing users to limit the datasource size.
048: */
049: public static final String REPORT_MAX_COUNT = "REPORT_MAX_COUNT";
050:
051: /**
052: * A {@link JRDataSource} instance representing the report data source. JasperReports defines some convenience implementations
053: * of <tt>JRDataSource</tt>, but users may create their own data sources for specific needs.
054: */
055: public static final String REPORT_DATA_SOURCE = "REPORT_DATA_SOURCE";
056:
057: /**
058: * A {@link JRAbstractScriptlet} containing an instance of the report scriptlet provided by the user.
059: */
060: public static final String REPORT_SCRIPTLET = "REPORT_SCRIPTLET";
061:
062: /**
063: * A <tt>java.util.Locale</tt> instance containing the resource bundle desired locale. This parameter should be used in
064: * conjunction with REPORT_RESOURCE_BUNDLE.
065: */
066: public static final String REPORT_LOCALE = "REPORT_LOCALE";
067:
068: /**
069: * The <tt>java.util.ResourceBundle</tt> containing localized messages. If the resource bundle base name is specified at
070: * design time, the engine will try to load the resource bundle using specified name and locale.
071: */
072: public static final String REPORT_RESOURCE_BUNDLE = "REPORT_RESOURCE_BUNDLE";
073:
074: /**
075: * A <tt>java.util.TimeZone</tt> instance to use for date formatting.
076: */
077: public static final String REPORT_TIME_ZONE = "REPORT_TIME_ZONE";
078:
079: /**
080: * The {@link JRVirtualizer JRVirtualizer} to be used for page virtualization. This parameter is optional.
081: */
082: public static final String REPORT_VIRTUALIZER = "REPORT_VIRTUALIZER";
083:
084: /**
085: * A <tt>java.lang.ClassLoader</tt> instance to be used during the report filling process to load resources such
086: * as images, fonts and subreport templates.
087: */
088: public static final String REPORT_CLASS_LOADER = "REPORT_CLASS_LOADER";
089:
090: /**
091: * A <tt>java.net.URLStreamHandlerFactory</tt> instance to be used during the report filling process to
092: * handler custom URL protocols for loading resources such as images, fonts and subreport templates.
093: */
094: public static final String REPORT_URL_HANDLER_FACTORY = "REPORT_URL_HANDLER_FACTORY";
095:
096: /**
097: * A {@link net.sf.jasperreports.engine.util.FormatFactory FormatFactory} instance to be used
098: * during the report filling process to create instances of <tt>java.text.DateFormat<tt> to format date text
099: * fields and instances of <tt>java.text.NumberFormat<tt> to format numeric text fields.
100: */
101: public static final String REPORT_FORMAT_FACTORY = "REPORT_FORMAT_FACTORY";
102:
103: /**
104: * Whether to use pagination.
105: * <b>
106: * If set to <code>true</code> the report will be generated on one long page.
107: */
108: public static final String IS_IGNORE_PAGINATION = "IS_IGNORE_PAGINATION";
109:
110: /**
111: * A {@link java.util.Collection collection} of {@link JRTemplate templates} passed to the
112: * report at fill time.
113: * <p/>
114: * These templates add to the ones specified in the report (see {@link JRReport#getTemplates()}).
115: * In the final templates list they are placed after the report templates; therefore styles from
116: * these templates can use and override styles in the report templates.
117: * They are, however, placed before the report styles hence report styles can use and override
118: * styles from these templates.
119: */
120: public static final String REPORT_TEMPLATES = "REPORT_TEMPLATES";
121:
122: /**
123: *
124: */
125: public String getName();
126:
127: /**
128: *
129: */
130: public String getDescription();
131:
132: /**
133: *
134: */
135: public void setDescription(String description);
136:
137: /**
138: *
139: */
140: public Class getValueClass();
141:
142: /**
143: *
144: */
145: public String getValueClassName();
146:
147: /**
148: *
149: */
150: public boolean isSystemDefined();
151:
152: /**
153: *
154: */
155: public boolean isForPrompting();
156:
157: /**
158: *
159: */
160: public JRExpression getDefaultValueExpression();
161:
162: }
|