/** * Returns the built-in hyperlink type, or {@link JRHyperlink#HYPERLINK_TYPE_CUSTOM JRHyperlink.HYPERLINK_TYPE_CUSTOM} * if the type is not a built-in type. * * @param hyperlink the hyperlink object * @return the hyperlink type */ public static byte getHyperlinkType(JRHyperlink hyperlink) { return getHyperlinkType(hyperlink.getLinkType()); }
protected JRBaseHyperlink(JRHyperlink link, JRBaseObjectFactory factory) { factory.put(link, this); linkType = link.getLinkType(); linkTarget = link.getLinkTarget(); hyperlinkReferenceExpression = factory.getExpression(link.getHyperlinkReferenceExpression()); hyperlinkAnchorExpression = factory.getExpression(link.getHyperlinkAnchorExpression()); hyperlinkPageExpression = factory.getExpression(link.getHyperlinkPageExpression()); hyperlinkTooltipExpression = factory.getExpression(link.getHyperlinkTooltipExpression()); hyperlinkParameters = copyHyperlinkParameters(link, factory); }
public void writeHyperlink(String tagName, XmlNamespace namespace, JRHyperlink hyperlink) throws IOException { if (hyperlink != null) { writer.startElement(tagName, namespace); writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_hyperlinkType, hyperlink.getLinkType(), JRHyperlinkHelper.HYPERLINK_TYPE_NONE); writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_hyperlinkTarget, hyperlink.getLinkTarget(), JRHyperlinkHelper.HYPERLINK_TARGET_SELF); writer.writeExpression(JRXmlConstants.ELEMENT_hyperlinkReferenceExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkReferenceExpression(), false); writer.writeExpression(JRXmlConstants.ELEMENT_hyperlinkAnchorExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkAnchorExpression(), false); writer.writeExpression(JRXmlConstants.ELEMENT_hyperlinkPageExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkPageExpression(), false); writer.writeExpression(JRXmlConstants.ELEMENT_hyperlinkTooltipExpression, JASPERREPORTS_NAMESPACE, hyperlink.getHyperlinkTooltipExpression(), false); writeHyperlinkParameters(hyperlink.getHyperlinkParameters()); writer.closeElement(true); } }
/** * Evaluate a hyperlink specification. * * @param hyperlink the hyperlink specification * @param expressionEvaluator the expression evaluator to use for evaluation the hyperlink expressions * @param evaluationType the evaluation type, as in {@link JRFillExpressionEvaluator#evaluate(JRExpression, byte) JRFillExpressionEvaluator.evaluate(JRExpression, byte)} * @return a {@link JRPrintHyperlink print hyperlink} resulted from the expression evaluations. * @throws JRException */ public static JRPrintHyperlink evaluateHyperlink(JRHyperlink hyperlink, JRFillExpressionEvaluator expressionEvaluator, byte evaluationType) throws JRException { if (hyperlink == null) { return null; } JRBasePrintHyperlink printHyperlink = new JRBasePrintHyperlink(); printHyperlink.setLinkType(hyperlink.getLinkType()); printHyperlink.setLinkTarget(hyperlink.getLinkTarget()); printHyperlink.setHyperlinkReference((String) expressionEvaluator.evaluate(hyperlink.getHyperlinkReferenceExpression(), evaluationType)); printHyperlink.setHyperlinkAnchor((String) expressionEvaluator.evaluate(hyperlink.getHyperlinkAnchorExpression(), evaluationType)); printHyperlink.setHyperlinkPage((Integer) expressionEvaluator.evaluate(hyperlink.getHyperlinkPageExpression(), evaluationType)); printHyperlink.setHyperlinkTooltip((String) expressionEvaluator.evaluate(hyperlink.getHyperlinkTooltipExpression(), evaluationType)); printHyperlink.setHyperlinkParameters(evaluateHyperlinkParameters(hyperlink, expressionEvaluator, evaluationType)); return printHyperlink; } }