org.apache.jasper
Class JspC

java.lang.Object
  extended byorg.apache.jasper.JspC
All Implemented Interfaces:
Options

public class JspC
extends java.lang.Object
implements Options

Shell for the jspc compiler. Handles all options associated with the command line and creates compilation contexts which it then compiles according to the specified options. This version can process files from a _single_ webapp at once, i.e. a single docbase can be specified. It can be used as an Ant task using:

   <taskdef classname="org.apache.jasper.JspC" name="jasper2" >
      <classpath>
          <pathelement location="${java.home}/../lib/tools.jar"/>
          <fileset dir="${ENV.CATALINA_HOME}/server/lib">
              <include name="*.jar"/>
          </fileset>
          <fileset dir="${ENV.CATALINA_HOME}/common/lib">
              <include name="*.jar"/>
          </fileset>
          <path refid="myjars"/>
       </classpath>
  </taskdef>

  <jasper2 verbose="0"
           package="my.package"
           uriroot="${webapps.dir}/${webapp.name}"
           webXmlFragment="${build.dir}/generated_web.xml"
           outputDir="${webapp.dir}/${webapp.name}/WEB-INF/src/my/package" />
 

Author:
Danno Ferrin, Pierre Delisle, Costin Manolache

Field Summary
static java.lang.String DEFAULT_IE_CLASS_ID
           
 
Constructor Summary
JspC()
           
 
Method Summary
 void execute()
           
 void generateWebMapping(java.lang.String file, JspCompilationContext clctxt)
           
 boolean genStringAsCharArray()
          Indicates whether text strings are to be generated as char arrays.
 int getCheckInterval()
          Background compilation check intervals in seconds
 boolean getClassDebugInfo()
          Should we include debug information in compiled class?
 java.lang.String getClassPath()
          What classpath should I use while compiling the servlets generated from JSP files?
 java.lang.String getCompiler()
          Compiler to use.
 boolean getDevelopment()
          Is Jasper being used in development mode?
 boolean getErrorOnUseBeanInvalidClassAttribute()
          Returns true if Jasper issues a compilation error instead of a runtime Instantiation error if the class attribute specified in useBean action is invalid.
 boolean getFork()
          boolean flag to tell Ant whether to fork JSP page compilations.
 java.lang.String getIeClassId()
          Gets the class-id value that is sent to Internet Explorer when using tags.
 java.lang.String getJavaEncoding()
          Returns the encoding to use for java files.
 java.lang.String getJspCompilerPath()
           
 java.lang.Class getJspCompilerPlugin()
           
 JspConfig getJspConfig()
          Obtain JSP configuration informantion specified in web.xml.
 boolean getKeepGenerated()
          Are we keeping generated code around?
 boolean getMappedFile()
          Are we supporting HTML mapped servlets?
 java.lang.Object getProtectionDomain()
           
 boolean getReloading()
          JSP reloading check ?
 java.io.File getScratchDir()
          What is my scratch dir?
 boolean getSendErrorToClient()
          Should errors be sent to client or thrown into stderr?
 TagPluginManager getTagPluginManager()
          Obtain a Tag Plugin Manager
 int getTagPoolSize()
           
 TldLocationsCache getTldLocationsCache()
          The cache for the location of the TLD's for the various tag libraries 'exposed' by the web application.
 boolean getTrimSpaces()
          Should white spaces between directives or actions be trimmed?
 boolean isPoolingEnabled()
          Returns true if tag handler pooling is enabled, false otherwise.
 boolean isSmapDumped()
          Should SMAP info for JSR45 debugging be dumped to a file?
 boolean isSmapSuppressed()
          Is the generation of SMAP info for JSR45 debuggin suppressed?
 boolean isXpoweredBy()
          Is generation of X-Powered-By response header enabled/disabled?
static void main(java.lang.String[] arg)
           
protected  void mergeIntoWebXml()
          Include the generated web.xml inside the webapp's web.xml.
 void scanFiles(java.io.File base)
          Locate all jsp files in the webapp.
 void setAddWebXmlMappings(boolean b)
           
 void setArgs(java.lang.String[] arg)
           
 void setClassDebugInfo(boolean b)
           
 void setClassName(java.lang.String p)
          Class name of the generated file ( without package ).
 void setClassPath(java.lang.String s)
           
 void setCompile(boolean b)
           
 void setCompiler(java.lang.String c)
           
 void setErrorOnUseBeanInvalidClassAttribute(boolean b)
           
 void setGenStringAsCharArray(boolean genStringAsCharArray)
          Determines whether text strings are to be generated as char arrays, which improves performance in some cases.
 void setIeClassId(java.lang.String ieClassId)
          Sets the class-id value to be sent to Internet Explorer when using tags.
 void setJavaEncoding(java.lang.String encodingName)
          Sets the encoding to use for java files.
 void setJspFiles(java.lang.String jspFiles)
           
 void setListErrors(boolean b)
           
 void setOutputDir(java.lang.String s)
           
 void setPackage(java.lang.String p)
           
 void setPoolingEnabled(boolean poolingEnabled)
           
 void setTrimSpaces(boolean ts)
           
 void setUriroot(java.lang.String s)
          Base dir for the webapp.
 void setValidateXml(boolean b)
           
 void setVerbose(int level)
           
 void setWebXml(java.lang.String s)
          File where we generate a complete web.xml with the class definitions.
 void setWebXmlFragment(java.lang.String s)
          File where we generate a web.xml fragment with the class definitions.
 void setXpoweredBy(boolean xpoweredBy)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_IE_CLASS_ID

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

JspC

public JspC()
Method Detail

main

public static void main(java.lang.String[] arg)

setArgs

public void setArgs(java.lang.String[] arg)
             throws JasperException
Throws:
JasperException

getKeepGenerated

public boolean getKeepGenerated()
Description copied from interface: Options
Are we keeping generated code around?

Specified by:
getKeepGenerated in interface Options

getTrimSpaces

public boolean getTrimSpaces()
Description copied from interface: Options
Should white spaces between directives or actions be trimmed?

Specified by:
getTrimSpaces in interface Options

setTrimSpaces

public void setTrimSpaces(boolean ts)

isPoolingEnabled

public boolean isPoolingEnabled()
Description copied from interface: Options
Returns true if tag handler pooling is enabled, false otherwise.

Specified by:
isPoolingEnabled in interface Options

setPoolingEnabled

public void setPoolingEnabled(boolean poolingEnabled)

isXpoweredBy

public boolean isXpoweredBy()
Description copied from interface: Options
Is generation of X-Powered-By response header enabled/disabled?

Specified by:
isXpoweredBy in interface Options

setXpoweredBy

public void setXpoweredBy(boolean xpoweredBy)

getErrorOnUseBeanInvalidClassAttribute

public boolean getErrorOnUseBeanInvalidClassAttribute()
Description copied from interface: Options
Returns true if Jasper issues a compilation error instead of a runtime Instantiation error if the class attribute specified in useBean action is invalid.

Specified by:
getErrorOnUseBeanInvalidClassAttribute in interface Options

setErrorOnUseBeanInvalidClassAttribute

public void setErrorOnUseBeanInvalidClassAttribute(boolean b)

getTagPoolSize

public int getTagPoolSize()

getMappedFile

public boolean getMappedFile()
Are we supporting HTML mapped servlets?

Specified by:
getMappedFile in interface Options

getProtectionDomain

public java.lang.Object getProtectionDomain()

getSendErrorToClient

public boolean getSendErrorToClient()
Description copied from interface: Options
Should errors be sent to client or thrown into stderr?

Specified by:
getSendErrorToClient in interface Options

setClassDebugInfo

public void setClassDebugInfo(boolean b)

getClassDebugInfo

public boolean getClassDebugInfo()
Description copied from interface: Options
Should we include debug information in compiled class?

Specified by:
getClassDebugInfo in interface Options

getCheckInterval

public int getCheckInterval()
Background compilation check intervals in seconds

Specified by:
getCheckInterval in interface Options

getDevelopment

public boolean getDevelopment()
Is Jasper being used in development mode?

Specified by:
getDevelopment in interface Options

getReloading

public boolean getReloading()
JSP reloading check ?

Specified by:
getReloading in interface Options

isSmapSuppressed

public boolean isSmapSuppressed()
Is the generation of SMAP info for JSR45 debuggin suppressed?

Specified by:
isSmapSuppressed in interface Options

isSmapDumped

public boolean isSmapDumped()
Should SMAP info for JSR45 debugging be dumped to a file?

Specified by:
isSmapDumped in interface Options

setGenStringAsCharArray

public void setGenStringAsCharArray(boolean genStringAsCharArray)
Determines whether text strings are to be generated as char arrays, which improves performance in some cases.

Parameters:
genStringAsCharArray - true if text strings are to be generated as char arrays, false otherwise

genStringAsCharArray

public boolean genStringAsCharArray()
Indicates whether text strings are to be generated as char arrays.

Specified by:
genStringAsCharArray in interface Options
Returns:
true if text strings are to be generated as char arrays, false otherwise

setIeClassId

public void setIeClassId(java.lang.String ieClassId)
Sets the class-id value to be sent to Internet Explorer when using tags.

Parameters:
ieClassId - Class-id value

getIeClassId

public java.lang.String getIeClassId()
Gets the class-id value that is sent to Internet Explorer when using tags.

Specified by:
getIeClassId in interface Options
Returns:
Class-id value

getScratchDir

public java.io.File getScratchDir()
Description copied from interface: Options
What is my scratch dir?

Specified by:
getScratchDir in interface Options

getJspCompilerPlugin

public java.lang.Class getJspCompilerPlugin()

getJspCompilerPath

public java.lang.String getJspCompilerPath()

getCompiler

public java.lang.String getCompiler()
Compiler to use.

Specified by:
getCompiler in interface Options

setCompiler

public void setCompiler(java.lang.String c)

getTldLocationsCache

public TldLocationsCache getTldLocationsCache()
Description copied from interface: Options
The cache for the location of the TLD's for the various tag libraries 'exposed' by the web application. A tag library is 'exposed' either explicitely in web.xml or implicitely via the uri tag in the TLD of a taglib deployed in a jar file (WEB-INF/lib).

Specified by:
getTldLocationsCache in interface Options
Returns:
the instance of the TldLocationsCache for the web-application.

getJavaEncoding

public java.lang.String getJavaEncoding()
Returns the encoding to use for java files. The default is UTF-8.

Specified by:
getJavaEncoding in interface Options
Returns:
String The encoding

setJavaEncoding

public void setJavaEncoding(java.lang.String encodingName)
Sets the encoding to use for java files.

Parameters:
encodingName - The name, e.g. "UTF-8"

getFork

public boolean getFork()
Description copied from interface: Options
boolean flag to tell Ant whether to fork JSP page compilations.

Specified by:
getFork in interface Options

getClassPath

public java.lang.String getClassPath()
Description copied from interface: Options
What classpath should I use while compiling the servlets generated from JSP files?

Specified by:
getClassPath in interface Options

setClassPath

public void setClassPath(java.lang.String s)

setUriroot

public void setUriroot(java.lang.String s)
Base dir for the webapp. Used to generate class names and resolve includes


setJspFiles

public void setJspFiles(java.lang.String jspFiles)

setCompile

public void setCompile(boolean b)

setVerbose

public void setVerbose(int level)

setValidateXml

public void setValidateXml(boolean b)

setListErrors

public void setListErrors(boolean b)

setOutputDir

public void setOutputDir(java.lang.String s)

setPackage

public void setPackage(java.lang.String p)

setClassName

public void setClassName(java.lang.String p)
Class name of the generated file ( without package ). Can only be used if a single file is converted. XXX Do we need this feature ?


setWebXmlFragment

public void setWebXmlFragment(java.lang.String s)
File where we generate a web.xml fragment with the class definitions.


setWebXml

public void setWebXml(java.lang.String s)
File where we generate a complete web.xml with the class definitions.


setAddWebXmlMappings

public void setAddWebXmlMappings(boolean b)

getJspConfig

public JspConfig getJspConfig()
Obtain JSP configuration informantion specified in web.xml.

Specified by:
getJspConfig in interface Options

getTagPluginManager

public TagPluginManager getTagPluginManager()
Description copied from interface: Options
Obtain a Tag Plugin Manager

Specified by:
getTagPluginManager in interface Options

generateWebMapping

public void generateWebMapping(java.lang.String file,
                               JspCompilationContext clctxt)
                        throws java.io.IOException
Throws:
java.io.IOException

mergeIntoWebXml

protected void mergeIntoWebXml()
                        throws java.io.IOException
Include the generated web.xml inside the webapp's web.xml.

Throws:
java.io.IOException

scanFiles

public void scanFiles(java.io.File base)
               throws JasperException
Locate all jsp files in the webapp. Used if no explicit jsps are specified.

Throws:
JasperException

execute

public void execute()
             throws JasperException
Throws:
JasperException


Copyright ⌐ 2000 Apache Software Foundation. All Rights Reserved.