protected JRCompilationSourceCode generateClass() throws JRException { StringBuffer sb = new StringBuffer(); generateClassStart(sb); generateDeclarations(sb); generateInitMethod(sb); generateInitParamsMethod(sb); if (fieldsMap != null) { generateInitFieldsMethod(sb); } generateInitVarsMethod(sb); List<JRExpression> expressions = sourceTask.getExpressions(); sb.append(generateMethod(JRExpression.EVALUATION_DEFAULT, expressions)); if (sourceTask.isOnlyDefaultEvaluation()) { List<JRExpression> empty = new ArrayList<JRExpression>(); sb.append(generateMethod(JRExpression.EVALUATION_OLD, empty)); sb.append(generateMethod(JRExpression.EVALUATION_ESTIMATED, empty)); } else { sb.append(generateMethod(JRExpression.EVALUATION_OLD, expressions)); sb.append(generateMethod(JRExpression.EVALUATION_ESTIMATED, expressions)); } sb.append("}\n"); String code = sb.toString(); JRExpression[] lineExpressions = parseSourceLines(code); return new JRDefaultCompilationSourceCode(code, lineExpressions); }