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.dto.module.AuthorVo;
19 import org.qedeq.kernel.xml.common.XmlSyntaxException;
20 import org.qedeq.kernel.xml.handler.common.AbstractSimpleHandler;
21 import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
22
23
24
25
26
27
28
29 public class AuthorHandler extends AbstractSimpleHandler {
30
31
32 private AuthorVo author;
33
34
35 private String email;
36
37
38 private final LatexHandler authorNameHandler;
39
40
41
42
43
44
45
46 public AuthorHandler(final AbstractSimpleHandler handler) {
47 super(handler, "AUTHOR");
48 authorNameHandler = new LatexHandler(this, "NAME");
49 }
50
51 public final void init() {
52 author = null;
53 email = null;
54 }
55
56
57
58
59
60
61 public final AuthorVo getAuthor() {
62 return author;
63 }
64
65 public final void startElement(final String name, final SimpleAttributes attributes)
66 throws XmlSyntaxException {
67 if (getStartTag().equals(name)) {
68 email = attributes.getString("email");
69 } else if (authorNameHandler.getStartTag().equals(name)) {
70 changeHandler(authorNameHandler, name, attributes);
71 } else {
72 throw XmlSyntaxException.createUnexpectedTagException(name);
73 }
74 }
75
76 public final void endElement(final String name) throws XmlSyntaxException {
77 if (getStartTag().equals(name)) {
78
79 } else if (authorNameHandler.getStartTag().equals(name)) {
80 author = new AuthorVo(authorNameHandler.getLatex(), email);
81 } else {
82 throw XmlSyntaxException.createUnexpectedTagException(name);
83 }
84 }
85 }