make hyperlink duplicatable

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1893456 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2021-09-19 22:38:59 +00:00
parent 82458b1b07
commit f44deb0829
1 changed files with 11 additions and 1 deletions

View File

@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import org.apache.poi.common.Duplicatable;
import org.apache.poi.common.usermodel.HyperlinkType; import org.apache.poi.common.usermodel.HyperlinkType;
import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship; import org.apache.poi.openxml4j.opc.PackageRelationship;
@ -34,7 +35,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHyperlink;
* Note - unlike with HSSF, many kinds of hyperlink * Note - unlike with HSSF, many kinds of hyperlink
* are largely stored as relations of the sheet * are largely stored as relations of the sheet
*/ */
public class XSSFHyperlink implements Hyperlink { public class XSSFHyperlink implements Hyperlink, Duplicatable {
final private HyperlinkType _type; final private HyperlinkType _type;
final private PackageRelationship _externalRel; final private PackageRelationship _externalRel;
final private CTHyperlink _ctHyperlink; //contains a reference to the cell where the hyperlink is anchored, getRef() final private CTHyperlink _ctHyperlink; //contains a reference to the cell where the hyperlink is anchored, getRef()
@ -412,4 +413,13 @@ public class XSSFHyperlink implements Hyperlink {
public void setTooltip(String text) { public void setTooltip(String text) {
_ctHyperlink.setTooltip(text); _ctHyperlink.setTooltip(text);
} }
/**
* @return a new XSSFHyperlink based on this
* @since POI 5.1.0
*/
@Override
public Duplicatable copy() {
return new XSSFHyperlink(this);
}
} }