X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.xml.sax.base%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fsax%2Fbase%2FXMLElementNamedChildParserBase.java;fp=org.simantics.xml.sax.base%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fsax%2Fbase%2FXMLElementNamedChildParserBase.java;h=af1853d366bba7c1ffd3d2a00b736d7825119bc6;hb=070e46f1fba569c5f5cb70fba5681ffafcb88088;hp=f1bbdf3f0b0effc34c784b41aad8b1e0977c9bbe;hpb=99e240f9ca43aa78fbc6d71d7905c38c00bc679a;p=simantics%2Finterop.git diff --git a/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/XMLElementNamedChildParserBase.java b/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/XMLElementNamedChildParserBase.java index f1bbdf3..af1853d 100644 --- a/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/XMLElementNamedChildParserBase.java +++ b/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/XMLElementNamedChildParserBase.java @@ -1,62 +1,62 @@ -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> namedParsers = new HashMap>(); - private Set> parsers = new HashSet>(); - - @Override - public Class getParser(Map parsers, ParserElement element, ParserElement child) { - Class parserClass = namedParsers.get(child.qName); - if (parserClass != null) - return parserClass; - XMLElementParser parser = parsers.get(child.qName); - 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 parser) { - namedParsers.put(name, parser); - } - - public void addParser(Class parser) { - parsers.add(parser); - } - -// @Override -// public void configureChild(WriteGraph graph, Stack 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; - } - - -} +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> namedParsers = new HashMap>(); + private Set> parsers = new HashSet>(); + + @Override + public Class getParser(Map parsers, ParserElement element, ParserElement child) { + Class 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 parser) { + namedParsers.put(name, parser); + } + + public void addParser(Class parser) { + parsers.add(parser); + } + +// @Override +// public void configureChild(WriteGraph graph, Stack 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; + } + + +}