first commit

This commit is contained in:
2025-07-28 13:56:49 +05:30
commit e9eb805edb
3438 changed files with 520990 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
package net.sf.jasperreports.engine.fill;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRHyperlink;
import net.sf.jasperreports.engine.JRHyperlinkParameter;
import net.sf.jasperreports.engine.JRPrintHyperlink;
import net.sf.jasperreports.engine.JRPrintHyperlinkParameter;
import net.sf.jasperreports.engine.JRPrintHyperlinkParameters;
import net.sf.jasperreports.engine.base.JRBasePrintHyperlink;
public class JRFillHyperlinkHelper {
public static JRPrintHyperlinkParameters evaluateHyperlinkParameters(JRHyperlink hyperlink, JRFillExpressionEvaluator expressionEvaluator, byte evaluationType) throws JRException {
JRPrintHyperlinkParameters printParameters;
JRHyperlinkParameter[] hyperlinkParameters = hyperlink.getHyperlinkParameters();
if (hyperlinkParameters == null) {
printParameters = null;
} else {
printParameters = new JRPrintHyperlinkParameters();
for (int i = 0; i < hyperlinkParameters.length; i++) {
Class valueClass;
Object value;
JRHyperlinkParameter hyperlinkParameter = hyperlinkParameters[i];
JRExpression valueExpression = hyperlinkParameter.getValueExpression();
if (valueExpression == null) {
value = null;
valueClass = Object.class;
} else {
value = expressionEvaluator.evaluate(valueExpression, evaluationType);
valueClass = valueExpression.getValueClass();
}
JRPrintHyperlinkParameter printParam = new JRPrintHyperlinkParameter(hyperlinkParameter.getName(), valueClass.getName(), value);
printParameters.addParameter(printParam);
}
}
return printParameters;
}
public static JRPrintHyperlink evaluateHyperlink(JRHyperlink hyperlink, JRFillExpressionEvaluator expressionEvaluator, byte evaluationType) throws JRException {
JRBasePrintHyperlink printHyperlink = new JRBasePrintHyperlink();
printHyperlink.setLinkType(hyperlink.getLinkType());
printHyperlink.setHyperlinkTarget(hyperlink.getHyperlinkTarget());
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 (JRPrintHyperlink)printHyperlink;
}
}