Class JRAbstractJavaCompiler

    • Field Detail

      • PROPERTY_EVALUATOR_CLASS_REFERENCE_FIX_ENABLED

        public static final java.lang.String PROPERTY_EVALUATOR_CLASS_REFERENCE_FIX_ENABLED
        Property that indicates whether a legacy fix for a JVM issue related to evaluator classes generated by JasperReports is enabled. The fix is enabled by default. Due to the fix, the garbage collector might not be able to collect a classloader that loaded JasperReports classes. This would be inconvenient in scenarios in which JasperReports classes are repeatedly loaded by different classloaders, e.g. when JasperReports is part of the classpath of a web application which is often reloaded. In such scenarios, set this property to false.
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_EXPECTED_JAVA_LANGUAGE

        public static final java.lang.String EXCEPTION_MESSAGE_KEY_EXPECTED_JAVA_LANGUAGE
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_EXPRESSION_CLASS_NOT_LOADED

        public static final java.lang.String EXCEPTION_MESSAGE_KEY_EXPRESSION_CLASS_NOT_LOADED
        See Also:
        Constant Field Values
    • Constructor Detail

      • JRAbstractJavaCompiler

        protected JRAbstractJavaCompiler​(JasperReportsContext jasperReportsContext,
                                         boolean needsSourceFiles)
    • Method Detail

      • loadEvaluator

        protected JREvaluator loadEvaluator​(java.io.Serializable compileData,
                                            java.lang.String className)
                                     throws JRException
        Description copied from class: JRAbstractCompiler
        Creates an expression evaluator instance from data saved when the report was compiled.
        Specified by:
        loadEvaluator in class JRAbstractCompiler
        Parameters:
        compileData - the data saved when the report was compiled
        className - the evaluator unit name
        Returns:
        an expression evaluator instance
        Throws:
        JRException
      • toCompiledClasses

        protected CompiledClasses toCompiledClasses​(java.lang.String className,
                                                    java.io.Serializable compileData)
      • loadClass

        protected java.lang.Class<?> loadClass​(java.lang.String className,
                                               byte[] compileData)
      • loadClass

        protected java.lang.Class<?> loadClass​(java.lang.String className,
                                               CompiledClasses classes)
      • classCacheKey

        protected static java.lang.Object classCacheKey()
      • getClassFromCache

        protected static java.lang.Class<?> getClassFromCache​(java.lang.String className)
      • putClassInCache

        protected static void putClassInCache​(java.lang.String className,
                                              java.lang.Class<?> loadedClass)