Source code: jbreport/core/ReportVisitor.java
1 /*
2 * $Id: ReportVisitor.java,v 1.1 2000/08/31 13:53:17 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.core;
22
23 import jbreport.ReportElement;
24 import jbreport.ReportException;
25
26 /**
27 * Define the operations that are available to iterators walking a
28 * ReportElement hierarchy.
29 *
30 * <p> These methods will be called by the ReportElements themselves, when
31 * their <code>accept</code> methods are called.
32 *
33 * <p> All methods are defined as taking a ReportElement instance. Access to
34 * properties of the concrete instance should be done through the appropriate
35 * accessors on the ReportElement interface. <i> Under no circumstances should
36 * the concrete ReportElement instance be cast to a concrete type. </i>
37 *
38 * @author Grant Finnemore
39 * @version $Revision: 1.1 $
40 */
41 public
42 interface ReportVisitor {
43
44 public void visitReportComposite(ReportElement elem,
45 ReportVisitorState state)
46 throws ReportException;
47
48 public void visitGroup(ReportElement elem, ReportVisitorState state)
49 throws ReportException;
50
51 public void visitReportSection(ReportElement elem, ReportVisitorState state)
52 throws ReportException;
53
54 public void visitQuery(ReportElement elem, ReportVisitorState state)
55 throws ReportException;
56
57 public void visitDatasource(ReportElement elem, ReportVisitorState state)
58 throws ReportException;
59
60 public void visitRepository(ReportElement elem, ReportVisitorState state)
61 throws ReportException;
62
63 public void visitDocument(ReportElement elem, ReportVisitorState state)
64 throws ReportException;
65
66 public void visitFragment(ReportElement elem, ReportVisitorState state)
67 throws ReportException;
68
69 public void visitInclude(ReportElement elem, ReportVisitorState state)
70 throws ReportException;
71
72 public void visitQueryBoundResult(ReportElement elem,
73 ReportVisitorState state)
74 throws ReportException;
75
76 public void visitSectionBreak(ReportElement elem, ReportVisitorState state)
77 throws ReportException;
78
79 public void visitTLine(ReportElement elem, ReportVisitorState state)
80 throws ReportException;
81
82 public void visitTable(ReportElement elem, ReportVisitorState state)
83 throws ReportException;
84
85 public void visitTableHeaderRow(ReportElement elem,
86 ReportVisitorState state)
87 throws ReportException;
88
89 public void visitTableHeaderItem(ReportElement elem,
90 ReportVisitorState state)
91 throws ReportException;
92
93 public void visitTableRow(ReportElement elem, ReportVisitorState state)
94 throws ReportException;
95
96 public void visitStylesheet(ReportElement elem, ReportVisitorState state)
97 throws ReportException;
98
99 public void visitStyle(ReportElement elem, ReportVisitorState state)
100 throws ReportException;
101
102 public void visitAggregate(ReportElement elem, ReportVisitorState state)
103 throws ReportException;
104 }