Package org.apache.jasper.compiler
Class AntJavaCompiler
- java.lang.Object
-
- org.apache.jasper.compiler.AntJavaCompiler
-
- All Implemented Interfaces:
JavaCompiler
public class AntJavaCompiler extends java.lang.Object implements JavaCompiler
Java compiler through ant
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
AntJavaCompiler.JasperAntLogger
private static class
AntJavaCompiler.JavacObj
private static class
AntJavaCompiler.JavacThreadFactory
-
Field Summary
Fields Modifier and Type Field Description private JspCompilationContext
ctxt
private ErrorDispatcher
errDispatcher
private java.lang.StringBuilder
info
private org.apache.tools.ant.taskdefs.Javac
javac
private static java.lang.String
JAVAC_THREAD_PREFIX
private java.lang.String
javaEncoding
private java.lang.String
javaFileName
private static java.lang.String
lineSeparator
private java.util.logging.Logger
log
private AntJavaCompiler.JasperAntLogger
logger
private Options
options
private org.apache.tools.ant.Project
project
private static java.util.concurrent.ThreadFactory
threadFactory
private static java.util.concurrent.ExecutorService
threadPool
-
Constructor Summary
Constructors Constructor Description AntJavaCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JavacErrorDetail[]
compile(java.lang.String className, Node.Nodes pageNodes)
Start Java compilationvoid
doJavaFile(boolean keep)
Remove/save the generated Java File from/to disklong
getClassLastModified()
Return the time the class file was generated.java.io.Writer
getJavaWriter(java.lang.String javaFileName, java.lang.String javaEncoding)
Get a Writer for the Java file.private org.apache.tools.ant.Project
getProject()
void
init(JspCompilationContext ctxt, ErrorDispatcher errDispatcher, boolean suppressLogging)
Initializationsvoid
release()
Release resouces used in the current compilationvoid
saveClassFile(java.lang.String className, java.lang.String classFileName)
Save the generated class file to disk, if not already done.void
setClassPath(java.util.List<java.io.File> cpath)
Java Compiler options.void
setDebug(boolean debug)
void
setExtdirs(java.lang.String exts)
void
setSourceVM(java.lang.String sourceVM)
void
setTargetVM(java.lang.String targetVM)
static void
shutdownThreadPool()
static void
startThreadPool()
-
-
-
Field Detail
-
logger
private AntJavaCompiler.JasperAntLogger logger
-
javac
private org.apache.tools.ant.taskdefs.Javac javac
-
project
private org.apache.tools.ant.Project project
-
ctxt
private JspCompilationContext ctxt
-
options
private Options options
-
errDispatcher
private ErrorDispatcher errDispatcher
-
javaFileName
private java.lang.String javaFileName
-
javaEncoding
private java.lang.String javaEncoding
-
info
private java.lang.StringBuilder info
-
log
private java.util.logging.Logger log
-
threadPool
private static java.util.concurrent.ExecutorService threadPool
-
threadFactory
private static java.util.concurrent.ThreadFactory threadFactory
-
JAVAC_THREAD_PREFIX
private static final java.lang.String JAVAC_THREAD_PREFIX
- See Also:
- Constant Field Values
-
lineSeparator
private static java.lang.String lineSeparator
-
-
Method Detail
-
getProject
private org.apache.tools.ant.Project getProject()
-
init
public void init(JspCompilationContext ctxt, ErrorDispatcher errDispatcher, boolean suppressLogging)
Description copied from interface:JavaCompiler
Initializations- Specified by:
init
in interfaceJavaCompiler
-
release
public void release()
Description copied from interface:JavaCompiler
Release resouces used in the current compilation- Specified by:
release
in interfaceJavaCompiler
-
setExtdirs
public void setExtdirs(java.lang.String exts)
- Specified by:
setExtdirs
in interfaceJavaCompiler
-
setTargetVM
public void setTargetVM(java.lang.String targetVM)
- Specified by:
setTargetVM
in interfaceJavaCompiler
-
setSourceVM
public void setSourceVM(java.lang.String sourceVM)
- Specified by:
setSourceVM
in interfaceJavaCompiler
-
setClassPath
public void setClassPath(java.util.List<java.io.File> cpath)
Description copied from interface:JavaCompiler
Java Compiler options.- Specified by:
setClassPath
in interfaceJavaCompiler
-
saveClassFile
public void saveClassFile(java.lang.String className, java.lang.String classFileName)
Description copied from interface:JavaCompiler
Save the generated class file to disk, if not already done.- Specified by:
saveClassFile
in interfaceJavaCompiler
-
setDebug
public void setDebug(boolean debug)
- Specified by:
setDebug
in interfaceJavaCompiler
-
getClassLastModified
public long getClassLastModified()
Description copied from interface:JavaCompiler
Return the time the class file was generated.- Specified by:
getClassLastModified
in interfaceJavaCompiler
-
getJavaWriter
public java.io.Writer getJavaWriter(java.lang.String javaFileName, java.lang.String javaEncoding) throws JasperException
Description copied from interface:JavaCompiler
Get a Writer for the Java file. The writer is used by JSP compiler. This method allows the Java compiler control where the Java file should be generated so it knows how to handle the input for java compilation accordingly.- Specified by:
getJavaWriter
in interfaceJavaCompiler
- Throws:
JasperException
-
compile
public JavacErrorDetail[] compile(java.lang.String className, Node.Nodes pageNodes) throws JasperException
Description copied from interface:JavaCompiler
Start Java compilation- Specified by:
compile
in interfaceJavaCompiler
- Parameters:
className
- Name of the class under compilation- Throws:
JasperException
-
doJavaFile
public void doJavaFile(boolean keep)
Description copied from interface:JavaCompiler
Remove/save the generated Java File from/to disk- Specified by:
doJavaFile
in interfaceJavaCompiler
-
startThreadPool
public static void startThreadPool()
-
shutdownThreadPool
public static void shutdownThreadPool()
-
-