Clover Coverage Report
Coverage timestamp: Fri Feb 14 2014 07:28:57 UTC
../../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
65   166   29   13
48   100   0.45   5
5     5.8  
1    
 
  NodeHandler       Line # 30 65 29 96.6% 0.9661017
 
  (117)
 
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   
16    package org.qedeq.kernel.xml.handler.module;
17   
18    import org.qedeq.kernel.se.base.module.Node;
19    import org.qedeq.kernel.se.dto.module.NodeVo;
20    import org.qedeq.kernel.xml.common.XmlSyntaxException;
21    import org.qedeq.kernel.xml.handler.common.AbstractSimpleHandler;
22    import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
23   
24   
25    /**
26    * Handles node data.
27    *
28    * @author Michael Meyling
29    */
 
30    public 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  680 toggle public NodeHandler(final AbstractSimpleHandler handler) {
76  680 super(handler, "NODE");
77  680 nameHandler = new LatexListHandler(this, "NAME");
78  680 titleHandler = new LatexListHandler(this, "TITLE");
79  680 precedingHandler = new LatexListHandler(this, "PRECEDING");
80  680 succeedingHandler = new LatexListHandler(this, "SUCCEEDING");
81  680 axiomHandler = new AxiomHandler(this);
82  680 initialPredicateDefinitionHandler = new InitialPredicateDefinitionHandler(this);
83  680 predicateDefinitionHandler = new PredicateDefinitionHandler(this);
84  680 functionDefinitionHandler = new FunctionDefinitionHandler(this);
85  680 initialFunctionDefinitionHandler = new InitialFunctionDefinitionHandler(this);
86  680 propositionHandler = new PropositionHandler(this);
87  680 ruleHandler = new RuleHandler(this);
88    }
89   
 
90  19972 toggle public final void init() {
91  19972 node = null;
92    }
93   
94    /**
95    * Get node.
96    *
97    * @return Node.
98    */
 
99  19972 toggle public final Node getNode() {
100  19972 return node;
101    }
102   
 
103  80882 toggle public final void startElement(final String name, final SimpleAttributes attributes)
104    throws XmlSyntaxException {
105  80882 if (getStartTag().equals(name)) {
106  19972 node = new NodeVo();
107  19972 node.setId(attributes.getString("id"));
108  19972 node.setLevel(attributes.getString("level"));
109  60910 } else if (nameHandler.getStartTag().equals(name)) {
110  10128 changeHandler(nameHandler, name, attributes);
111  50782 } else if (titleHandler.getStartTag().equals(name)) {
112  10120 changeHandler(titleHandler, name, attributes);
113  40662 } else if (precedingHandler.getStartTag().equals(name)) {
114  16777 changeHandler(precedingHandler, name, attributes);
115  23885 } else if (succeedingHandler.getStartTag().equals(name)) {
116  3913 changeHandler(succeedingHandler, name, attributes);
117  19972 } else if (axiomHandler.getStartTag().equals(name)) {
118  3671 changeHandler(axiomHandler, name, attributes);
119  16301 } else if (initialPredicateDefinitionHandler.getStartTag().equals(name)) {
120  393 changeHandler(initialPredicateDefinitionHandler, name, attributes);
121  15908 } else if (predicateDefinitionHandler.getStartTag().equals(name)) {
122  1334 changeHandler(predicateDefinitionHandler, name, attributes);
123  14574 } else if (functionDefinitionHandler.getStartTag().equals(name)) {
124  2650 changeHandler(functionDefinitionHandler, name, attributes);
125  11924 } else if (initialFunctionDefinitionHandler.getStartTag().equals(name)) {
126  9 changeHandler(initialFunctionDefinitionHandler, name, attributes);
127  11915 } else if (propositionHandler.getStartTag().equals(name)) {
128  10005 changeHandler(propositionHandler, name, attributes);
129  1910 } else if (ruleHandler.getStartTag().equals(name)) {
130  1910 changeHandler(ruleHandler, name, attributes);
131    } else {
132  0 throw XmlSyntaxException.createUnexpectedTagException(name);
133    }
134    }
135   
 
136  80882 toggle public void endElement(final String name) throws XmlSyntaxException {
137  80882 if (getStartTag().equals(name)) {
138    // thats why we handle it
139  60910 } else if (nameHandler.getStartTag().equals(name)) {
140  10128 node.setName(nameHandler.getLatexList());
141  50782 } else if (titleHandler.getStartTag().equals(name)) {
142  10120 node.setTitle(titleHandler.getLatexList());
143  40662 } else if (precedingHandler.getStartTag().equals(name)) {
144  16777 node.setPrecedingText(precedingHandler.getLatexList());
145  23885 } else if (succeedingHandler.getStartTag().equals(name)) {
146  3913 node.setSucceedingText(succeedingHandler.getLatexList());
147  19972 } else if (axiomHandler.getStartTag().equals(name)) {
148  3671 node.setNodeType(axiomHandler.getAxiom());
149  16301 } else if (initialPredicateDefinitionHandler.getStartTag().equals(name)) {
150  393 node.setNodeType(initialPredicateDefinitionHandler.getInitialDefinition());
151  15908 } else if (predicateDefinitionHandler.getStartTag().equals(name)) {
152  1334 node.setNodeType(predicateDefinitionHandler.getDefinition());
153  14574 } else if (functionDefinitionHandler.getStartTag().equals(name)) {
154  2650 node.setNodeType(functionDefinitionHandler.getDefinition());
155  11924 } else if (initialFunctionDefinitionHandler.getStartTag().equals(name)) {
156  9 node.setNodeType(initialFunctionDefinitionHandler.getDefinition());
157  11915 } else if (propositionHandler.getStartTag().equals(name)) {
158  10005 node.setNodeType(propositionHandler.getProposition());
159  1910 } else if (ruleHandler.getStartTag().equals(name)) {
160  1910 node.setNodeType(ruleHandler.getRule());
161    } else {
162  0 throw XmlSyntaxException.createUnexpectedTagException(name);
163    }
164    }
165   
166    }