Clover Coverage Report
Coverage timestamp: Sa Aug 2 2008 13:56:27 CEST
../../../../../../img/srcFileCovDistChart9.png 30% of files have more coverage
23   103   13   4,6
16   51   0,57   5
5     2,6  
1    
 
  QedeqHandler       Line # 34 23 13 90,9% 0.90909094
 
  (41)
 
1    /* $Id: QedeqHandler.java,v 1.1 2008/07/26 08:00:51 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.xml.handler.module;
19   
20    import org.qedeq.kernel.base.module.Qedeq;
21    import org.qedeq.kernel.dto.module.QedeqVo;
22    import org.qedeq.kernel.xml.common.XmlSyntaxException;
23    import org.qedeq.kernel.xml.parser.AbstractSimpleHandler;
24    import org.qedeq.kernel.xml.parser.SaxDefaultHandler;
25    import org.qedeq.kernel.xml.parser.SimpleAttributes;
26   
27   
28    /**
29    * Parses complete qedeq modules.
30    *
31    * @version $Revision: 1.1 $
32    * @author Michael Meyling
33    */
 
34    public class QedeqHandler extends AbstractSimpleHandler {
35   
36    /** Module header handler. */
37    private final HeaderHandler headerHandler;
38   
39    /** Handles a single chapter. */
40    private final ChapterHandler chapterHandler;
41   
42    /** Handles a bibliography. */
43    private final LiteratureItemListHandler bibliographyHandler;
44   
45    /** Root value object for a module. */
46    private QedeqVo qedeq;
47   
48   
49    /**
50    * Handle a qedeq module.
51    *
52    * @param defaultHandler Startup handler.
53    */
 
54  140 toggle public QedeqHandler(final SaxDefaultHandler defaultHandler) {
55  140 super(defaultHandler, "QEDEQ");
56  140 headerHandler = new HeaderHandler(this);
57  140 chapterHandler = new ChapterHandler(this);
58  140 bibliographyHandler = new LiteratureItemListHandler(this);
59    }
60   
 
61  133 toggle public final void init() {
62  133 qedeq = null;
63    }
64   
65    /**
66    * Get qedeq value object.
67    *
68    * @return Qedeq object.
69    */
 
70  132 toggle public final Qedeq getQedeq() {
71  132 return qedeq;
72    }
73   
 
74  586 toggle public final void startElement(final String name, final SimpleAttributes attributes)
75    throws XmlSyntaxException {
76  586 if (getStartTag().equals(name)) {
77  133 qedeq = new QedeqVo();
78  453 } else if (headerHandler.getStartTag().equals(name)) {
79  133 changeHandler(headerHandler, name, attributes);
80  320 } else if (chapterHandler.getStartTag().equals(name)) {
81  303 changeHandler(chapterHandler, name, attributes);
82  17 } else if (bibliographyHandler.getStartTag().equals(name)) {
83  17 changeHandler(bibliographyHandler, name, attributes);
84    } else {
85  0 throw XmlSyntaxException.createUnexpectedTagException(name);
86    }
87    }
88   
 
89  586 toggle public final void endElement(final String name) throws XmlSyntaxException {
90  586 if (getStartTag().equals(name)) {
91    // nothing to do
92  453 } else if (headerHandler.getStartTag().equals(name)) {
93  133 qedeq.setHeader(headerHandler.getHeader());
94  320 } else if (chapterHandler.getStartTag().equals(name)) {
95  303 qedeq.addChapter(chapterHandler.getChapter());
96  17 } else if (bibliographyHandler.getStartTag().equals(name)) {
97  17 qedeq.setLiteratureItemList(bibliographyHandler.getLiteratureItemList());
98    } else {
99  0 throw XmlSyntaxException.createUnexpectedTagException(name);
100    }
101    }
102   
103    }