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.LocationListVo;
19 import org.qedeq.kernel.se.dto.module.LocationVo;
20 import org.qedeq.kernel.se.dto.module.SpecificationVo;
21 import org.qedeq.kernel.xml.common.XmlSyntaxException;
22 import org.qedeq.kernel.xml.handler.common.AbstractSimpleHandler;
23 import org.qedeq.kernel.xml.handler.common.SimpleAttributes;
24
25
26
27
28
29
30
31
32 public class SpecificationHandler extends AbstractSimpleHandler {
33
34
35 private SpecificationVo specification;
36
37
38 private String moduleName;
39
40
41 private String ruleVersion;
42
43
44 private LocationListVo locations;
45
46
47
48
49
50
51
52 public SpecificationHandler(final AbstractSimpleHandler handler) {
53 super(handler, "SPECIFICATION");
54 }
55
56 public final void init() {
57 specification = null;
58 moduleName = null;
59 ruleVersion = null;
60 locations = null;
61 }
62
63
64
65
66
67
68 public final SpecificationVo getSpecification() {
69 return specification;
70 }
71
72 public final void startElement(final String name, final SimpleAttributes attributes)
73 throws XmlSyntaxException {
74 if (getStartTag().equals(name)) {
75 locations = new LocationListVo();
76 moduleName = attributes.getString("name");
77 ruleVersion = attributes.getString("ruleVersion");
78 } else if ("LOCATIONS".equals(name)) {
79
80 } else if ("LOCATION".equals(name)) {
81 locations.add(new LocationVo(attributes.getString("value")));
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 specification = new SpecificationVo(moduleName, ruleVersion, locations);
90 } else if ("LOCATIONS".equals(name)) {
91
92 } else if ("LOCATION".equals(name)) {
93
94 } else {
95 throw XmlSyntaxException.createUnexpectedTagException(name);
96 }
97 }
98
99 }