## org.apache.jasper
Class JspC

    java.lang.Object
      org.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, Yoav Shapira

Field Summary
`static java.lang.String` `DEFAULT_IE_CLASS_ID`

Constructor Summary
`JspC()`

Method Summary
`protected void` `addExtension(java.lang.String extension)` Adds the given file extension to the list of extensions handled as JSP files.
`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.
`java.lang.String` `getCompilerSourceVM()` Compiler source VM, e.g.
`java.lang.String` `getCompilerTargetVM()` Compiler target VM, e.g.
`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.
`java.util.List` `getExtensions()` Returns the list of file extensions that are treated as JSP files.
`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` `setCompilerSourceVM(java.lang.String vm)`
`void` `setCompilerTargetVM(java.lang.String vm)`
`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)

### getCompilerTargetVM

    public java.lang.String getCompilerTargetVM()

  Description copied from interface: `Options`
  Compiler target VM, e.g. 1.1,1.2,1.3,1.4, or 1.5.

  Specified by:
    `getCompilerTargetVM` in interface `Options`
  See Also:
    `Options#getCompilerTargetVM.`

### setCompilerTargetVM

    public void setCompilerTargetVM(java.lang.String vm)

  See Also:
    `Options#getCompilerTargetVM.`

### getCompilerSourceVM

    public java.lang.String getCompilerSourceVM()

  Description copied from interface: `Options`
  Compiler source VM, e.g. 1.3, 1.4, or 1.5.

  Specified by:
    `getCompilerSourceVM` in interface `Options`
  See Also:
    `Options#getCompilerSourceVM.`

### setCompilerSourceVM

    public void setCompilerSourceVM(java.lang.String vm)

  See Also:
    `Options#getCompilerSourceVM.`

### 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)

### getExtensions

    public java.util.List getExtensions()

  Returns the list of file extensions that are treated as JSP files.

  Returns:
    The list of extensions

### addExtension

    protected void addExtension(java.lang.String extension)

  Adds the given file extension to the list of extensions handled as JSP files.

  Parameters:
    `extension` - The extension to add, e.g. "myjsp"

### 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.