EMMA Coverage Report (generated Fri Feb 14 08:28:31 UTC 2014)
[all classes][org.qedeq.kernel.xml.handler.module]

COVERAGE SUMMARY FOR SOURCE FILE [HeaderHandler.java]

nameclass, %method, %block, %line, %
HeaderHandler.java100% (1/1)100% (5/5)97%  (231/237)95%  (41/43)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class HeaderHandler100% (1/1)100% (5/5)97%  (231/237)95%  (41/43)
endElement (String): void 100% (1/1)97%  (85/88)93%  (14/15)
startElement (String, SimpleAttributes): void 100% (1/1)97%  (96/99)94%  (16/17)
HeaderHandler (AbstractSimpleHandler): void 100% (1/1)100% (43/43)100% (8/8)
getHeader (): HeaderVo 100% (1/1)100% (3/3)100% (1/1)
init (): void 100% (1/1)100% (4/4)100% (2/2)

1/* This file is part of the project "Hilbert II" - http://www.qedeq.org
2 *
3 * Copyright 2000-2014,  Michael Meyling <mime@qedeq.org>.
4 *
5 * "Hilbert II" is free software; you can redistribute
6 * it and/or modify it under the terms of the GNU General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15 
16package org.qedeq.kernel.xml.handler.module;
17 
18import org.qedeq.kernel.se.dto.module.HeaderVo;
19import org.qedeq.kernel.xml.common.XmlSyntaxException;
20import org.qedeq.kernel.xml.handler.common.AbstractSimpleHandler;
21import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
22 
23 
24/**
25 * Parse header informations.
26 *
27 * @version $Revision: 1.1 $
28 * @author  Michael Meyling
29 */
30public class HeaderHandler extends AbstractSimpleHandler {
31 
32    /** Value object for module header. */
33    private HeaderVo header;
34 
35    /** Handler for module specification. */
36    private final SpecificationHandler specificationHandler;
37 
38    /** Handler for module title. */
39    private final LatexListHandler titleHandler;
40 
41    /** Handler for module abstract. */
42    private final LatexListHandler abstractHandler;
43 
44    /** Handler for list of module authors. */
45    private final AuthorListHandler authorListHandler;
46 
47    /** Handler for list of module imports. */
48    private final ImportListHandler importListHandler;
49 
50    /** Handler for list of modules that need this one. */
51    private final UsedByListHandler usedbyListHandler;
52 
53 
54    /**
55     * Deals with header of qedeq file.
56     *
57     * @param   handler Parent handler.
58     */
59    public HeaderHandler(final AbstractSimpleHandler handler) {
60        super(handler, "HEADER");
61        titleHandler = new LatexListHandler(this, "TITLE");
62        abstractHandler = new LatexListHandler(this, "ABSTRACT");
63        specificationHandler = new SpecificationHandler(this);
64        authorListHandler = new AuthorListHandler(this);
65        importListHandler = new ImportListHandler(this);
66        usedbyListHandler = new UsedByListHandler(this);
67    }
68 
69    public final void init() {
70        header = null;
71    }
72 
73    /**
74     * Get header of qedeq module.
75     *
76     * @return  Header of qedeq module.
77     */
78    public final HeaderVo getHeader() {
79        return header;
80    }
81 
82    public final void startElement(final String name, final SimpleAttributes attributes)
83            throws XmlSyntaxException {
84        if (getStartTag().equals(name)) {
85            header = new HeaderVo();
86            header.setEmail(attributes.getString("email"));
87        } else if (specificationHandler.getStartTag().equals(name)) {
88            changeHandler(specificationHandler, name, attributes);
89        } else if (titleHandler.getStartTag().equals(name)) {
90            changeHandler(titleHandler, name, attributes);
91        } else if (abstractHandler.getStartTag().equals(name)) {
92            changeHandler(abstractHandler, name, attributes);
93        } else if (authorListHandler.getStartTag().equals(name)) {
94            changeHandler(authorListHandler, name, attributes);
95        } else if (importListHandler.getStartTag().equals(name)) {
96            changeHandler(importListHandler, name, attributes);
97        } else if (usedbyListHandler.getStartTag().equals(name)) {
98            changeHandler(usedbyListHandler, name, attributes);
99        } else {
100            throw XmlSyntaxException.createUnexpectedTagException(name);
101        }
102    }
103 
104    public final void endElement(final String name) throws XmlSyntaxException {
105        if (getStartTag().equals(name)) {
106            // nothing to do
107        } else if (specificationHandler.getStartTag().equals(name)) {
108            header.setSpecification(specificationHandler.getSpecification());
109        } else if (titleHandler.getStartTag().equals(name)) {
110            header.setTitle(titleHandler.getLatexList());
111        } else if (abstractHandler.getStartTag().equals(name)) {
112            header.setSummary(abstractHandler.getLatexList());
113        } else if (authorListHandler.getStartTag().equals(name)) {
114            header.setAuthorList(authorListHandler.getAuthorList());
115        } else if (importListHandler.getStartTag().equals(name)) {
116            header.setImportList(importListHandler.getImportList());
117        } else if (usedbyListHandler.getStartTag().equals(name)) {
118            header.setUsedByList(usedbyListHandler.getUsedByList());
119        } else {
120            throw XmlSyntaxException.createUnexpectedTagException(name);
121        }
122    }
123 
124}

[all classes][org.qedeq.kernel.xml.handler.module]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov