net.sf.jasperreports.engine.base.JRBasePrintHyperlink Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jasperreports Show documentation
Show all versions of jasperreports Show documentation
Free Java Reporting Library
/*
* JasperReports - Free Java Reporting Library.
* Copyright (C) 2001 - 2019 TIBCO Software Inc. All rights reserved.
* http://www.jaspersoft.com
*
* Unless you have purchased a commercial license agreement from Jaspersoft,
* the following license terms apply:
*
* This program is part of JasperReports.
*
* JasperReports is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* JasperReports is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with JasperReports. If not, see .
*/
package net.sf.jasperreports.engine.base;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import net.sf.jasperreports.engine.JRConstants;
import net.sf.jasperreports.engine.JRHyperlinkHelper;
import net.sf.jasperreports.engine.JRPrintHyperlink;
import net.sf.jasperreports.engine.JRPrintHyperlinkParameter;
import net.sf.jasperreports.engine.JRPrintHyperlinkParameters;
import net.sf.jasperreports.engine.type.HyperlinkTargetEnum;
import net.sf.jasperreports.engine.type.HyperlinkTypeEnum;
/**
* Stand-alone implementation of {@link JRPrintHyperlink JRPrintHyperlink}.
*
* @author Lucian Chirita ([email protected])
*/
public class JRBasePrintHyperlink implements JRPrintHyperlink, Serializable
{
private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID;
private String linkType;
private String linkTarget;
private String hyperlinkReference;
private String hyperlinkAnchor;
private Integer hyperlinkPage;
private String hyperlinkTooltip;
private JRPrintHyperlinkParameters hyperlinkParameters;
/**
* Creates a blank hyperlink.
*/
public JRBasePrintHyperlink()
{
}
@Override
public String getHyperlinkAnchor()
{
return hyperlinkAnchor;
}
@Override
public Integer getHyperlinkPage()
{
return hyperlinkPage;
}
@Override
public JRPrintHyperlinkParameters getHyperlinkParameters()
{
return hyperlinkParameters;
}
@Override
public String getHyperlinkReference()
{
return hyperlinkReference;
}
@Override
public HyperlinkTargetEnum getHyperlinkTargetValue()
{
return JRHyperlinkHelper.getHyperlinkTargetValue(getLinkTarget());
}
@Override
public HyperlinkTypeEnum getHyperlinkTypeValue()
{
return JRHyperlinkHelper.getHyperlinkTypeValue(getLinkType());
}
@Override
public String getLinkType()
{
return linkType;
}
@Override
public String getLinkTarget()
{
return linkTarget;
}
@Override
public void setHyperlinkAnchor(String hyperlinkAnchor)
{
this.hyperlinkAnchor = hyperlinkAnchor;
}
@Override
public void setHyperlinkPage(Integer hyperlinkPage)
{
this.hyperlinkPage = hyperlinkPage;
}
@Override
public void setHyperlinkParameters(JRPrintHyperlinkParameters parameters)
{
this.hyperlinkParameters = parameters;
}
@Override
public void setHyperlinkReference(String hyperlinkReference)
{
this.hyperlinkReference = hyperlinkReference;
}
@Override
public void setHyperlinkTarget(HyperlinkTargetEnum hyperlinkTarget)
{
setLinkTarget(JRHyperlinkHelper.getLinkTarget(hyperlinkTarget));
}
@Override
public void setLinkTarget(String linkTarget)
{
this.linkTarget = linkTarget;
}
@Override
public void setHyperlinkType(HyperlinkTypeEnum hyperlinkType)
{
setLinkType(JRHyperlinkHelper.getLinkType(hyperlinkType));
}
@Override
public void setLinkType(String type)
{
this.linkType = type;
}
/**
* Adds a custom hyperlink parameter.
*
* @param parameter the parameter to add
* @see #getHyperlinkParameters()
* @see JRPrintHyperlinkParameters#addParameter(JRPrintHyperlinkParameter)
*/
public void addHyperlinkParameter(JRPrintHyperlinkParameter parameter)
{
if (hyperlinkParameters == null)
{
hyperlinkParameters = new JRPrintHyperlinkParameters();
}
hyperlinkParameters.addParameter(parameter);
}
@Override
public String getHyperlinkTooltip()
{
return hyperlinkTooltip;
}
@Override
public void setHyperlinkTooltip(String hyperlinkTooltip)
{
this.hyperlinkTooltip = hyperlinkTooltip;
}
/*
* These fields are only for serialization backward compatibility.
*/
/**
* @deprecated
*/
private byte hyperlinkTarget;
@SuppressWarnings("deprecation")
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
{
in.defaultReadObject();
if (linkTarget == null)
{
linkTarget = JRHyperlinkHelper.getLinkTarget(HyperlinkTargetEnum.getByValue(hyperlinkTarget));
}
}
}