// complex expression private Object getComplexExpressionValue(String name) { List<Object> values = new ArrayList<Object>(); DRIDesignComplexExpression complexExpression = jasperScriptlet.getComplexExpression(name); for (DRIDesignExpression valueExpression : complexExpression.getExpressions()) { values.add(getValue(valueExpression.getName())); } return complexExpression.evaluate(values, this); }
private DRIDesignExpression addExpression(DRIDesignExpression expression) { if (expression == null) { return null; } if (expression instanceof DRIDesignField) { return addField((DRIDesignField) expression); } else if (expression instanceof DRIDesignVariable) { addVariable((DRDesignVariable) expression); } else if (expression instanceof DRIDesignSystemExpression) { addSystemExpression((DRIDesignSystemExpression) expression); } else if (expression instanceof DRIDesignJasperExpression) { addJasperExpression((DRIDesignJasperExpression) expression); } else if (expression instanceof DRIDesignSimpleExpression) { addSimpleExpression((DRIDesignSimpleExpression) expression); } else if (expression instanceof DRIDesignComplexExpression) { addComplexExpression((DRIDesignComplexExpression) expression); } else { throw new DRDesignReportException( "Expression " + expression.getClass().getName() + " not supported"); } return expression; }