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.Qedeq;
19 import org.qedeq.kernel.se.dto.module.QedeqVo;
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.SaxDefaultHandler;
23 import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
24
25
26
27
28
29
30
31
32 public class QedeqHandler extends AbstractSimpleHandler {
33
34
35 private final HeaderHandler headerHandler;
36
37
38 private final ChapterHandler chapterHandler;
39
40
41 private final LiteratureItemListHandler bibliographyHandler;
42
43
44 private QedeqVo qedeq;
45
46
47
48
49
50
51
52 public QedeqHandler(final SaxDefaultHandler defaultHandler) {
53 super(defaultHandler, "QEDEQ");
54 headerHandler = new HeaderHandler(this);
55 chapterHandler = new ChapterHandler(this);
56 bibliographyHandler = new LiteratureItemListHandler(this);
57 }
58
59 public final void init() {
60 qedeq = null;
61 }
62
63
64
65
66
67
68 public final Qedeq getQedeq() {
69 return qedeq;
70 }
71
72 public final void startElement(final String name, final SimpleAttributes attributes)
73 throws XmlSyntaxException {
74 if (getStartTag().equals(name)) {
75 qedeq = new QedeqVo();
76 } else if (headerHandler.getStartTag().equals(name)) {
77 changeHandler(headerHandler, name, attributes);
78 } else if (chapterHandler.getStartTag().equals(name)) {
79 changeHandler(chapterHandler, name, attributes);
80 } else if (bibliographyHandler.getStartTag().equals(name)) {
81 changeHandler(bibliographyHandler, name, attributes);
82 } else {
83 throw XmlSyntaxException.createUnexpectedTagException(name);
84 }
85 }
86
87 public final void endElement(final String name) throws XmlSyntaxException {
88 if (getStartTag().equals(name)) {
89
90 } else if (headerHandler.getStartTag().equals(name)) {
91 qedeq.setHeader(headerHandler.getHeader());
92 } else if (chapterHandler.getStartTag().equals(name)) {
93 qedeq.addChapter(chapterHandler.getChapter());
94 } else if (bibliographyHandler.getStartTag().equals(name)) {
95 qedeq.setLiteratureItemList(bibliographyHandler.getLiteratureItemList());
96 } else {
97 throw XmlSyntaxException.createUnexpectedTagException(name);
98 }
99 }
100
101 }