aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/xml/parsing
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-26 17:50:01 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-26 17:55:50 +0000
commit3a83dfa0318e00847c88119a18c1614df790e3fb (patch)
tree1182f01ff99609b10c3a9c017b0f7a456b0abbfb /src/main/java/org/zwobble/mammoth/internal/xml/parsing
parent9eb7942ae589c6418d12dbde7c6ae1ffdcf3d1cd (diff)
Remove Guava usage from XML parsing
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/xml/parsing')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java b/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java
index fdd3dff..08a2c4e 100644
--- a/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java
+++ b/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java
@@ -1,6 +1,6 @@
package org.zwobble.mammoth.internal.xml.parsing;
-import com.google.common.collect.BiMap;
+import org.zwobble.mammoth.internal.xml.NamespacePrefixes;
import org.zwobble.mammoth.internal.xml.XmlElement;
import org.zwobble.mammoth.internal.xml.XmlTextNode;
@@ -10,13 +10,12 @@ import java.util.Deque;
import java.util.Map;
import static org.zwobble.mammoth.internal.util.MammothMaps.eagerMapKeys;
-import static org.zwobble.mammoth.internal.util.MammothMaps.lookup;
import static org.zwobble.mammoth.internal.util.MammothStrings.isNullOrEmpty;
public class XmlParser {
- private final BiMap<String, String> namespaces;
+ private final NamespacePrefixes namespaces;
- public XmlParser(BiMap<String, String> namespaces) {
+ public XmlParser(NamespacePrefixes namespaces) {
this.namespaces = namespaces;
}
@@ -53,10 +52,10 @@ public class XmlParser {
private String readName(ElementName name) {
if (isNullOrEmpty(name.getUri())) {
return name.getLocalName();
- } else if (namespaces.containsValue(name.getUri())) {
- return lookup(namespaces.inverse(), name.getUri()).get() + ":" + name.getLocalName();
} else {
- return "{" + name.getUri() + "}" + name.getLocalName();
+ return namespaces.prefixForUri(name.getUri())
+ .map(prefix -> prefix + ":" + name.getLocalName())
+ .orElseGet(() -> "{" + name.getUri() + "}" + name.getLocalName());
}
}