/* * JasperReports - Free Java Reporting Library. * Copyright (C) 2001 - 2009 Jaspersoft Corporation. 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 <http://www.gnu.org/licenses/>. */ 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 (lucianc@users.sourceforge.net) * @version $Id: JRBasePrintHyperlink.java 3715 2010-04-08 18:08:49Z teodord $ */ 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() { } public String getHyperlinkAnchor() { return hyperlinkAnchor; } public Integer getHyperlinkPage() { return hyperlinkPage; } public JRPrintHyperlinkParameters getHyperlinkParameters() { return hyperlinkParameters; } public String getHyperlinkReference() { return hyperlinkReference; } /** * @deprecated Replaced by {@link #getHyperlinkTargetValue()}. */ public byte getHyperlinkTarget() { return getHyperlinkTargetValue().getValue(); } public HyperlinkTargetEnum getHyperlinkTargetValue() { return JRHyperlinkHelper.getHyperlinkTargetValue(getLinkTarget()); } /** * @deprecated Replaced by {@link #getHyperlinkTypeValue()}. */ public byte getHyperlinkType() { return getHyperlinkTypeValue().getValue(); } public HyperlinkTypeEnum getHyperlinkTypeValue() { return JRHyperlinkHelper.getHyperlinkTypeValue(getLinkType()); } public String getLinkType() { return linkType; } public String getLinkTarget() { return linkTarget; } public void setHyperlinkAnchor(String hyperlinkAnchor) { this.hyperlinkAnchor = hyperlinkAnchor; } public void setHyperlinkPage(Integer hyperlinkPage) { this.hyperlinkPage = hyperlinkPage; } public void setHyperlinkParameters(JRPrintHyperlinkParameters parameters) { this.hyperlinkParameters = parameters; } public void setHyperlinkReference(String hyperlinkReference) { this.hyperlinkReference = hyperlinkReference; } /** * @deprecated Replaced by {@link #setHyperlinkTarget(HyperlinkTargetEnum)}. */ public void setHyperlinkTarget(byte hyperlinkTarget) { setHyperlinkTarget(HyperlinkTargetEnum.getByValue(hyperlinkTarget)); } public void setHyperlinkTarget(HyperlinkTargetEnum hyperlinkTarget) { setLinkTarget(JRHyperlinkHelper.getLinkTarget(hyperlinkTarget)); } public void setLinkTarget(String linkTarget) { this.linkTarget = linkTarget; } /** * @deprecated Replaced by {@link #setHyperlinkType(HyperlinkTypeEnum)}. */ public void setHyperlinkType(byte hyperlinkType) { setLinkType(JRHyperlinkHelper.getLinkType(hyperlinkType)); } public void setHyperlinkType(HyperlinkTypeEnum hyperlinkType) { setLinkType(JRHyperlinkHelper.getLinkType(hyperlinkType)); } 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); } public String getHyperlinkTooltip() { return hyperlinkTooltip; } public void setHyperlinkTooltip(String hyperlinkTooltip) { this.hyperlinkTooltip = hyperlinkTooltip; } /* * These fields are only for serialization backward compatibility. */ /** * @deprecated */ private byte hyperlinkTarget; private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); if (linkTarget == null) { linkTarget = JRHyperlinkHelper.getLinkTarget(HyperlinkTargetEnum.getByValue(hyperlinkTarget)); } } }