From 10fb9097c90d531445a290e29dcb29f9bcc8885a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 31 Dec 2015 17:33:42 +0000 Subject: Add relationship XML reading --- .../org/zwobble/mammoth/docx/Relationship.java | 13 +++++++++++++ .../org/zwobble/mammoth/docx/Relationships.java | 16 ++++++++++++++++ .../org/zwobble/mammoth/docx/RelationshipsXml.java | 22 ++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 src/main/java/org/zwobble/mammoth/docx/Relationship.java create mode 100644 src/main/java/org/zwobble/mammoth/docx/Relationships.java create mode 100644 src/main/java/org/zwobble/mammoth/docx/RelationshipsXml.java (limited to 'src/main/java/org') 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 relationships; + + public Relationships(Map 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 readRelationship(XmlElement element) { + return immutableEntry( + element.getAttribute("Id"), + new Relationship(element.getAttribute("Target"))); + } +} -- cgit v1.2.3