Package net.sf.jasperreports.groovy
Class JRGroovyCompiler
java.lang.Object
net.sf.jasperreports.engine.design.JRAbstractCompiler
net.sf.jasperreports.engine.design.JRAbstractJavaCompiler
net.sf.jasperreports.groovy.JRGroovyCompiler
- All Implemented Interfaces:
JRCompiler
Calculator compiler that uses groovy to compile expressions.
- Author:
- Teodor Danciu (teodord@users.sourceforge.net), Peter Severin (peter_p_s@users.sourceforge.net)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class net.sf.jasperreports.engine.design.JRAbstractJavaCompiler
EXCEPTION_MESSAGE_KEY_EXPECTED_JAVA_LANGUAGE, EXCEPTION_MESSAGE_KEY_EXPRESSION_CLASS_NOT_LOADED, PROPERTY_EVALUATOR_CLASS_REFERENCE_FIX_ENABLEDFields inherited from class net.sf.jasperreports.engine.design.JRAbstractCompiler
EXCEPTION_MESSAGE_KEY_CROSSTAB_ID_NOT_FOUND, EXCEPTION_MESSAGE_KEY_DESIGN_COMPILE_ERROR, EXCEPTION_MESSAGE_KEY_LANGUAGE_NOT_SUPPORTED, EXCEPTION_MESSAGE_KEY_REPORT_EXPRESSIONS_COMPILE_ERROR, EXCEPTION_MESSAGE_KEY_TEMP_DIR_NOT_FOUND, jasperReportsContext, reportClassFilterFields inherited from interface net.sf.jasperreports.engine.design.JRCompiler
COMPILER_CLASS, COMPILER_CLASSPATH, COMPILER_KEEP_JAVA_FILE, COMPILER_PREFIX, COMPILER_TEMP_DIR -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckLanguage(String language) Checks that the report language is supported by the compiler.protected StringcompileUnits(JRCompilationUnit[] units, String classpath, File tempDirFile) Compiles several expression evaluator units.protected DirectExpressionValueFilterprotected JRCompilationSourceCodegenerateSourceCode(JRSourceCompileTask sourceTask) Generates expression evaluator code.protected StringgetSourceFileName(String unitName) Returns the name of the source file where generated source code for an unit is saved.protected Class<?> protected Class<?> loadClass(String className, CompiledClasses classes) protected JREvaluatorloadEvaluator(Serializable compileData, String className) Creates an expression evaluator instance from data saved when the report was compiled.Methods inherited from class net.sf.jasperreports.engine.design.JRAbstractJavaCompiler
classCacheKey, getClassFromCache, putClassInCache, toCompiledClassesMethods inherited from class net.sf.jasperreports.engine.design.JRAbstractCompiler
compileReport, createCompileData, createEvaluator, effectiveDirectValueFilter, getCompilerClass, getSourceFile, getUnitName, getUnitName, getUnitName, getUnitName, getUnitName, loadEvaluator, loadEvaluator, loadEvaluator
-
Field Details
-
EXCEPTION_MESSAGE_KEY_COMPILING_EXPRESSIONS_CLASS_FILE
- See Also:
-
EXCEPTION_MESSAGE_KEY_TOO_FEW_CLASSES_GENERATED
- See Also:
-
EXCEPTION_MESSAGE_KEY_TOO_MANY_CLASSES_GENERATED
- See Also:
-
EXCEPTION_MESSAGE_KEY_REPORT_NOT_COMPILED_FOR_CLASS_FILTERING
- See Also:
-
-
Constructor Details
-
JRGroovyCompiler
-
-
Method Details
-
directValueFilter
- Overrides:
directValueFilterin classJRAbstractJavaCompiler
-
compileUnits
protected String compileUnits(JRCompilationUnit[] units, String classpath, File tempDirFile) throws JRException Description copied from class:JRAbstractCompilerCompiles several expression evaluator units.The result of the compilation should be set by calling
setCompileDataon all compile units.- Specified by:
compileUnitsin classJRAbstractCompiler- Parameters:
units- the compilation unitsclasspath- the compilation classpathtempDirFile- temporary directory- Returns:
- a string containing compilation errors, or null if the compilation was successfull
- Throws:
JRException
-
checkLanguage
Description copied from class:JRAbstractCompilerChecks that the report language is supported by the compiler.- Specified by:
checkLanguagein classJRAbstractCompiler- Parameters:
language- the report language- Throws:
JRException
-
generateSourceCode
protected JRCompilationSourceCode generateSourceCode(JRSourceCompileTask sourceTask) throws JRException Description copied from class:JRAbstractCompilerGenerates expression evaluator code.- Specified by:
generateSourceCodein classJRAbstractCompiler- Parameters:
sourceTask- the source code generation information- Returns:
- generated expression evaluator code
- Throws:
JRException
-
getSourceFileName
Description copied from class:JRAbstractCompilerReturns the name of the source file where generated source code for an unit is saved.If the compiler needs source files for compilation or
COMPILER_KEEP_JAVA_FILEis set, the generated source will be saved in a file having the name returned by this method.- Specified by:
getSourceFileNamein classJRAbstractCompiler- Parameters:
unitName- the unit name- Returns:
- the source file name
-
loadClass
- Overrides:
loadClassin classJRAbstractJavaCompiler
-
loadClass
- Overrides:
loadClassin classJRAbstractJavaCompiler
-
loadEvaluator
Description copied from class:JRAbstractCompilerCreates an expression evaluator instance from data saved when the report was compiled.- Overrides:
loadEvaluatorin classJRAbstractJavaCompiler- Parameters:
compileData- the data saved when the report was compiledclassName- the evaluator unit name- Returns:
- an expression evaluator instance
- Throws:
JRException
-