aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2018-01-23 20:51:30 +0000
committerMichael Williamson <mike@zwobble.org>2018-01-23 20:51:30 +0000
commitc3c2151b4b0fc9b3226a5ec66e0f7952290f3d97 (patch)
treed5b216ff39695e77ae77dc4ae14a5dfa8f0ef0c5 /src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java
parentd88693d7be4d4d439e9ba9c338fc53e39be64ef6 (diff)
Pass list of Relationship instances into Relationships
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java b/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java
index c1dd511..d4d6f2e 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java
@@ -1,21 +1,25 @@
package org.zwobble.mammoth.internal.docx;
+import java.util.List;
import java.util.Map;
-import static org.zwobble.mammoth.internal.util.Maps.lookup;
-import static org.zwobble.mammoth.internal.util.Maps.map;
+import static org.zwobble.mammoth.internal.util.Lists.list;
+import static org.zwobble.mammoth.internal.util.Maps.*;
public class Relationships {
- public static final Relationships EMPTY = new Relationships(map());
+ public static final Relationships EMPTY = new Relationships(list());
- private final Map<String, Relationship> relationships;
+ private final Map<String, String> targetsByRelationshipId;
- public Relationships(Map<String, Relationship> relationships) {
- this.relationships = relationships;
+ public Relationships(List<Relationship> relationships) {
+ this.targetsByRelationshipId = toMap(relationships, relationship -> entry(
+ relationship.getRelationshipId(),
+ relationship.getTarget()
+ ));
}
- public Relationship findRelationshipById(String id) {
- return lookup(relationships, id)
- .orElseThrow(() -> new RuntimeException("Could not find relationship '" + id + "'"));
+ public String findTargetByRelationshipId(String relationshipId) {
+ return lookup(targetsByRelationshipId, relationshipId)
+ .orElseThrow(() -> new RuntimeException("Could not find relationship '" + relationshipId + "'"));
}
}