# Interface Options

All Known Implementing Classes:
  `EmbeddedServletOptions, JspC`

public interface Options
A class to hold all init parameters specific to the JSP engine.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `genStringAsCharArray()`
  Indicates whether text strings are to be generated as char arrays.
  `Map<String, TagLibraryInfo>`
  `getCache()`
  The web-application wide cache for the TagLibraryInfo tag library descriptors, used if `isCaching()` returns `true`.
  `int`
  `getCheckInterval()`
  Returns the interval in seconds at which the background compile thread checks for modified JSP files.
  `boolean`
  `getClassDebugInfo()`
  Returns whether debug information is included in compiled classes.
  `String`
  `getClassPath()`
  Returns the classpath used by the compiler when compiling generated Servlets.
  `String`
  `getCompiler()`
  Compiler to use.
  `String`
  `getCompilerClassName()`
  Returns the fully qualified class name of the Jasper Java compiler implementation to use.
  `String`
  `getCompilerSourceVM()`
  Returns the source Java VM version for the compiler, such as 1.8.
  `String`
  `getCompilerTargetVM()`
  Returns the target Java VM version for the compiler, such as 1.8.
  `boolean`
  `getDevelopment()`
  Main development flag, which enables detailed error reports with sources, as well automatic recompilation of JSPs and tag files.
  `boolean`
  `getDisplaySourceFragment()`
  Returns whether a source fragment should be included in exception messages for debugging.
  `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()`
  The boolean flag to tell Ant whether to fork JSP page compilations.
  `default boolean`
  `getGeneratedJavaAddTimestamp()`
  Should the container include the time the file was generated in the comments at the start of a Java file generated from a JSP or tag.
  `default String`
  `getGeneratedJspPackageName()`
  Returns the default package name for compiled JSP pages.
  `default String`
  `getGeneratedTagFilePackageName()`
  Returns the default package name for tag handlers generated from tag files.
  `String`
  `getJavaEncoding()`
  Returns the Java platform character encoding used when generating the JSP page servlet source.
  `JspConfig`
  `getJspConfig()`
  Returns the JSP configuration information as specified in the web.xml deployment descriptor.
  `int`
  `getJspIdleTimeout()`
  Returns the idle timeout for JSP unloading.
  `default String`
  `getJspPrecompilationQueryParameter()`
  Returns the query parameter name that triggers JSP pre-compilation.
  `default String`
  `getJspServletBase()`
  Returns the default base class for generated JSP servlets.
  `boolean`
  `getKeepGenerated()`
  Returns whether the generated Java source files should be kept after compilation.
  `boolean`
  `getMappedFile()`
  Returns whether HTML mapped Servlets are supported.
  `int`
  `getMaxLoadedJsps()`
  The maximum number of loaded jsps per web-application.
  `int`
  `getModificationTestInterval()`
  Returns the interval in seconds between modification tests for JSP files.
  `default boolean`
  `getPoolTagsWithExtends()`
  Returns whether tag pooling is allowed on JSP pages that use the extends directive.
  `boolean`
  `getQuoteAttributeEL()`
  Returns whether quoting rules from JSP.1.6 are applied to EL expressions in attributes.
  `boolean`
  `getRecompileOnFail()`
  Returns whether the JSP engine should attempt re-compilation when an initial compilation fails.
  `File`
  `getScratchDir()`
  Returns the scratch directory used as the work folder for temporary compilation files.
  `default String`
  `getServiceMethodName()`
  _jspService is the name of the method that is called by HttpJspBase.service().
  `default String`
  `getServletClasspathAttribute()`
  Returns the ServletContext attribute name used for the classpath.
  `default boolean`
  `getStrictGetProperty()`
  Returns whether strict enforcement of the JSP.5.3 requirement is applied, requiring objects used in jsp:getProperty to be previously introduced to the JSP processor.
  `boolean`
  `getStrictQuoteEscaping()`
  Returns whether strict quote escaping is enabled for scriplet expressions.
  `default boolean`
  `getStrictWhitespace()`
  Returns whether strict whitespace handling rules are applied during JSP compilation.
  `TagPluginManager`
  `getTagPluginManager()`
  Returns the Tag Plugin Manager used for applying tag plugins during JSP compilation.
  `default String`
  `getTempVariableNamePrefix()`
  Returns the prefix used for generated temporary variable names.
  `TldCache`
  `getTldCache()`
  The cache that maps URIs, resource paths and parsed TLD files for the various tag libraries 'exposed' by the web application.
  `TrimSpacesOption`
  `getTrimSpaces()`
  Returns the option for trimming whitespace-only template text.
  `default boolean`
  `getUseInstanceManagerForTags()`
  Returns whether the container instance manager is used to create tag bean instances.
  `String`
  `getUseNonstandardTagOptimizations()`
  A string containing a comma-separated list of names to which custom tag implementations should be applied.
  `default String`
  `getVariableForExpressionFactory()`
  Returns the variable name used in the generated JSP servlet code to reference the EL expression factory.
  `default String`
  `getVariableForInstanceManager()`
  Returns the variable name used in the generated JSP servlet code to reference the instance manager.
  `boolean`
  `isCaching()`
  Returns whether caching is enabled for compiled JSP pages, used for precompilation scenarios.
  `boolean`
  `isPoolingEnabled()`
  Returns whether tag handler pooling is enabled for improved performance.
  `boolean`
  `isSmapDumped()`
  This setting is ignored if suppressSmap() is `true`.
  `boolean`
  `isSmapSuppressed()`
  Returns whether generation of SMAP (Source Map for Debugging) information is suppressed.
  `boolean`
  `isXpoweredBy()`
  Returns whether the X-Powered-By response header should be generated in HTTP responses.

- ## Method Details

  - ### getErrorOnUseBeanInvalidClassAttribute

    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.
    Returns:
      `true` to get an error

  - ### getKeepGenerated

    boolean getKeepGenerated()
    Returns whether the generated Java source files should be kept after compilation.
    Returns:
      `true` to keep the generated source

  - ### isPoolingEnabled

    boolean isPoolingEnabled()
    Returns whether tag handler pooling is enabled for improved performance.
    Returns:
      `true` if tag handler pooling is enabled, `false` otherwise.

  - ### getMappedFile

    boolean getMappedFile()
    Returns whether HTML mapped Servlets are supported.
    Returns:
      `true` if HTML mapped Servlets are supported.

  - ### getClassDebugInfo

    boolean getClassDebugInfo()
    Returns whether debug information is included in compiled classes.
    Returns:
      `true` if debug information in included in compiled classes.

  - ### getCheckInterval

    int getCheckInterval()
    Returns the interval in seconds at which the background compile thread checks for modified JSP files.
    Returns:
      background compile thread check interval in seconds

  - ### getDevelopment

    boolean getDevelopment()
    Main development flag, which enables detailed error reports with sources, as well automatic recompilation of JSPs and tag files. This setting should usually be `false` when running in production.
    Returns:
      `true` if Jasper is in development mode

  - ### getDisplaySourceFragment

    boolean getDisplaySourceFragment()
    Returns whether a source fragment should be included in exception messages for debugging.
    Returns:
      `true` to include a source fragment in exception messages.

  - ### isSmapSuppressed

    boolean isSmapSuppressed()
    Returns whether generation of SMAP (Source Map for Debugging) information is suppressed.
    Returns:
      `true` to suppress generation of SMAP info for JSR45 debugging.

  - ### isSmapDumped

    boolean isSmapDumped()
    This setting is ignored if suppressSmap() is `true`.
    Returns:
      `true` to write SMAP info for JSR45 debugging to a file.

  - ### getTrimSpaces

    TrimSpacesOption getTrimSpaces()
    Returns the option for trimming whitespace-only template text.
    Returns:
      `TrimSpacesOption.TRUE` to remove template text that consists only of whitespace from the output completely, `TrimSpacesOption.SINGLE` to replace such template text with a single space, `TrimSpacesOption.FALSE` to leave such template text unchanged or `TrimSpacesOption.EXTENDED` to remove template text that consists only of whitespace and to replace any sequence of whitespace and new lines within template text with a single new line.

  - ### getScratchDir

    File getScratchDir()
    Returns the scratch directory used as the work folder for temporary compilation files.
    Returns:
      the work folder

  - ### getClassPath

    String getClassPath()
    Returns the classpath used by the compiler when compiling generated Servlets.
    Returns:
      the classpath used to compile generated Servlets

  - ### getCompiler

    String getCompiler()
    Compiler to use.

    If `null` (the default), the java compiler from Eclipse JDT project, bundled with Tomcat, will be used. Otherwise, the `javac` task from Apache Ant will be used to call an external java compiler and the value of this option will be passed to it. See Apache Ant documentation for the possible values.

    Returns:
      the compiler name

  - ### getCompilerTargetVM

    String getCompilerTargetVM()
    Returns the target Java VM version for the compiler, such as 1.8.
    Returns:
      the compiler target VM, e.g. 1.8.

  - ### getCompilerSourceVM

    String getCompilerSourceVM()
    Returns the source Java VM version for the compiler, such as 1.8.
    Returns:
      the compiler source VM, e.g. 1.8.

  - ### getCompilerClassName

    String getCompilerClassName()
    Returns the fully qualified class name of the Jasper Java compiler implementation to use.
    Returns:
      Jasper Java compiler class to use.

  - ### getTldCache

    TldCache getTldCache()
    The cache that maps URIs, resource paths and parsed TLD files for the various tag libraries 'exposed' by the web application. A tag library is 'exposed' either explicitly in web.xml or implicitly via the uri tag in the TLD of a taglib deployed in a jar file (WEB-INF/lib).
    Returns:
      the instance of the TldCache for the web-application.

  - ### getJavaEncoding

    String getJavaEncoding()
    Returns the Java platform character encoding used when generating the JSP page servlet source.
    Returns:
      Java platform encoding to generate the JSP page servlet.

  - ### getFork

    boolean getFork()
    The boolean flag to tell Ant whether to fork JSP page compilations.

    Is used only when Jasper uses an external java compiler (wrapped through a `javac` Apache Ant task).

    Returns:
      `true` to fork a process during compilation

  - ### getJspConfig

    JspConfig getJspConfig()
    Returns the JSP configuration information as specified in the web.xml deployment descriptor.
    Returns:
      JSP configuration information specified in web.xml.

  - ### isXpoweredBy

    boolean isXpoweredBy()
    Returns whether the X-Powered-By response header should be generated in HTTP responses.
    Returns:
      `true` to generate a X-Powered-By response header.

  - ### getTagPluginManager

    TagPluginManager getTagPluginManager()
    Returns the Tag Plugin Manager used for applying tag plugins during JSP compilation.
    Returns:
      a Tag Plugin Manager

  - ### genStringAsCharArray

    boolean genStringAsCharArray()
    Indicates whether text strings are to be generated as char arrays.
    Returns:
      `true` if text strings are to be generated as char arrays, `false` otherwise

  - ### getModificationTestInterval

    int getModificationTestInterval()
    Returns the interval in seconds between modification tests for JSP files.
    Returns:
      modification test interval in seconds.

  - ### getRecompileOnFail

    boolean getRecompileOnFail()
    Returns whether the JSP engine should attempt re-compilation when an initial compilation fails.
    Returns:
      `true` if re-compile will occur on a failure.

  - ### isCaching

    boolean isCaching()
    Returns whether caching is enabled for compiled JSP pages, used for precompilation scenarios.
    Returns:
      `true` if caching is enabled (used for precompilation).

  - ### getCache

    Map<String, TagLibraryInfo> getCache()
    The web-application wide cache for the TagLibraryInfo tag library descriptors, used if `isCaching()` returns `true`.

    Using this cache avoids the cost of repeating the parsing of a tag library descriptor XML file (performed by TagLibraryInfoImpl.parseTLD).

    Returns:
      the Map(String uri, TagLibraryInfo tld) instance.

  - ### getMaxLoadedJsps

    int getMaxLoadedJsps()
    The maximum number of loaded jsps per web-application. If there are more jsps loaded, they will be unloaded. If unset or less than 0, no jsps are unloaded.
    Returns:
      The JSP count

  - ### getJspIdleTimeout

    int getJspIdleTimeout()
    Returns the idle timeout for JSP unloading.
    Returns:
      the idle time in seconds after which a JSP is unloaded. If unset or less or equal than 0, no jsps are unloaded.

  - ### getStrictQuoteEscaping

    boolean getStrictQuoteEscaping()
    Returns whether strict quote escaping is enabled for scriplet expressions.
    Returns:
      `true` if the quote escaping required by section JSP.1.6 of the JSP specification should be applied to scriplet expression.

  - ### getQuoteAttributeEL

    boolean getQuoteAttributeEL()
    Returns whether quoting rules from JSP.1.6 are applied to EL expressions in attributes.
    Returns:
      `true` if EL expressions used within attributes should have the quoting rules in JSP.1.6 applied to the expression.

  - ### getVariableForExpressionFactory

    default String getVariableForExpressionFactory()
    Returns the variable name used in the generated JSP servlet code to reference the EL expression factory.
    Returns:
      the name of the variable that will be used in the generated JSP code for the expression factory

  - ### getVariableForInstanceManager

    default String getVariableForInstanceManager()
    Returns the variable name used in the generated JSP servlet code to reference the instance manager.
    Returns:
      the name of the variable that will be used in the generated JSP code for the instance manager

  - ### getPoolTagsWithExtends

    default boolean getPoolTagsWithExtends()
    Returns whether tag pooling is allowed on JSP pages that use the extends directive.
    Returns:
      `true` if tag pooling is disabled with page that uses extends.

  - ### getStrictGetProperty

    default boolean getStrictGetProperty()
    Returns whether strict enforcement of the JSP.5.3 requirement is applied, requiring objects used in jsp:getProperty to be previously introduced to the JSP processor.
    Returns:
      `true` if the requirement to have the object used in jsp:getProperty action to be previously "introduced" to the JSP processor (see JSP.5.3) is enforced.

  - ### getStrictWhitespace

    default boolean getStrictWhitespace()
    Returns whether strict whitespace handling rules are applied during JSP compilation.
    Returns:
      `true` if the strict white space rules are applied.

  - ### getJspServletBase

    default String getJspServletBase()
    Returns the default base class for generated JSP servlets.
    Returns:
      the default base class for generated JSP Servlets

  - ### getServiceMethodName

    default String getServiceMethodName()
    _jspService is the name of the method that is called by HttpJspBase.service(). This is where most of the code generated from JSPs go.
    Returns:
      the method name

  - ### getServletClasspathAttribute

    default String getServletClasspathAttribute()
    Returns the ServletContext attribute name used for the classpath.
    Returns:
      ServletContext attribute for classpath. This is tomcat specific. Other servlet engines may choose to support this attribute if they want to have this JSP engine running on them.

  - ### getJspPrecompilationQueryParameter

    default String getJspPrecompilationQueryParameter()
    Returns the query parameter name that triggers JSP pre-compilation.
    Returns:
      The query parameter that causes the JSP engine to just pregenerated the servlet but not invoke it.

  - ### getGeneratedJspPackageName

    default String getGeneratedJspPackageName()
    Returns the default package name for compiled JSP pages.
    Returns:
      The default package name for compiled jsp pages.

  - ### getGeneratedTagFilePackageName

    default String getGeneratedTagFilePackageName()
    Returns the default package name for tag handlers generated from tag files.
    Returns:
      The default package name for tag handlers generated from tag files.

  - ### getTempVariableNamePrefix

    default String getTempVariableNamePrefix()
    Returns the prefix used for generated temporary variable names.
    Returns:
      Prefix to use for generated temporary variable names

  - ### getUseInstanceManagerForTags

    default boolean getUseInstanceManagerForTags()
    Returns whether the container instance manager is used to create tag bean instances.
    Returns:
      `true` if the container instance manager will be used to create the bean instances

  - ### getGeneratedJavaAddTimestamp

    default boolean getGeneratedJavaAddTimestamp()
    Should the container include the time the file was generated in the comments at the start of a Java file generated from a JSP or tag. Defaults to `true`.
    Returns:
      `true` to include the timestamp, otherwise don't include it

  - ### getUseNonstandardTagOptimizations

    String getUseNonstandardTagOptimizations()
    A string containing a comma-separated list of names to which custom tag implementations should be applied. Unknown or unused tag entries are harmless. Generally defined via an init parameter on the JspServlet.
    Returns:
      which tags to use