1 /**
2 * =========================================================
3 * Pentaho-Reporting-Classic : a free Java reporting library
4 * =========================================================
5 *
6 * Project Info: http://reporting.pentaho.org/
7 *
8 * (C) Copyright 2001-2007, by Object Refinery Ltd, Pentaho Corporation and Contributors.
9 *
10 * This library is free software; you can redistribute it and/or modify it under the terms
11 * of the GNU Lesser General Public License as published by the Free Software Foundation;
12 * either 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, but WITHOUT ANY WARRANTY;
15 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public License along with this
19 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 * Boston, MA 02111-1307, USA.
21 *
22 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
23 * in the United States and other countries.]
24 *
25 * ------------
26 * Template.java
27 * ------------
28 * (C) Copyright 2001-2007, by Object Refinery Ltd, Pentaho Corporation and Contributors.
29 */
30
31 package org.jfree.report.filter.templates;
32
33 import org.jfree.report.filter.DataSource;
34
35 /**
36 * A template defines a common use case for a DataSource and one or more predefined
37 * Filters.
38 *
39 * @author Thomas Morgner
40 */
41 public interface Template extends DataSource
42 {
43 /**
44 * Sets the name of this template.
45 *
46 * @param name the name.
47 */
48 public void setName (String name);
49
50 /**
51 * Returns the template name.
52 *
53 * @return The name.
54 */
55 public String getName ();
56
57 /**
58 * Returns an instance of the template.
59 *
60 * @return A template instance.
61 */
62 public Template getInstance ();
63
64 }