diff options
| author | Michael Williamson <mike@zwobble.org> | 2018-01-23 20:58:26 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2018-01-23 20:58:26 +0000 |
| commit | d54918c26a0e6eae954eaa2052c7e8ec546c3409 (patch) | |
| tree | 52e24f8179e8177e36476bf068f354daf0698e56 /src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java | |
| parent | c3c2151b4b0fc9b3226a5ec66e0f7952290f3d97 (diff) | |
Read relationship type
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.java | 9 |
1 files changed, 9 insertions, 0 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 d4d6f2e..bfd3fc3 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java @@ -10,16 +10,25 @@ public class Relationships { public static final Relationships EMPTY = new Relationships(list()); private final Map<String, String> targetsByRelationshipId; + private final Map<String, List<String>> targetsByType; public Relationships(List<Relationship> relationships) { this.targetsByRelationshipId = toMap(relationships, relationship -> entry( relationship.getRelationshipId(), relationship.getTarget() )); + this.targetsByType = toMultiMap(relationships, relationship -> entry( + relationship.getType(), + relationship.getTarget() + )); } public String findTargetByRelationshipId(String relationshipId) { return lookup(targetsByRelationshipId, relationshipId) .orElseThrow(() -> new RuntimeException("Could not find relationship '" + relationshipId + "'")); } + + public List<String> findTargetsByType(String type) { + return lookup(targetsByType, type).orElse(list()); + } } |
