Apache Tomcat 7.0.28

org.apache.jasper.compiler
Class Compiler

java.lang.Object
  extended by org.apache.jasper.compiler.Compiler
Direct Known Subclasses:
AntCompiler, JDTCompiler

public abstract class Compiler
extends Object

Main JSP compiler class. This class uses Ant for compiling.

Author:
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  Options options
           
protected  org.apache.jasper.compiler.PageInfo pageInfo
           
protected  Node.Nodes pageNodes
           
protected  org.apache.jasper.compiler.TagFileProcessor tfp
           
 
Constructor Summary
Compiler()
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ctxt

protected JspCompilationContext ctxt

errDispatcher

protected ErrorDispatcher errDispatcher

pageInfo

protected org.apache.jasper.compiler.PageInfo pageInfo

jsw

protected JspServletWrapper jsw

tfp

protected org.apache.jasper.compiler.TagFileProcessor tfp

options

protected Options options

pageNodes

protected Node.Nodes pageNodes
Constructor Detail

Compiler

public Compiler()
Method Detail

init

public void init(JspCompilationContext ctxt,
                 JspServletWrapper jsw)

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.


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
Throws:
Exception

generateClass

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

Throws:
FileNotFoundException
JasperException
Exception

compile

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

Throws:
FileNotFoundException
JasperException
Exception

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
Throws:
FileNotFoundException
JasperException
Exception

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
Throws:
FileNotFoundException
JasperException
Exception

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 dependents, and so on. This method can by overridden by a subclasses of Compiler.

Parameters:
checkClass - If true, check against .class file, if false, check against .java file.

getErrorDispatcher

public ErrorDispatcher getErrorDispatcher()
Gets the error dispatcher.


getPageInfo

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


getCompilationContext

public JspCompilationContext getCompilationContext()

removeGeneratedFiles

public void removeGeneratedFiles()
Remove generated files


removeGeneratedClassFiles

public void removeGeneratedClassFiles()

Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.