Clover Coverage Report
Coverage timestamp: Sa Aug 2 2008 13:56:27 CEST
0   347   0   -
0   74   -   0
0     -  
1    
 
  QedeqTraverser       Line # 65 0 0 - -1.0
 
No Tests
 
1    /* $Id: QedeqTraverser.java,v 1.1 2008/07/26 07:59:34 m31 Exp $
2    *
3    * This file is part of the project "Hilbert II" - http://www.qedeq.org
4    *
5    * Copyright 2000-2008, Michael Meyling <mime@qedeq.org>.
6    *
7    * "Hilbert II" is free software; you can redistribute
8    * it and/or modify it under the terms of the GNU 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 program 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
15    * GNU General Public License for more details.
16    */
17   
18    package org.qedeq.kernel.visitor;
19   
20    import org.qedeq.kernel.base.list.Atom;
21    import org.qedeq.kernel.base.list.Element;
22    import org.qedeq.kernel.base.list.ElementList;
23    import org.qedeq.kernel.base.module.Author;
24    import org.qedeq.kernel.base.module.AuthorList;
25    import org.qedeq.kernel.base.module.Axiom;
26    import org.qedeq.kernel.base.module.Chapter;
27    import org.qedeq.kernel.base.module.ChapterList;
28    import org.qedeq.kernel.base.module.Formula;
29    import org.qedeq.kernel.base.module.FunctionDefinition;
30    import org.qedeq.kernel.base.module.Header;
31    import org.qedeq.kernel.base.module.Import;
32    import org.qedeq.kernel.base.module.ImportList;
33    import org.qedeq.kernel.base.module.Latex;
34    import org.qedeq.kernel.base.module.LatexList;
35    import org.qedeq.kernel.base.module.LinkList;
36    import org.qedeq.kernel.base.module.LiteratureItem;
37    import org.qedeq.kernel.base.module.LiteratureItemList;
38    import org.qedeq.kernel.base.module.Location;
39    import org.qedeq.kernel.base.module.LocationList;
40    import org.qedeq.kernel.base.module.Node;
41    import org.qedeq.kernel.base.module.PredicateDefinition;
42    import org.qedeq.kernel.base.module.Proof;
43    import org.qedeq.kernel.base.module.ProofList;
44    import org.qedeq.kernel.base.module.Proposition;
45    import org.qedeq.kernel.base.module.Qedeq;
46    import org.qedeq.kernel.base.module.Rule;
47    import org.qedeq.kernel.base.module.Section;
48    import org.qedeq.kernel.base.module.SectionList;
49    import org.qedeq.kernel.base.module.Specification;
50    import org.qedeq.kernel.base.module.Subsection;
51    import org.qedeq.kernel.base.module.SubsectionList;
52    import org.qedeq.kernel.base.module.Term;
53    import org.qedeq.kernel.base.module.UsedByList;
54    import org.qedeq.kernel.base.module.VariableList;
55    import org.qedeq.kernel.common.ModuleDataException;
56   
57    /**
58    * Traverse a QEDEQ module and visit all elements.
59    * All contained elements are called recursively.
60    * See {@link org.qedeq.kernel.visitor.QedeqVisitor}.
61    *
62    * @version $Revision: 1.1 $
63    * @author Michael Meyling
64    */
 
65    public interface QedeqTraverser {
66   
67    /**
68    * Start with the top structure of a QEDEQ module.
69    *
70    * @param qedeq Traverse this element. Must not be <code>null</code>.
71    * @throws ModuleDataException Severe error during occurred.
72    */
73    public void accept(final Qedeq qedeq) throws ModuleDataException;
74   
75    /**
76    * Traverse header.
77    *
78    * @param header Traverse this element.
79    * @throws ModuleDataException Severe error during occurred.
80    */
81    public void accept(final Header header) throws ModuleDataException;
82   
83    /**
84    * Traverse used by list.
85    *
86    * @param usedByList Traverse this element.
87    * @throws ModuleDataException Severe error during occurred.
88    */
89    public void accept(final UsedByList usedByList) throws ModuleDataException;
90   
91    /**
92    * Traverse import list.
93    *
94    * @param importList Traverse this element.
95    * @throws ModuleDataException Severe error during occurred.
96    */
97    public void accept(final ImportList importList) throws ModuleDataException;
98   
99    /**
100    * Traverse import.
101    *
102    * @param imp Traverse this element.
103    * @throws ModuleDataException Severe error during occurred.
104    */
105    public void accept(final Import imp) throws ModuleDataException;
106   
107    /**
108    * Traverse specification.
109    *
110    * @param specification Traverse this element.
111    * @throws ModuleDataException Severe error during occurred.
112    */
113    public void accept(final Specification specification) throws ModuleDataException;
114   
115    /**
116    * Traverse location list.
117    *
118    * @param locationList Traverse this element.
119    * @throws ModuleDataException Severe error during occurred.
120    */
121    public void accept(final LocationList locationList) throws ModuleDataException;
122   
123    /**
124    * Traverse location.
125    *
126    * @param location Traverse this element.
127    * @throws ModuleDataException Severe error during occurred.
128    */
129    public void accept(final Location location) throws ModuleDataException;
130   
131    /**
132    * Traverse author list.
133    *
134    * @param authorList Traverse this element.
135    * @throws ModuleDataException Severe error during occurred.
136    */
137    public void accept(final AuthorList authorList) throws ModuleDataException;
138   
139    /**
140    * Traverse author.
141    *
142    * @param author Traverse this element.
143    * @throws ModuleDataException Severe error during occurred.
144    */
145    public void accept(final Author author) throws ModuleDataException;
146   
147    /**
148    * Traverse chapter list.
149    *
150    * @param chapterList Traverse this element.
151    * @throws ModuleDataException Severe error during occurred.
152    */
153    public void accept(final ChapterList chapterList) throws ModuleDataException;
154   
155    /**
156    * Traverse chapter.
157    *
158    * @param chapter Traverse this element.
159    * @throws ModuleDataException Severe error during occurred.
160    */
161    public void accept(final Chapter chapter) throws ModuleDataException;
162   
163    /**
164    * Traverse literature item list.
165    *
166    * @param literatureItemList Traverse this element.
167    * @throws ModuleDataException Severe error during occurred.
168    */
169    public void accept(final LiteratureItemList literatureItemList) throws ModuleDataException;
170   
171    /**
172    * Traverse literature item.
173    *
174    * @param literatureItem Traverse this element.
175    * @throws ModuleDataException Severe error during occurred.
176    */
177    public void accept(final LiteratureItem literatureItem) throws ModuleDataException;
178   
179    /**
180    * Traverse section list.
181    *
182    * @param sectionList Traverse this element.
183    * @throws ModuleDataException Severe error during occurred.
184    */
185    public void accept(final SectionList sectionList) throws ModuleDataException;
186   
187    /**
188    * Traverse section.
189    *
190    * @param section Traverse this element.
191    * @throws ModuleDataException Severe error during occurred.
192    */
193    public void accept(final Section section) throws ModuleDataException;
194   
195    /**
196    * Traverse subsection list.
197    *
198    * @param subsectionList Traverse this element.
199    * @throws ModuleDataException Severe error during occurred.
200    */
201    public void accept(final SubsectionList subsectionList) throws ModuleDataException;
202   
203    /**
204    * Traverse subsection list.
205    *
206    * @param subsection Traverse this element.
207    * @throws ModuleDataException Severe error during occurred.
208    */
209    public void accept(final Subsection subsection) throws ModuleDataException;
210   
211    /**
212    * Traverse node.
213    *
214    * @param node Traverse this element.
215    * @throws ModuleDataException Severe error during occurred.
216    */
217    public void accept(final Node node) throws ModuleDataException;
218   
219    /**
220    * Traverse axiom.
221    *
222    * @param axiom Traverse this element.
223    * @throws ModuleDataException Severe error during occurred.
224    */
225    public void accept(final Axiom axiom) throws ModuleDataException;
226   
227    /**
228    * Traverse predicate definition.
229    *
230    * @param definition Traverse this element.
231    * @throws ModuleDataException Severe error during occurred.
232    */
233    public void accept(final PredicateDefinition definition) throws ModuleDataException;
234   
235    /**
236    * Traverse function definition.
237    *
238    * @param definition Traverse this element.
239    * @throws ModuleDataException Severe error during occurred.
240    */
241    public void accept(final FunctionDefinition definition) throws ModuleDataException;
242   
243    /**
244    * Traverse proposition.
245    *
246    * @param proposition Traverse this element.
247    * @throws ModuleDataException Severe error during occurred.
248    */
249    public void accept(final Proposition proposition) throws ModuleDataException;
250   
251    /**
252    * Traverse rule.
253    *
254    * @param rule Traverse this element.
255    * @throws ModuleDataException Severe error during occurred.
256    */
257    public void accept(final Rule rule) throws ModuleDataException;
258   
259    /**
260    * Traverse link list.
261    *
262    * @param linkList Traverse this element.
263    * @throws ModuleDataException Severe error during occurred.
264    */
265    public void accept(final LinkList linkList) throws ModuleDataException;
266   
267    /**
268    * Traverse variable list.
269    *
270    * @param variableList Traverse this element.
271    * @throws ModuleDataException Severe error during occurred.
272    */
273    public void accept(final VariableList variableList) throws ModuleDataException;
274   
275    /**
276    * Traverse proof list.
277    *
278    * @param proofList Traverse this element.
279    * @throws ModuleDataException Severe error during occurred.
280    */
281    public void accept(final ProofList proofList) throws ModuleDataException;
282   
283    /**
284    * Traverse proof.
285    *
286    * @param proof Traverse this element.
287    * @throws ModuleDataException Severe error during occurred.
288    */
289    public void accept(final Proof proof) throws ModuleDataException;
290   
291    /**
292    * Traverse formula.
293    *
294    * @param formula Traverse this element.
295    * @throws ModuleDataException Severe error during occurred.
296    */
297    public void accept(final Formula formula) throws ModuleDataException;
298   
299    /**
300    * Traverse term.
301    *
302    * @param term Traverse this element.
303    * @throws ModuleDataException Severe error during occurred.
304    */
305    public void accept(final Term term) throws ModuleDataException;
306   
307    /**
308    * Traverse latex list.
309    *
310    * @param latexList Traverse this element.
311    * @throws ModuleDataException Severe error during occurred.
312    */
313    public void accept(final LatexList latexList) throws ModuleDataException;
314   
315    /**
316    * Traverse latex.
317    *
318    * @param latex Traverse this element.
319    * @throws ModuleDataException Severe error during occurred.
320    */
321    public void accept(final Latex latex) throws ModuleDataException;
322   
323    /**
324    * Traverse element.
325    *
326    * @param element Traverse this element.
327    * @throws ModuleDataException Severe error during occurred.
328    */
329    public void accept(final Element element) throws ModuleDataException;
330   
331    /**
332    * Traverse atom.
333    *
334    * @param atom Traverse this element.
335    * @throws ModuleDataException Severe error during occurred.
336    */
337    public void accept(final Atom atom) throws ModuleDataException;
338   
339    /**
340    * Traverse element list.
341    *
342    * @param list Traverse this element.
343    * @throws ModuleDataException Severe error during occurred.
344    */
345    public void accept(final ElementList list) throws ModuleDataException;
346   
347    }