-package org.simantics.xml.sax.base;\r
-\r
-import java.util.HashMap;\r
-import java.util.HashSet;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-\r
-public abstract class XMLElementNamedChildParserBase implements XMLElementNamedChildParser{\r
- \r
- private Map<String,Class<? extends XMLElementParser>> namedParsers = new HashMap<String, Class<? extends XMLElementParser>>();\r
- private Set<Class<? extends XMLElementParser>> parsers = new HashSet<Class<? extends XMLElementParser>>();\r
- \r
- @Override\r
- public Class<? extends XMLElementParser> getParser(Map<String, XMLElementParser> parsers, ParserElement element, ParserElement child) {\r
- Class<? extends XMLElementParser> parserClass = namedParsers.get(child.qName);\r
- if (parserClass != null)\r
- return parserClass;\r
- XMLElementParser parser = parsers.get(child.qName);\r
- if (parser == null)\r
- return null;\r
- parserClass = parser.getClass();\r
- if (this.parsers.contains(parserClass))\r
- return parserClass;\r
- for (Class<?> c : this.parsers)\r
- if (c.isAssignableFrom(parserClass))\r
- return parserClass;\r
- return null;\r
- }\r
- \r
- public void addParser(String name, Class<? extends XMLElementParser> parser) {\r
- namedParsers.put(name, parser);\r
- }\r
- \r
- public void addParser(Class<? extends XMLElementParser> parser) {\r
- parsers.add(parser);\r
- }\r
- \r
-// @Override\r
-// public void configureChild(WriteGraph graph, Stack<Element> parents, Element element, Element child) throws DatabaseException {\r
-//\r
-// }\r
- \r
- @Override\r
- public void configure(WriteGraph graph, ParserElement element, String string) throws DatabaseException {\r
- \r
- }\r
- \r
- @Override\r
- public String getID() {\r
- return null;\r
- }\r
- \r
- @Override\r
- public int idPriority() {\r
- return 0;\r
- }\r
- \r
-\r
-}\r
+package org.simantics.xml.sax.base;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.simantics.db.WriteGraph;
+import org.simantics.db.exception.DatabaseException;
+
+public abstract class XMLElementNamedChildParserBase implements XMLElementNamedChildParser{
+
+ private Map<String,Class<? extends XMLElementParser>> namedParsers = new HashMap<String, Class<? extends XMLElementParser>>();
+ private Set<Class<? extends XMLElementParser>> parsers = new HashSet<Class<? extends XMLElementParser>>();
+
+ @Override
+ public Class<? extends XMLElementParser> getParser(Map<String, XMLElementParser> parsers, ParserElement element, ParserElement child) {
+ Class<? extends XMLElementParser> parserClass = namedParsers.get(child.getLocalName());
+ if (parserClass != null)
+ return parserClass;
+ XMLElementParser parser = parsers.get(child.getLocalName());
+ if (parser == null)
+ return null;
+ parserClass = parser.getClass();
+ if (this.parsers.contains(parserClass))
+ return parserClass;
+ for (Class<?> c : this.parsers)
+ if (c.isAssignableFrom(parserClass))
+ return parserClass;
+ return null;
+ }
+
+ public void addParser(String name, Class<? extends XMLElementParser> parser) {
+ namedParsers.put(name, parser);
+ }
+
+ public void addParser(Class<? extends XMLElementParser> parser) {
+ parsers.add(parser);
+ }
+
+// @Override
+// public void configureChild(WriteGraph graph, Stack<Element> parents, Element element, Element child) throws DatabaseException {
+//
+// }
+
+ @Override
+ public void configure(WriteGraph graph, ParserElement element, String string) throws DatabaseException {
+
+ }
+
+ @Override
+ public String getID() {
+ return null;
+ }
+
+ @Override
+ public int idPriority() {
+ return 0;
+ }
+
+
+}