Clover coverage report - QedeqKernelSe Coverage Report
Coverage timestamp: Sa Okt 21 2006 08:24:31 CEST
file stats: LOC: 85   Methods: 5
NCLOC: 37   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
FormulaOrTermHandler.java 75% 83,3% 100% 84%
coverage coverage
 1    /* $Id: FormulaOrTermHandler.java,v 1.9 2006/10/20 20:23:02 m31 Exp $
 2    *
 3    * This file is part of the project "Hilbert II" - http://www.qedeq.org
 4    *
 5    * Copyright 2000-2006, 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.FormulaOrTerm;
 21    import org.qedeq.kernel.dto.module.FormulaOrTermVo;
 22    import org.qedeq.kernel.xml.handler.elli.ElementHandler;
 23    import org.qedeq.kernel.xml.parser.AbstractSimpleHandler;
 24    import org.qedeq.kernel.xml.parser.SyntaxException;
 25    import org.qedeq.kernel.xml.parser.SimpleAttributes;
 26   
 27   
 28    /**
 29    * Parse formula or term.
 30    *
 31    * @version $Revision: 1.9 $
 32    * @author Michael Meyling
 33    */
 34    public final class FormulaOrTermHandler extends AbstractSimpleHandler {
 35   
 36    /** Value object for term or formula. */
 37    private FormulaOrTerm formulaOrTerm;
 38   
 39    /** Handles {@link org.qedeq.kernel.base.elli.Element}s. */
 40    private final ElementHandler elementHandler;
 41   
 42   
 43    /**
 44    * Handles formulas or terms.
 45    *
 46    * @param handler Parent handler.
 47    * @param startTag Start tag for this handler.
 48    */
 49  100 public FormulaOrTermHandler(final AbstractSimpleHandler handler, final String startTag) {
 50  100 super(handler, startTag);
 51  100 elementHandler = new ElementHandler(this);
 52    }
 53   
 54  324 public final void init() {
 55  324 formulaOrTerm = null;
 56    }
 57   
 58    /**
 59    * Get parsed result.
 60    *
 61    * @return FormulaOrTerm.
 62    */
 63  324 public final FormulaOrTerm getFormulaOrTerm() {
 64  324 return formulaOrTerm;
 65    }
 66   
 67  648 public final void startElement(final String name, final SimpleAttributes attributes)
 68    throws SyntaxException {
 69  648 if (getStartTag().equals(name)) {
 70    // nothing to do
 71  324 } else if (getLevel() > 1) {
 72  324 changeHandler(elementHandler, name, attributes);
 73    } else {
 74  0 throw SyntaxException.createUnexpectedTagException(name);
 75    }
 76    }
 77   
 78  648 public final void endElement(final String name) throws SyntaxException {
 79  648 if (getStartTag().equals(name)) {
 80  324 formulaOrTerm = new FormulaOrTermVo(elementHandler.getElement());
 81  324 } else if (getLevel() <= 1) {
 82  0 throw SyntaxException.createUnexpectedTagException(name);
 83    }
 84    }
 85    }