1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.qedeq.kernel.xml.handler.module;
17
18 import org.qedeq.kernel.se.base.module.Axiom;
19 import org.qedeq.kernel.se.dto.module.AxiomVo;
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
27
28
29
30
31 public class AxiomHandler extends AbstractSimpleHandler {
32
33
34 private final FormulaHandler formulaHandler;
35
36
37 private final LatexListHandler descriptionHandler;
38
39
40 private AxiomVo axiom;
41
42
43
44
45
46
47 public AxiomHandler(final AbstractSimpleHandler handler) {
48 super(handler, "AXIOM");
49 formulaHandler = new FormulaHandler(this);
50 descriptionHandler = new LatexListHandler(this, "DESCRIPTION");
51 }
52
53 public final void init() {
54 axiom = null;
55 }
56
57
58
59
60
61
62 public final Axiom getAxiom() {
63 return axiom;
64 }
65
66 public final void startElement(final String name, final SimpleAttributes attributes)
67 throws XmlSyntaxException {
68 if (getStartTag().equals(name)) {
69 axiom = new AxiomVo();
70 axiom.setDefinedOperator(attributes.getString("definedOperator"));
71 } else if (formulaHandler.getStartTag().equals(name)) {
72 changeHandler(formulaHandler, name, attributes);
73 } else if (descriptionHandler.getStartTag().equals(name)) {
74 changeHandler(descriptionHandler, name, attributes);
75 } else {
76 throw XmlSyntaxException.createUnexpectedTagException(name);
77 }
78 }
79
80 public final void endElement(final String name) throws XmlSyntaxException {
81 if (getStartTag().equals(name)) {
82
83 } else if (formulaHandler.getStartTag().equals(name)) {
84 axiom.setFormula(formulaHandler.getFormula());
85 } else if (descriptionHandler.getStartTag().equals(name)) {
86 axiom.setDescription(descriptionHandler.getLatexList());
87 } else {
88 throw XmlSyntaxException.createUnexpectedTagException(name);
89 }
90 }
91
92 }