Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }