/* * 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.fill; import java.awt.Color; import java.io.IOException; import java.io.ObjectInputStream; import net.sf.jasperreports.engine.JRAlignment; import net.sf.jasperreports.engine.JRBox; import net.sf.jasperreports.engine.JRChart; import net.sf.jasperreports.engine.JRCommonImage; import net.sf.jasperreports.engine.JRConstants; import net.sf.jasperreports.engine.JRDefaultStyleProvider; import net.sf.jasperreports.engine.JRHyperlinkHelper; import net.sf.jasperreports.engine.JRImage; import net.sf.jasperreports.engine.JRLineBox; import net.sf.jasperreports.engine.JROrigin; import net.sf.jasperreports.engine.JRPen; import net.sf.jasperreports.engine.base.JRBaseLineBox; import net.sf.jasperreports.engine.base.JRBasePen; import net.sf.jasperreports.engine.type.FillEnum; import net.sf.jasperreports.engine.type.HorizontalAlignEnum; import net.sf.jasperreports.engine.type.HyperlinkTargetEnum; import net.sf.jasperreports.engine.type.HyperlinkTypeEnum; import net.sf.jasperreports.engine.type.ModeEnum; import net.sf.jasperreports.engine.type.OnErrorTypeEnum; import net.sf.jasperreports.engine.type.ScaleImageEnum; import net.sf.jasperreports.engine.type.VerticalAlignEnum; import net.sf.jasperreports.engine.util.JRBoxUtil; import net.sf.jasperreports.engine.util.JRPenUtil; import net.sf.jasperreports.engine.util.JRStyleResolver; import net.sf.jasperreports.engine.util.LineBoxWrapper; /** * Image information shared by multiple print image objects. * * @author Teodor Danciu (teodord@users.sourceforge.net) * @version $Id: JRTemplateImage.java 3833 2010-05-27 14:16:59Z teodord $ * @see JRTemplatePrintImage */ public class JRTemplateImage extends JRTemplateGraphicElement implements JRAlignment, JRBox, JRCommonImage { /** * */ private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID; /** * */ private ScaleImageEnum scaleImageValue = null; private Boolean isUsingCache = Boolean.TRUE; private HorizontalAlignEnum horizontalAlignmentValue = null; private VerticalAlignEnum verticalAlignmentValue = null; protected boolean isLazy = false; protected OnErrorTypeEnum onErrorTypeValue = OnErrorTypeEnum.ERROR; private String linkType; private String linkTarget; /** * */ private JRLineBox lineBox = null; /** * */ protected JRTemplateImage(JROrigin origin, JRDefaultStyleProvider defaultStyleProvider, JRImage image) { super(origin, defaultStyleProvider); setImage(image); } /** * */ protected JRTemplateImage(JROrigin origin, JRDefaultStyleProvider defaultStyleProvider, JRChart chart) { super(origin, defaultStyleProvider); setChart(chart); } /** * Creates a template image. * * @param origin the origin of the elements that will use this template * @param defaultStyleProvider the default style provider to use for * this template */ public JRTemplateImage(JROrigin origin, JRDefaultStyleProvider defaultStyleProvider) { super(origin, defaultStyleProvider); this.lineBox = new JRBaseLineBox(this); this.linePen = new JRBasePen(this); } /** * */ protected void setImage(JRImage image) { super.setGraphicElement(image); lineBox = image.getLineBox().clone(this); setScaleImage(image.getScaleImageValue()); setUsingCache(image.isUsingCache()); setHorizontalAlignment(image.getHorizontalAlignmentValue()); setVerticalAlignment(image.getVerticalAlignmentValue()); setLazy(image.isLazy()); setOnErrorType(image.getOnErrorTypeValue()); setLinkType(image.getLinkType()); setLinkTarget(image.getLinkTarget()); } /** * */ protected void setChart(JRChart chart) { super.setElement(chart); linePen = new JRBasePen(this); getLinePen().setLineWidth(0f); setFill(FillEnum.SOLID); copyLineBox(chart.getLineBox()); setLinkType(chart.getLinkType()); setLinkTarget(chart.getLinkTarget()); } /** * Copies box attributes. * * @param box the object to copy attributes from */ public void copyLineBox(JRLineBox box) { this.lineBox = box.clone(this); } /** * @deprecated Replaced by {@link #getLineBox()} */ public JRBox getBox() { return new LineBoxWrapper(getLineBox()); } /** * */ public JRLineBox getLineBox() { return lineBox; } /** * @deprecated Replaced by {@link #getLineBox()} */ public void setBox(JRBox box) { JRBoxUtil.setBoxToLineBox(box, lineBox); } /** * */ public ModeEnum getModeValue() { return JRStyleResolver.getMode(this, ModeEnum.TRANSPARENT); } /** * @deprecated Replaced by {@link #getScaleImageValue()}. */ public byte getScaleImage() { return getScaleImageValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnScaleImageValue()}. */ public Byte getOwnScaleImage() { return getOwnScaleImageValue() == null ? null : getOwnScaleImageValue().getValueByte(); } /** * @deprecated Replaced by {@link #setScaleImage(ScaleImageEnum)}. */ public void setScaleImage(byte scaleImage) { setScaleImage(ScaleImageEnum.getByValue(scaleImage)); } /** * @deprecated Replaced by {@link #setScaleImage(ScaleImageEnum)}. */ public void setScaleImage(Byte scaleImage) { setScaleImage(ScaleImageEnum.getByValue(scaleImage)); } /** * */ public ScaleImageEnum getScaleImageValue() { return JRStyleResolver.getScaleImageValue(this); } /** * */ public ScaleImageEnum getOwnScaleImageValue() { return this.scaleImageValue; } /** * */ public void setScaleImage(ScaleImageEnum scaleImageValue) { this.scaleImageValue = scaleImageValue; } /** * */ public boolean isUsingCache() { return isUsingCache == null ? true : isUsingCache.booleanValue(); } /** * */ public void setUsingCache(boolean isUsingCache) { this.isUsingCache = (isUsingCache ? Boolean.TRUE : Boolean.FALSE); } /** * @deprecated Replaced by {@link #getHorizontalAlignmentValue()}. */ public byte getHorizontalAlignment() { return getHorizontalAlignmentValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnHorizontalAlignmentValue()}. */ public Byte getOwnHorizontalAlignment() { return getOwnHorizontalAlignmentValue() == null ? null : getOwnHorizontalAlignmentValue().getValueByte(); } /** * */ public HorizontalAlignEnum getHorizontalAlignmentValue() { return JRStyleResolver.getHorizontalAlignmentValue(this); } /** * */ public HorizontalAlignEnum getOwnHorizontalAlignmentValue() { return horizontalAlignmentValue; } /** * @deprecated Replaced by {@link #setHorizontalAlignment(HorizontalAlignEnum)}. */ public void setHorizontalAlignment(byte horizontalAlignment) { setHorizontalAlignment(HorizontalAlignEnum.getByValue(horizontalAlignment)); } /** * @deprecated Replaced by {@link #setHorizontalAlignment(HorizontalAlignEnum)}. */ public void setHorizontalAlignment(Byte horizontalAlignment) { setHorizontalAlignment(HorizontalAlignEnum.getByValue(horizontalAlignment)); } /** * */ public void setHorizontalAlignment(HorizontalAlignEnum horizontalAlignmentValue) { this.horizontalAlignmentValue = horizontalAlignmentValue; } /** * @deprecated Replaced by {@link #getVerticalAlignmentValue()}. */ public byte getVerticalAlignment() { return getVerticalAlignmentValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnVerticalAlignmentValue()}. */ public Byte getOwnVerticalAlignment() { return getOwnVerticalAlignmentValue() == null ? null : getOwnVerticalAlignmentValue().getValueByte(); } /** * */ public VerticalAlignEnum getVerticalAlignmentValue() { return JRStyleResolver.getVerticalAlignmentValue(this); } /** * */ public VerticalAlignEnum getOwnVerticalAlignmentValue() { return verticalAlignmentValue; } /** * @deprecated Replaced by {@link #setVerticalAlignment(VerticalAlignEnum)}. */ public void setVerticalAlignment(byte verticalAlignment) { setVerticalAlignment(VerticalAlignEnum.getByValue(verticalAlignment)); } /** * @deprecated Replaced by {@link #setVerticalAlignment(VerticalAlignEnum)}. */ public void setVerticalAlignment(Byte verticalAlignment) { setVerticalAlignment(VerticalAlignEnum.getByValue(verticalAlignment)); } /** * */ public void setVerticalAlignment(VerticalAlignEnum verticalAlignmentValue) { this.verticalAlignmentValue = verticalAlignmentValue; } /** * */ public boolean isLazy() { return isLazy; } /** * */ public void setLazy(boolean isLazy) { this.isLazy = isLazy; } /** * @deprecated Replaced by {@link #getOnErrorTypeValue()}. */ public byte getOnErrorType() { return getOnErrorTypeValue().getValue(); } /** * @deprecated Replaced by {@link #setOnErrorType(OnErrorTypeEnum)}. */ public void setOnErrorType(byte onErrorType) { setOnErrorType(OnErrorTypeEnum.getByValue(onErrorType)); } /** * */ public OnErrorTypeEnum getOnErrorTypeValue() { return this.onErrorTypeValue; } /** * */ public void setOnErrorType(OnErrorTypeEnum onErrorTypeValue) { this.onErrorTypeValue = onErrorTypeValue; } /** * @deprecated Replaced by {@link #getHyperlinkTypeValue()}. */ public byte getHyperlinkType() { return getHyperlinkTypeValue().getValue(); } /** * Retrieves the hyperlink type for the element. * <p> * The actual hyperlink type is determined by {@link #getLinkType() getLinkType()}. * This method can is used to determine whether the hyperlink type is one of the * built-in types or a custom type. * When hyperlink is of custom type, {@link HyperlinkTypeEnum#CUSTOM CUSTOM} is returned. * </p> * @return one of the hyperlink type constants * @see #getLinkType() */ public HyperlinkTypeEnum getHyperlinkTypeValue() { return JRHyperlinkHelper.getHyperlinkTypeValue(getLinkType()); } /** * @deprecated Replaced by {@link #setHyperlinkType(HyperlinkTypeEnum)}. */ protected void setHyperlinkType(byte hyperlinkType) { setHyperlinkType(HyperlinkTypeEnum.getByValue(hyperlinkType)); } /** * Sets the link type as a built-in hyperlink type. * * @param hyperlinkType the built-in hyperlink type * @see #getLinkType() */ protected void setHyperlinkType(HyperlinkTypeEnum hyperlinkType) { setLinkType(JRHyperlinkHelper.getLinkType(hyperlinkType)); } /** * @deprecated Replaced by {@link #getHyperlinkTargetValue()}. */ public byte getHyperlinkTarget() { return getHyperlinkTargetValue().getValue(); } /** * */ public HyperlinkTargetEnum getHyperlinkTargetValue() { return JRHyperlinkHelper.getHyperlinkTargetValue(getLinkTarget()); } /** * @deprecated Replaced by {@link #setHyperlinkTarget(HyperlinkTargetEnum)}. */ protected void setHyperlinkTarget(byte hyperlinkTarget) { setHyperlinkTarget(HyperlinkTargetEnum.getByValue(hyperlinkTarget)); } /** * */ protected void setHyperlinkTarget(HyperlinkTargetEnum hyperlinkTarget) { setLinkTarget(JRHyperlinkHelper.getLinkTarget(hyperlinkTarget)); } /** * Returns the hyperlink target name. * <p> * The target name can be one of the built-in names * (Self, Blank, Top, Parent), * or can be an arbitrary name. * </p> * @return the hyperlink type */ public String getLinkTarget() { return linkTarget; } /** * Sets the hyperlink target name. * <p> * The target name can be one of the built-in names * (Self, Blank, Top, Parent), * or can be an arbitrary name. * </p> * @param linkTarget the hyperlink target name */ public void setLinkTarget(String linkTarget) { this.linkTarget = linkTarget; } /** * Returns the hyperlink type. * <p> * The type can be one of the built-in types * (Reference, LocalAnchor, LocalPage, RemoteAnchor, RemotePage), * or can be an arbitrary type. * </p> * @return the hyperlink type */ public String getLinkType() { return linkType; } /** * Sets the hyperlink type. * <p> * The type can be one of the built-in types * (Reference, LocalAnchor, LocalPage, RemoteAnchor, RemotePage), * or can be an arbitrary type. * </p> * @param linkType the hyperlink type */ public void setLinkType(String linkType) { this.linkType = linkType; } /** * */ public Float getDefaultLineWidth() { return JRPen.LINE_WIDTH_0; } /** * @deprecated Replaced by {@link #getBox()} */ public byte getBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBorder(byte border) { JRPenUtil.setLinePenFromPen(border, lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBorder(Byte border) { JRPenUtil.setLinePenFromPen(border, lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getBorderColor() { return lineBox.getPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnBorderColor() { return lineBox.getPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBorderColor(Color borderColor) { lineBox.getPen().setLineColor(borderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getPadding() { return lineBox.getPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnPadding() { return lineBox.getOwnPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setPadding(int padding) { lineBox.setPadding(padding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setPadding(Integer padding) { lineBox.setPadding(padding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getTopBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnTopBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopBorder(byte topBorder) { JRPenUtil.setLinePenFromPen(topBorder, lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopBorder(Byte topBorder) { JRPenUtil.setLinePenFromPen(topBorder, lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getTopBorderColor() { return lineBox.getTopPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnTopBorderColor() { return lineBox.getTopPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopBorderColor(Color topBorderColor) { lineBox.getTopPen().setLineColor(topBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getTopPadding() { return lineBox.getTopPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnTopPadding() { return lineBox.getOwnTopPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopPadding(int topPadding) { lineBox.setTopPadding(topPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopPadding(Integer topPadding) { lineBox.setTopPadding(topPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getLeftBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnLeftBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftBorder(byte leftBorder) { JRPenUtil.setLinePenFromPen(leftBorder, lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftBorder(Byte leftBorder) { JRPenUtil.setLinePenFromPen(leftBorder, lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getLeftBorderColor() { return lineBox.getLeftPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnLeftBorderColor() { return lineBox.getLeftPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftBorderColor(Color leftBorderColor) { lineBox.getLeftPen().setLineColor(leftBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getLeftPadding() { return lineBox.getLeftPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnLeftPadding() { return lineBox.getOwnLeftPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftPadding(int leftPadding) { lineBox.setLeftPadding(leftPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftPadding(Integer leftPadding) { lineBox.setLeftPadding(leftPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getBottomBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnBottomBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomBorder(byte bottomBorder) { JRPenUtil.setLinePenFromPen(bottomBorder, lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomBorder(Byte bottomBorder) { JRPenUtil.setLinePenFromPen(bottomBorder, lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getBottomBorderColor() { return lineBox.getBottomPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnBottomBorderColor() { return lineBox.getBottomPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomBorderColor(Color bottomBorderColor) { lineBox.getBottomPen().setLineColor(bottomBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getBottomPadding() { return lineBox.getBottomPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnBottomPadding() { return lineBox.getOwnBottomPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomPadding(int bottomPadding) { lineBox.setBottomPadding(bottomPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomPadding(Integer bottomPadding) { lineBox.setBottomPadding(bottomPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getRightBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnRightBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightBorder(byte rightBorder) { JRPenUtil.setLinePenFromPen(rightBorder, lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightBorder(Byte rightBorder) { JRPenUtil.setLinePenFromPen(rightBorder, lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getRightBorderColor() { return lineBox.getRightPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnRightBorderColor() { return lineBox.getRightPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightBorderColor(Color rightBorderColor) { lineBox.getRightPen().setLineColor(rightBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getRightPadding() { return lineBox.getRightPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnRightPadding() { return lineBox.getOwnRightPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightPadding(int rightPadding) { lineBox.setRightPadding(rightPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightPadding(Integer rightPadding) { lineBox.setRightPadding(rightPadding); } /* * These fields are only for serialization backward compatibility. */ private int PSEUDO_SERIAL_VERSION_UID = JRConstants.PSEUDO_SERIAL_VERSION_UID; //NOPMD /** * @deprecated */ private Byte horizontalAlignment = null; /** * @deprecated */ private Byte verticalAlignment = null; /** * @deprecated */ private Byte border = null; /** * @deprecated */ private Byte topBorder = null; /** * @deprecated */ private Byte leftBorder = null; /** * @deprecated */ private Byte bottomBorder = null; /** * @deprecated */ private Byte rightBorder = null; /** * @deprecated */ private Color borderColor = null; /** * @deprecated */ private Color topBorderColor = null; /** * @deprecated */ private Color leftBorderColor = null; /** * @deprecated */ private Color bottomBorderColor = null; /** * @deprecated */ private Color rightBorderColor = null; /** * @deprecated */ private Integer padding; /** * @deprecated */ private Integer topPadding = null; /** * @deprecated */ private Integer leftPadding = null; /** * @deprecated */ private Integer bottomPadding = null; /** * @deprecated */ private Integer rightPadding = null; /** * @deprecated */ private byte hyperlinkType; /** * @deprecated */ private byte hyperlinkTarget; /** * @deprecated */ private Byte scaleImage = null; /** * @deprecated */ private byte onErrorType; private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); if (PSEUDO_SERIAL_VERSION_UID < JRConstants.PSEUDO_SERIAL_VERSION_UID_3_7_2) { horizontalAlignmentValue = HorizontalAlignEnum.getByValue(horizontalAlignment); verticalAlignmentValue = VerticalAlignEnum.getByValue(verticalAlignment); scaleImageValue = ScaleImageEnum.getByValue(scaleImage); onErrorTypeValue = OnErrorTypeEnum.getByValue(onErrorType); horizontalAlignment = null; verticalAlignment = null; scaleImage = null; } if (lineBox == null) { lineBox = new JRBaseLineBox(this); JRBoxUtil.setToBox( border, topBorder, leftBorder, bottomBorder, rightBorder, borderColor, topBorderColor, leftBorderColor, bottomBorderColor, rightBorderColor, padding, topPadding, leftPadding, bottomPadding, rightPadding, lineBox ); border = null; topBorder = null; leftBorder = null; bottomBorder = null; rightBorder = null; borderColor = null; topBorderColor = null; leftBorderColor = null; bottomBorderColor = null; rightBorderColor = null; padding = null; topPadding = null; leftPadding = null; bottomPadding = null; rightPadding = null; } if (linkType == null) { linkType = JRHyperlinkHelper.getLinkType(HyperlinkTypeEnum.getByValue(hyperlinkType)); } if (linkTarget == null) { linkTarget = JRHyperlinkHelper.getLinkTarget(HyperlinkTargetEnum.getByValue(hyperlinkTarget)); } } }