Source code: jbreport/ReportElementFactory.java
1 /*
2 * $Id: ReportElementFactory.java,v 1.1.1.1 2000/08/31 13:14:20 grantfin Exp $
3 *
4 * jbReport - A reporting library for Java
5 * Copyright (C) 2000 Grant Finnemore <grantfin@users.sourceforge.net>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21 package jbreport;
22
23 /**
24 * The factory that is responsible for creating report elements. Valid
25 * implementations must a public no-args constructor available.
26 *
27 * @author Grant Finnemore
28 * @version $Revision: 1.1.1.1 $
29 */
30 public
31 interface ReportElementFactory {
32
33 /**
34 * Create a new element for the given element name. We use names rather than
35 * adding new methods, so that the process of creating a report can be
36 * automated through the use of XML templates.
37 */
38 public ReportElement createElement(String name) throws ReportException;
39
40 /**
41 * Create a new section element to enable grouping of individual elements.
42 */
43 public ReportSection createSection() throws ReportException;
44
45 /**
46 * Creates a new Section element that is used to represent an entire
47 * document.
48 */
49 public ReportSection createDocument() throws ReportException;
50
51 /**
52 * Creates a new Composite element that is used to represent an entire
53 * document.
54 */
55 public ReportComposite createComposite() throws ReportException;
56
57 }