From 6948f9031dccd3a5e5ddefb83b3e08d889f0b008 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 19 Apr 2024 10:59:30 +0000 Subject: [PATCH] add javadoc git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1917140 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/ooxml/POIXMLDocumentPart.java | 83 +++++++++++++------ 1 file changed, 56 insertions(+), 27 deletions(-) diff --git a/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLDocumentPart.java b/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLDocumentPart.java index b80309be9f..570f371258 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLDocumentPart.java +++ b/poi-ooxml/src/main/java/org/apache/poi/ooxml/POIXMLDocumentPart.java @@ -739,6 +739,62 @@ public class POIXMLDocumentPart { part.onDocumentRead(); } + /** + * Remove the reference relationship to the specified part in this package. + * + * @param relId the part which is to be removed + * @return true, if the relation was removed + * @since POI 5.2.6 + */ + public boolean removeReferenceRelationship(String relId) { + ReferenceRelationship existing = referenceRelationships.remove(relId); + if (existing != null) { + packagePart.removeRelationship(relId); + return true; + } + + return false; + } + + /** + * Get the reference relationship with the specified id. + * + * @param relId the relation id + * @return the reference relationship or {@code null} if not found + * @since POI 5.2.6 + */ + public ReferenceRelationship getReferenceRelationship(String relId) { + return referenceRelationships.get(relId); + } + + /** + * Create a new reference relationship for this POIXMLDocumentPart. + * + * @param uri the URI of the target part + * @param isExternal true, if the target is an external resource + * @param relId the relation id + * @return the created reference relationship + * @since POI 5.2.6 + */ + public HyperlinkRelationship createHyperlink(URI uri, boolean isExternal, String relId) { + PackageRelationship pr = packagePart.addRelationship(uri, isExternal ? TargetMode.EXTERNAL : TargetMode.INTERNAL, + PackageRelationshipTypes.HYPERLINK_PART, relId); + HyperlinkRelationship hyperlink = new HyperlinkRelationship(this, uri, isExternal, relId); + referenceRelationships.put(relId, hyperlink); + return hyperlink; + } + + /** + * Returns an unmodifiable list of reference relationships for this POIXMLDocumentPart. + * + * @return reference relationships + * @since POI 5.2.6 + */ + public List getReferenceRelationships() { + List list = new ArrayList<>(referenceRelationships.values()); + return Collections.unmodifiableList(list); + } + /** * Retrieves the core document part * @@ -772,31 +828,4 @@ public class POIXMLDocumentPart { throw new POIXMLException("OOXML file structure broken/invalid", e); } } - - public boolean removeReferenceRelationship(String relId) { - ReferenceRelationship existing = referenceRelationships.remove(relId); - if (existing != null) { - packagePart.removeRelationship(relId); - return true; - } - - return false; - } - - public ReferenceRelationship getReferenceRelationship(String relId) { - return referenceRelationships.get(relId); - } - - public HyperlinkRelationship createHyperlink(URI uri, boolean isExternal, String relId) { - PackageRelationship pr = packagePart.addRelationship(uri, isExternal ? TargetMode.EXTERNAL : TargetMode.INTERNAL, - PackageRelationshipTypes.HYPERLINK_PART, relId); - HyperlinkRelationship hyperlink = new HyperlinkRelationship(this, uri, isExternal, relId); - referenceRelationships.put(relId, hyperlink); - return hyperlink; - } - - public List getReferenceRelationships() { - List list = new ArrayList<>(referenceRelationships.values()); - return Collections.unmodifiableList(list); - } }