Clover coverage report - QedeqKernelSe Coverage Report
Coverage timestamp: Do Dez 29 2005 18:38:29 CET
file stats: LOC: 95   Methods: 6
NCLOC: 45   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ElementHandler.java 100% 88,2% 83,3% 88,9%
coverage coverage
 1    /* $Id: ElementHandler.java,v 1.4 2005/08/14 06:58:26 m31 Exp $
 2    *
 3    * This file is part of the project "Hilbert II" - http://www.qedeq.org
 4    *
 5    * Copyright 2000-2005, 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.elli;
 19   
 20    import java.util.ArrayList;
 21    import java.util.List;
 22   
 23    import org.qedeq.kernel.base.elli.Element;
 24    import org.qedeq.kernel.base.elli.ElementList;
 25    import org.qedeq.kernel.dto.elli.AtomImpl;
 26    import org.qedeq.kernel.dto.elli.ElementListImpl;
 27    import org.qedeq.kernel.xml.parser.AbstractSimpleHandler;
 28    import org.qedeq.kernel.xml.parser.SimpleAttributes;
 29   
 30   
 31    /**
 32    * Parse elements. For example formulas and terms are build of
 33    * {@link org.qedeq.kernel.base.elli.Element}s.
 34    *
 35    * @version $Revision: 1.4 $
 36    * @author Michael Meyling
 37    */
 38    public final class ElementHandler extends AbstractSimpleHandler {
 39   
 40    /** Value object element. */
 41    private Element result;
 42   
 43    /** Element stack. */
 44    private final List elements;
 45   
 46   
 47    /**
 48    * Deals with elements.
 49    *
 50    * @param handler Parent handler.
 51    */
 52  68 public ElementHandler(final AbstractSimpleHandler handler) {
 53  68 super(handler);
 54  68 elements = new ArrayList(20);
 55    }
 56   
 57  92 public final void init() {
 58  92 result = null;
 59  92 elements.clear();
 60    }
 61   
 62    /**
 63    * Get parsed element.
 64    *
 65    * @return Parsed element.
 66    */
 67  92 public final Element getElement() {
 68  92 return result;
 69    }
 70   
 71  783 public final void startElement(final String name, final SimpleAttributes attributes) {
 72  783 final String[] values = attributes.getKeySortedStringValues();
 73  783 final ElementList element = new ElementListImpl(name, new Element[0]);
 74  783 for (int i = 0; i < values.length; i++) {
 75  597 element.add(new AtomImpl(values[i]));
 76    }
 77  783 elements.add(element);
 78    }
 79   
 80  783 public final void endElement(final String name) {
 81  783 ElementList last = (ElementList) elements.get(elements.size() - 1);
 82  783 elements.remove(elements.size() - 1);
 83  783 if (elements.size() > 0) {
 84  691 ((ElementList) elements.get(elements.size() - 1)).add(last);
 85    } else {
 86  92 result = last;
 87    }
 88    }
 89   
 90  0 public final void characters(final String name, final String data) {
 91  0 ElementList last = (ElementList) elements.get(elements.size() - 1);
 92  0 last.add(new AtomImpl(data));
 93    }
 94   
 95    }