aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-12-31 17:33:42 +0000
committerMichael Williamson <mike@zwobble.org>2015-12-31 17:33:42 +0000
commit10fb9097c90d531445a290e29dcb29f9bcc8885a (patch)
tree19bb5638f2b4e070f5ebe13416931aa946b31f4c /src/main
parent853ed35d873b5a3e95d5d332ffeb2211f772edfe (diff)
Add relationship XML reading
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/Relationship.java13
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/Relationships.java16
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/RelationshipsXml.java22
3 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/Relationship.java b/src/main/java/org/zwobble/mammoth/docx/Relationship.java
new file mode 100644
index 0000000..4d469d7
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/docx/Relationship.java
@@ -0,0 +1,13 @@
+package org.zwobble.mammoth.docx;
+
+public class Relationship {
+ private final String target;
+
+ public Relationship(String target) {
+ this.target = target;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+}
diff --git a/src/main/java/org/zwobble/mammoth/docx/Relationships.java b/src/main/java/org/zwobble/mammoth/docx/Relationships.java
new file mode 100644
index 0000000..d33a091
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/docx/Relationships.java
@@ -0,0 +1,16 @@
+package org.zwobble.mammoth.docx;
+
+import java.util.Map;
+import java.util.Optional;
+
+public class Relationships {
+ private final Map<String, Relationship> relationships;
+
+ public Relationships(Map<String, Relationship> relationships) {
+ this.relationships = relationships;
+ }
+
+ public Relationship findRelationshipById(String id) {
+ return Optional.ofNullable(relationships.get(id)).get();
+ }
+}
diff --git a/src/main/java/org/zwobble/mammoth/docx/RelationshipsXml.java b/src/main/java/org/zwobble/mammoth/docx/RelationshipsXml.java
new file mode 100644
index 0000000..550eed0
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/docx/RelationshipsXml.java
@@ -0,0 +1,22 @@
+package org.zwobble.mammoth.docx;
+
+import org.zwobble.mammoth.xml.XmlElement;
+
+import java.util.Map;
+
+import static com.google.common.collect.Maps.immutableEntry;
+import static org.zwobble.mammoth.util.MammothMaps.toMap;
+
+public class RelationshipsXml {
+ public static Relationships readRelationshipsXmlElement(XmlElement element) {
+ return new Relationships(toMap(
+ element.findChildren("relationships:Relationship"),
+ RelationshipsXml::readRelationship));
+ }
+
+ private static Map.Entry<String, Relationship> readRelationship(XmlElement element) {
+ return immutableEntry(
+ element.getAttribute("Id"),
+ new Relationship(element.getAttribute("Target")));
+ }
+}