Skip to content

Commit

Permalink
add javadoc
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1917140 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
pjfanning committed Apr 19, 2024
1 parent ff7f1ea commit 6948f90
Showing 1 changed file with 56 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -739,6 +739,62 @@ public static void _invokeOnDocumentRead(POIXMLDocumentPart part) throws IOExcep
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<ReferenceRelationship> getReferenceRelationships() {
List<ReferenceRelationship> list = new ArrayList<>(referenceRelationships.values());
return Collections.unmodifiableList(list);
}

/**
* Retrieves the core document part
*
Expand Down Expand Up @@ -772,31 +828,4 @@ private static PackagePart getPartFromOPCPackage(OPCPackage pkg, String coreDocu
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<ReferenceRelationship> getReferenceRelationships() {
List<ReferenceRelationship> list = new ArrayList<>(referenceRelationships.values());
return Collections.unmodifiableList(list);
}
}

0 comments on commit 6948f90

Please sign in to comment.