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 [NodeHandler.java]

nameclass, %method, %block, %line, %
NodeHandler.java100% (1/1)100% (5/5)99%  (399/405)97%  (67/69)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class NodeHandler100% (1/1)100% (5/5)99%  (399/405)97%  (67/69)
endElement (String): void 100% (1/1)98%  (150/153)96%  (24/25)
startElement (String, SimpleAttributes): void 100% (1/1)98%  (167/170)96%  (27/28)
NodeHandler (AbstractSimpleHandler): void 100% (1/1)100% (75/75)100% (13/13)
getNode (): Node 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.base.module.Node;
19import org.qedeq.kernel.se.dto.module.NodeVo;
20import org.qedeq.kernel.xml.common.XmlSyntaxException;
21import org.qedeq.kernel.xml.handler.common.AbstractSimpleHandler;
22import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
23 
24 
25/**
26 * Handles node data.
27 *
28 * @author  Michael Meyling
29 */
30public class NodeHandler extends AbstractSimpleHandler {
31 
32    /** Handler for node name. The node name is a visible, language specific node reference,
33     * e.g. "Axiom of Choice" or "is set". */
34    private final LatexListHandler nameHandler;
35 
36    /** Handler for title. This is simply the title of this subsection. */
37    private final LatexListHandler titleHandler;
38 
39    /** Handler for the formula preceding text. */
40    private final LatexListHandler precedingHandler;
41 
42    /** Handler for the formula succeeding text. */
43    private final LatexListHandler succeedingHandler;
44 
45    /** Handler for an axiom. */
46    private final AxiomHandler axiomHandler;
47 
48    /** Handler for an initial predicate definition. */
49    private final InitialPredicateDefinitionHandler initialPredicateDefinitionHandler;
50 
51    /** Handler for a predicate definition. */
52    private final PredicateDefinitionHandler predicateDefinitionHandler;
53 
54    /** Handler for a function definition. */
55    private final FunctionDefinitionHandler functionDefinitionHandler;
56 
57    /** Handler for a initial function definition. */
58    private final InitialFunctionDefinitionHandler initialFunctionDefinitionHandler;
59 
60    /** Handler for a proposition. */
61    private final PropositionHandler propositionHandler;
62 
63    /** Handler for a rule. */
64    private final RuleHandler ruleHandler;
65 
66    /** Node value object. */
67    private NodeVo node;
68 
69 
70    /**
71     * Constructor.
72     *
73     * @param   handler Parent handler.
74     */
75    public NodeHandler(final AbstractSimpleHandler handler) {
76        super(handler, "NODE");
77        nameHandler = new LatexListHandler(this, "NAME");
78        titleHandler = new LatexListHandler(this, "TITLE");
79        precedingHandler = new LatexListHandler(this, "PRECEDING");
80        succeedingHandler = new LatexListHandler(this, "SUCCEEDING");
81        axiomHandler = new AxiomHandler(this);
82        initialPredicateDefinitionHandler = new InitialPredicateDefinitionHandler(this);
83        predicateDefinitionHandler = new PredicateDefinitionHandler(this);
84        functionDefinitionHandler = new FunctionDefinitionHandler(this);
85        initialFunctionDefinitionHandler = new InitialFunctionDefinitionHandler(this);
86        propositionHandler = new PropositionHandler(this);
87        ruleHandler = new RuleHandler(this);
88    }
89 
90    public final void init() {
91        node = null;
92    }
93 
94    /**
95     * Get node.
96     *
97     * @return  Node.
98     */
99    public final Node getNode() {
100        return node;
101    }
102 
103    public final void startElement(final String name, final SimpleAttributes attributes)
104            throws XmlSyntaxException {
105        if (getStartTag().equals(name)) {
106            node = new NodeVo();
107            node.setId(attributes.getString("id"));
108            node.setLevel(attributes.getString("level"));
109        } else if (nameHandler.getStartTag().equals(name)) {
110            changeHandler(nameHandler, name, attributes);
111        } else if (titleHandler.getStartTag().equals(name)) {
112            changeHandler(titleHandler, name, attributes);
113        } else if (precedingHandler.getStartTag().equals(name)) {
114            changeHandler(precedingHandler, name, attributes);
115        } else if (succeedingHandler.getStartTag().equals(name)) {
116            changeHandler(succeedingHandler, name, attributes);
117        } else if (axiomHandler.getStartTag().equals(name)) {
118            changeHandler(axiomHandler, name, attributes);
119        } else if (initialPredicateDefinitionHandler.getStartTag().equals(name)) {
120            changeHandler(initialPredicateDefinitionHandler, name, attributes);
121        } else if (predicateDefinitionHandler.getStartTag().equals(name)) {
122            changeHandler(predicateDefinitionHandler, name, attributes);
123        } else if (functionDefinitionHandler.getStartTag().equals(name)) {
124            changeHandler(functionDefinitionHandler, name, attributes);
125        } else if (initialFunctionDefinitionHandler.getStartTag().equals(name)) {
126            changeHandler(initialFunctionDefinitionHandler, name, attributes);
127        } else if (propositionHandler.getStartTag().equals(name)) {
128            changeHandler(propositionHandler, name, attributes);
129        } else if (ruleHandler.getStartTag().equals(name)) {
130            changeHandler(ruleHandler, name, attributes);
131        } else {
132            throw XmlSyntaxException.createUnexpectedTagException(name);
133        }
134    }
135 
136    public void endElement(final String name) throws XmlSyntaxException {
137        if (getStartTag().equals(name)) {
138            // thats why we handle it
139        } else if (nameHandler.getStartTag().equals(name)) {
140            node.setName(nameHandler.getLatexList());
141        } else if (titleHandler.getStartTag().equals(name)) {
142            node.setTitle(titleHandler.getLatexList());
143        } else if (precedingHandler.getStartTag().equals(name)) {
144            node.setPrecedingText(precedingHandler.getLatexList());
145        } else if (succeedingHandler.getStartTag().equals(name)) {
146            node.setSucceedingText(succeedingHandler.getLatexList());
147        } else if (axiomHandler.getStartTag().equals(name)) {
148            node.setNodeType(axiomHandler.getAxiom());
149        } else if (initialPredicateDefinitionHandler.getStartTag().equals(name)) {
150            node.setNodeType(initialPredicateDefinitionHandler.getInitialDefinition());
151        } else if (predicateDefinitionHandler.getStartTag().equals(name)) {
152            node.setNodeType(predicateDefinitionHandler.getDefinition());
153        } else if (functionDefinitionHandler.getStartTag().equals(name)) {
154            node.setNodeType(functionDefinitionHandler.getDefinition());
155        } else if (initialFunctionDefinitionHandler.getStartTag().equals(name)) {
156            node.setNodeType(initialFunctionDefinitionHandler.getDefinition());
157        } else if (propositionHandler.getStartTag().equals(name)) {
158            node.setNodeType(propositionHandler.getProposition());
159        } else if (ruleHandler.getStartTag().equals(name)) {
160            node.setNodeType(ruleHandler.getRule());
161        } else {
162            throw XmlSyntaxException.createUnexpectedTagException(name);
163       }
164    }
165 
166}

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