]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/Element.java
Initial support for multi-schema parsers
[simantics/interop.git] / org.simantics.xml.sax.base / src / org / simantics / xml / sax / base / Element.java
1 package org.simantics.xml.sax.base;\r
2 \r
3 import java.io.Serializable;\r
4 import java.util.Collection;\r
5 import java.util.HashMap;\r
6 import java.util.Map;\r
7 \r
8 import org.simantics.db.Resource;\r
9 import org.xml.sax.Attributes;\r
10 \r
11 public class Element implements Serializable {\r
12         private static final long serialVersionUID = -5207502156942818875L;\r
13         String uri;\r
14         String localName;\r
15         String qName;\r
16         Map<String,Attribute> attributes = new HashMap<String, Attribute>();\r
17         \r
18         XMLElementParser elementParser;\r
19         XMLParser xmlParser;\r
20         \r
21         public Element(String uri, String localName, String qName, Attributes attributes) {\r
22                 this.uri = uri;\r
23                 this.localName = localName;\r
24                 this.qName = qName;\r
25                 for (int i = 0; i < attributes.getLength(); i++) {\r
26                         this.attributes.put(attributes.getLocalName(i),new Attribute(attributes.getLocalName(i),attributes.getQName(i),attributes.getURI(i),attributes.getValue(i)));\r
27                 }\r
28         }\r
29         \r
30         public Element(String uri, String localName, String qName, Collection<Attribute> attributes) {\r
31                 this.uri = uri;\r
32                 this.localName = localName;\r
33                 this.qName = qName;\r
34                 for (Attribute a : attributes) {\r
35                         this.attributes.put(a.localName,new Attribute(a.localName,a.qName,a.uri,a.value));\r
36                 }\r
37         }\r
38 \r
39         public String getUri() {\r
40                 return uri;\r
41         }\r
42 \r
43         public String getLocalName() {\r
44                 return localName;\r
45         }\r
46 \r
47         public String getQName() {\r
48                 return qName;\r
49         }\r
50 \r
51         public Collection<Attribute> getAttributes() {\r
52                 return attributes.values();\r
53         }\r
54         \r
55         public Attribute getAttribute(String name) {\r
56                 return attributes.get(name);\r
57         }\r
58 \r
59         private Resource data;\r
60         \r
61         public void setData(Resource data) {\r
62                 this.data = data;\r
63         }\r
64         \r
65         public Resource getData() {\r
66                 return data;\r
67         }\r
68         \r
69         public void setElementParser(XMLElementParser parser) {\r
70                 this.elementParser = parser;\r
71         }\r
72         \r
73         public XMLElementParser getElementParser() {\r
74                 return elementParser;\r
75         }\r
76         \r
77         public void setXMLParser(XMLParser parser) {\r
78                 this.xmlParser = parser;\r
79         }\r
80         \r
81         public XMLParser getXMLParser() {\r
82                 return xmlParser;\r
83         }\r
84 \r
85 }