Clover coverage report - QedeqKernelSe Coverage Report
Coverage timestamp: Sa Dez 22 2007 01:35:21 CET
file stats: LOC: 103   Methods: 5
NCLOC: 51   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
QedeqHandler.java 87,5% 91,3% 100% 90,9%
coverage coverage
 1    /* $Id: QedeqHandler.java,v 1.14 2007/12/21 23:33:46 m31 Exp $
 2    *
 3    * This file is part of the project "Hilbert II" - http://www.qedeq.org
 4    *
 5    * Copyright 2000-2007, 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.14 $
 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  490 public QedeqHandler(final SaxDefaultHandler defaultHandler) {
 55  490 super(defaultHandler, "QEDEQ");
 56  490 headerHandler = new HeaderHandler(this);
 57  490 chapterHandler = new ChapterHandler(this);
 58  489 bibliographyHandler = new LiteratureItemListHandler(this);
 59    }
 60   
 61  470 public final void init() {
 62  470 qedeq = null;
 63    }
 64   
 65    /**
 66    * Get qedeq value object.
 67    *
 68    * @return Qedeq object.
 69    */
 70  469 public final Qedeq getQedeq() {
 71  469 return qedeq;
 72    }
 73   
 74  1706 public final void startElement(final String name, final SimpleAttributes attributes)
 75    throws XmlSyntaxException {
 76  1706 if (getStartTag().equals(name)) {
 77  470 qedeq = new QedeqVo();
 78  1236 } else if (headerHandler.getStartTag().equals(name)) {
 79  470 changeHandler(headerHandler, name, attributes);
 80  766 } else if (chapterHandler.getStartTag().equals(name)) {
 81  740 changeHandler(chapterHandler, name, attributes);
 82  26 } else if (bibliographyHandler.getStartTag().equals(name)) {
 83  26 changeHandler(bibliographyHandler, name, attributes);
 84    } else {
 85  0 throw XmlSyntaxException.createUnexpectedTagException(name);
 86    }
 87    }
 88   
 89  1706 public final void endElement(final String name) throws XmlSyntaxException {
 90  1706 if (getStartTag().equals(name)) {
 91    // nothing to do
 92  1236 } else if (headerHandler.getStartTag().equals(name)) {
 93  470 qedeq.setHeader(headerHandler.getHeader());
 94  766 } else if (chapterHandler.getStartTag().equals(name)) {
 95  740 qedeq.addChapter(chapterHandler.getChapter());
 96  26 } else if (bibliographyHandler.getStartTag().equals(name)) {
 97  26 qedeq.setLiteratureItemList(bibliographyHandler.getLiteratureItemList());
 98    } else {
 99  0 throw XmlSyntaxException.createUnexpectedTagException(name);
 100    }
 101    }
 102   
 103    }