org.apache.jasper.compiler

Class Compiler

Known Direct Subclasses:
AntCompiler, JDTCompiler

public abstract class Compiler
extends java.lang.Object

Main JSP compiler class. This class uses Ant for compiling.
Authors:
Anil K. Vijendran
Mandar Raje
Pierre Delisle
Kin-man Chung
Remy Maucherat
Mark Roth

Field Summary

protected JspCompilationContext
ctxt
protected ErrorDispatcher
errDispatcher
protected JspServletWrapper
jsw
protected org.apache.commons.logging.Log
log
protected Options
options
protected org.apache.jasper.compiler.PageInfo
pageInfo
protected Node.Nodes
pageNodes
protected org.apache.jasper.compiler.TagFileProcessor
tfp

Method Summary

void
compile()
Compile the jsp file from the current engine context
void
compile(boolean compileClass)
Compile the jsp file from the current engine context.
void
compile(boolean compileClass, boolean jspcMode)
Compile the jsp file from the current engine context.
protected abstract void
generateClass(String[] smap)
Compile the servlet from .java file to .class file
protected String[]
generateJava()
Compile the jsp file into equivalent servlet in .java file
JspCompilationContext
getCompilationContext()
ErrorDispatcher
getErrorDispatcher()
Gets the error dispatcher.
org.apache.jasper.compiler.PageInfo
getPageInfo()
Gets the info about the page under compilation
Node.Nodes
getPageNodes()
Retrieves the parsed nodes of the JSP page, if they are available.
void
init(JspCompilationContext ctxt, JspServletWrapper jsw)
boolean
isOutDated()
This is a protected method intended to be overridden by subclasses of Compiler.
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.
void
removeGeneratedClassFiles()
void
removeGeneratedFiles()
Remove generated files

Field Details

ctxt

protected JspCompilationContext ctxt

errDispatcher

protected ErrorDispatcher errDispatcher

jsw

protected JspServletWrapper jsw

log

protected org.apache.commons.logging.Log log

options

protected Options options

pageInfo

protected org.apache.jasper.compiler.PageInfo pageInfo

pageNodes

protected Node.Nodes pageNodes

tfp

protected org.apache.jasper.compiler.TagFileProcessor tfp

Method Details

compile

public void compile()
            throws FileNotFoundException,
                   JasperException,
                   Exception
Compile the jsp file from the current engine context

compile

public void compile(boolean compileClass)
            throws FileNotFoundException,
                   JasperException,
                   Exception
Compile the jsp file from the current engine context. As an 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

compile

public void compile(boolean compileClass,
                    boolean jspcMode)
            throws FileNotFoundException,
                   JasperException,
                   Exception
Compile the jsp file from the current engine context. As an 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
jspcMode - true if invoked from JspC, false otherwise

generateClass

protected abstract void generateClass(String[] smap)
            throws FileNotFoundException,
                   JasperException,
                   Exception
Compile the servlet from .java file to .class file

generateJava

protected String[] generateJava()
            throws Exception
Compile the jsp file into equivalent servlet in .java file
Returns:
a smap for the current JSP page, if one is generated, null otherwise

getCompilationContext

public JspCompilationContext getCompilationContext()

getErrorDispatcher

public ErrorDispatcher getErrorDispatcher()
Gets the error dispatcher.

getPageInfo

public org.apache.jasper.compiler.PageInfo getPageInfo()
Gets the info about the page under compilation

getPageNodes

public Node.Nodes getPageNodes()
Retrieves the parsed nodes of the JSP page, if they are available. May return null. Used in development mode for generating detailed error messages. http://issues.apache.org/bugzilla/show_bug.cgi?id=37062.

init

public void init(JspCompilationContext ctxt,
                 JspServletWrapper jsw)

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.

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 dependeants, and so on. This method can by overidden by a subclasses of Compiler.
Parameters:
checkClass - If true, check against .class file, if false, check against .java file.

removeGeneratedClassFiles

public void removeGeneratedClassFiles()

removeGeneratedFiles

public void removeGeneratedFiles()
Remove generated files

Copyright ?? 2000-2004 Apache Software Foundation. All Rights Reserved.