Package net.sf.jasperreports.jdt
Class JRJdtCompiler
- java.lang.Object
-
- net.sf.jasperreports.engine.design.JRAbstractCompiler
-
- net.sf.jasperreports.engine.design.JRAbstractJavaCompiler
-
- net.sf.jasperreports.jdt.JRJdtCompiler
-
- All Implemented Interfaces:
JRCompiler
public class JRJdtCompiler extends JRAbstractJavaCompiler
- Author:
- Teodor Danciu (teodord@users.sourceforge.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JRJdtCompiler.CompilationUnit
static class
JRJdtCompiler.CompilationUnitResult
static class
JRJdtCompiler.CompilerRequestor
-
Field Summary
Fields Modifier and Type Field Description static String
EXCEPTION_MESSAGE_KEY_CLASS_LOADING_ERROR
static String
EXCEPTION_MESSAGE_KEY_NAME_ENVIRONMENT_ANSWER_INSTANCE_ERROR
-
Fields 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_ENABLED
-
Fields 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, reportClassFilter
-
Fields 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 Constructor Description JRJdtCompiler(JasperReportsContext jasperReportsContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkLanguage(String language)
Checks that the report language is supported by the compiler.protected String
compileUnits(JRCompilationUnit[] units, String classpath, File tempDirFile)
Compiles several expression evaluator units.protected JRCompilationSourceCode
generateSourceCode(JRSourceCompileTask sourceTask)
Generates expression evaluator code.protected String
getCompilerClass()
protected JRJdtCompiler.CompilerRequestor
getCompilerRequestor(JRCompilationUnit[] units)
protected Map<String,String>
getJdtSettings()
protected org.eclipse.jdt.internal.compiler.env.INameEnvironment
getNameEnvironment(JRCompilationUnit[] units)
protected InputStream
getResource(String resourceName)
protected String
getSourceFileName(String unitName)
Returns the name of the source file where generated source code for an unit is saved.protected Class<?>
loadClass(String className)
protected JRCompilationUnit
recreateCompileUnit(JRCompilationUnit compilationUnit, Set<Method> missingMethods)
-
Methods inherited from class net.sf.jasperreports.engine.design.JRAbstractJavaCompiler
classCacheKey, directValueFilter, getClassFromCache, loadClass, loadClass, loadEvaluator, putClassInCache, toCompiledClasses
-
Methods inherited from class net.sf.jasperreports.engine.design.JRAbstractCompiler
compileReport, createCompileData, createEvaluator, effectiveDirectValueFilter, getSourceFile, getUnitName, getUnitName, getUnitName, getUnitName, getUnitName, loadEvaluator, loadEvaluator, loadEvaluator
-
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_CLASS_LOADING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_CLASS_LOADING_ERROR
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_NAME_ENVIRONMENT_ANSWER_INSTANCE_ERROR
public static final String EXCEPTION_MESSAGE_KEY_NAME_ENVIRONMENT_ANSWER_INSTANCE_ERROR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JRJdtCompiler
public JRJdtCompiler(JasperReportsContext jasperReportsContext)
-
-
Method Detail
-
compileUnits
protected String compileUnits(JRCompilationUnit[] units, String classpath, File tempDirFile)
Description copied from class:JRAbstractCompiler
Compiles several expression evaluator units.The result of the compilation should be set by calling
setCompileData
on all compile units.- Specified by:
compileUnits
in classJRAbstractCompiler
- Parameters:
units
- the compilation unitsclasspath
- the compilation classpathtempDirFile
- temporary directory- Returns:
- a string containing compilation errors, or null if the compilation was successfull
-
getNameEnvironment
protected org.eclipse.jdt.internal.compiler.env.INameEnvironment getNameEnvironment(JRCompilationUnit[] units)
-
getCompilerRequestor
protected JRJdtCompiler.CompilerRequestor getCompilerRequestor(JRCompilationUnit[] units)
-
getResource
protected InputStream getResource(String resourceName)
-
loadClass
protected Class<?> loadClass(String className) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
checkLanguage
protected void checkLanguage(String language) throws JRException
Description copied from class:JRAbstractCompiler
Checks that the report language is supported by the compiler.- Specified by:
checkLanguage
in classJRAbstractCompiler
- Parameters:
language
- the report language- Throws:
JRException
-
recreateCompileUnit
protected JRCompilationUnit recreateCompileUnit(JRCompilationUnit compilationUnit, Set<Method> missingMethods)
-
generateSourceCode
protected JRCompilationSourceCode generateSourceCode(JRSourceCompileTask sourceTask) throws JRException
Description copied from class:JRAbstractCompiler
Generates expression evaluator code.- Specified by:
generateSourceCode
in classJRAbstractCompiler
- Parameters:
sourceTask
- the source code generation information- Returns:
- generated expression evaluator code
- Throws:
JRException
-
getSourceFileName
protected String getSourceFileName(String unitName)
Description copied from class:JRAbstractCompiler
Returns 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_FILE
is set, the generated source will be saved in a file having the name returned by this method.- Specified by:
getSourceFileName
in classJRAbstractCompiler
- Parameters:
unitName
- the unit name- Returns:
- the source file name
-
getCompilerClass
protected String getCompilerClass()
- Overrides:
getCompilerClass
in classJRAbstractCompiler
-
-