Package org.apache.jasper.compiler
Class Compiler
- java.lang.Object
-
- org.apache.jasper.compiler.Compiler
-
- Direct Known Subclasses:
AntCompiler,JavaCompiler,JDTCompiler
public abstract class Compiler extends java.lang.ObjectMain JSP compiler class. This class uses Ant for compiling.
-
-
Field Summary
Fields Modifier and Type Field Description protected JspCompilationContextctxtThe JSP compilation context.protected ErrorDispatchererrDispatcherThe error dispatcher.protected JspServletWrapperjswThe JSP servlet wrapper.protected OptionsoptionsThe compilation options.protected PageInfopageInfoThe page information.protected Node.NodespageNodesThe page nodes.protected TagFileProcessortfpThe tag file processor.
-
Constructor Summary
Constructors Constructor Description Compiler()Default constructor for Compiler.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcompile()Compile the jsp file from the current engine context.voidcompile(boolean compileClass)Compile the jsp file from the current engine context.voidcompile(boolean compileClass, boolean jspcMode)Compile the jsp file from the current engine context.protected abstract voidgenerateClass(java.util.Map<java.lang.String,SmapStratum> smaps)Servlet compilation.protected java.util.Map<java.lang.String,SmapStratum>generateJava()Compile the jsp file into equivalent servlet in .java fileJspCompilationContextgetCompilationContext()Returns the JSP compilation context.ErrorDispatchergetErrorDispatcher()Returns the error dispatcher.PageInfogetPageInfo()Returns the page information.SmapStratumgetSmap(java.lang.String className)Returns the source map for the specified class.voidinit(JspCompilationContext ctxt, JspServletWrapper jsw)Initializes the compiler with the given compilation context and servlet wrapper.booleanisOutDated()This is a protected method intended to be overridden by subclasses of Compiler.booleanisOutDated(boolean checkClass)Determine if a compilation is necessary by checking the time stamp of the JSP page with that of the corresponding .class or .java file.voidremoveGeneratedClassFiles()Remove generated class files.voidremoveGeneratedFiles()Remove generated files
-
-
-
Field Detail
-
ctxt
protected JspCompilationContext ctxt
The JSP compilation context.
-
errDispatcher
protected ErrorDispatcher errDispatcher
The error dispatcher.
-
pageInfo
protected PageInfo pageInfo
The page information.
-
jsw
protected JspServletWrapper jsw
The JSP servlet wrapper.
-
tfp
protected TagFileProcessor tfp
The tag file processor.
-
options
protected Options options
The compilation options.
-
pageNodes
protected Node.Nodes pageNodes
The page nodes.
-
-
Method Detail
-
init
public void init(JspCompilationContext ctxt, JspServletWrapper jsw)
Initializes the compiler with the given compilation context and servlet wrapper.- Parameters:
ctxt- the JSP compilation contextjsw- the JSP servlet wrapper
-
getSmap
public SmapStratum getSmap(java.lang.String className)
Returns the source map for the specified class.- Parameters:
className- the class name- Returns:
- the source map, or
nullif not available
-
generateJava
protected java.util.Map<java.lang.String,SmapStratum> generateJava() throws java.lang.Exception
Compile the jsp file into equivalent servlet in .java file- Returns:
- A map of class names to JSR 045 source maps
- Throws:
java.lang.Exception- Error generating Java source
-
generateClass
protected abstract void generateClass(java.util.Map<java.lang.String,SmapStratum> smaps) throws java.io.FileNotFoundException, JasperException, java.lang.Exception
Servlet compilation. This compiles the generated sources into Servlets.- Parameters:
smaps- The source maps for the class(es) generated from the source file- Throws:
java.io.FileNotFoundException- Source files not foundJasperException- Compilation errorjava.lang.Exception- Some other error
-
compile
public void compile() throws java.io.FileNotFoundException, JasperException, java.lang.ExceptionCompile the jsp file from the current engine context.- Throws:
java.io.FileNotFoundException- Source files not foundJasperException- Compilation errorjava.lang.Exception- Some other error
-
compile
public void compile(boolean compileClass) throws java.io.FileNotFoundException, JasperException, java.lang.ExceptionCompile the jsp file from the current engine context. As a side effect, tag files that are referenced by this page are also compiled.- Parameters:
compileClass- If true, generate both .java and .class file If false, generate only .java file- Throws:
java.io.FileNotFoundException- Source files not foundJasperException- Compilation errorjava.lang.Exception- Some other error
-
compile
public void compile(boolean compileClass, boolean jspcMode) throws java.io.FileNotFoundException, JasperException, java.lang.ExceptionCompile the jsp file from the current engine context. As a side effect, tag files that are referenced by this page are also compiled.- Parameters:
compileClass- If true, generate both .java and .class file If false, generate only .java filejspcMode- true if invoked from JspC, false otherwise- Throws:
java.io.FileNotFoundException- Source files not foundJasperException- Compilation errorjava.lang.Exception- Some other error
-
isOutDated
public boolean isOutDated()
This is a protected method intended to be overridden by subclasses of Compiler. This is used by the compile method to do all the compilation.- Returns:
trueif the source generation and compilation should occur
-
isOutDated
public boolean isOutDated(boolean checkClass)
Determine if a compilation is necessary by checking the time stamp of the JSP page with that of the corresponding .class or .java file. If the page has dependencies, the check is also extended to its dependents, and so on. This method can be overridden by a subclasses of Compiler.- Parameters:
checkClass- If true, check against .class file, if false, check against .java file.- Returns:
trueif the source generation and compilation should occur
-
getErrorDispatcher
public ErrorDispatcher getErrorDispatcher()
Returns the error dispatcher.- Returns:
- the error dispatcher.
-
getPageInfo
public PageInfo getPageInfo()
Returns the page information.- Returns:
- the info about the page under compilation
-
getCompilationContext
public JspCompilationContext getCompilationContext()
Returns the JSP compilation context.- Returns:
- the compilation context
-
removeGeneratedFiles
public void removeGeneratedFiles()
Remove generated files
-
removeGeneratedClassFiles
public void removeGeneratedClassFiles()
Remove generated class files.
-
-