aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/xml/NamespacePrefixes.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/xml/NamespacePrefixes.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/xml/NamespacePrefixes.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/NamespacePrefixes.java b/src/main/java/org/zwobble/mammoth/internal/xml/NamespacePrefixes.java
new file mode 100644
index 0000000..82872bd
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/internal/xml/NamespacePrefixes.java
@@ -0,0 +1,36 @@
+package org.zwobble.mammoth.internal.xml;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
+import static org.zwobble.mammoth.internal.util.MammothMaps.lookup;
+
+public class NamespacePrefixes {
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private final Map<String, String> uriToPrefix = new HashMap<>();
+
+ public Builder put(String prefix, String uri) {
+ uriToPrefix.put(uri, prefix);
+ return this;
+ }
+
+ public NamespacePrefixes build() {
+ return new NamespacePrefixes(uriToPrefix);
+ }
+ }
+
+ private final Map<String, String> uriToPrefix;
+
+ public NamespacePrefixes(Map<String, String> uriToPrefix) {
+ this.uriToPrefix = uriToPrefix;
+ }
+
+ public Optional<String> prefixForUri(String uri) {
+ return lookup(uriToPrefix, uri);
+ }
+}