# Interface Options

All Known Implementing Classes:
  `EmbeddedServletOptions`, `JspC`

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

Author:
  Anil K. Vijendran, Hans Bergsten, Pierre Delisle

## 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()`
`boolean`
`getClassDebugInfo()`
`String`
`getClassPath()`
`String`
`getCompiler()`
Compiler to use.
`String`
`getCompilerClassName()`
`String`
`getCompilerSourceVM()`
`String`
`getCompilerTargetVM()`
`boolean`
`getDevelopment()`
Main development flag, which enables detailed error reports with sources, as well automatic recompilation of JSPs and tag files.
`boolean`
`getDisplaySourceFragment()`
`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()`
`default String`
`getGeneratedTagFilePackageName()`
`String`
`getJavaEncoding()`
`JspConfig`
`getJspConfig()`
`int`
`getJspIdleTimeout()`
`default String`
`getJspPrecompilationQueryParameter()`
`default String`
`getJspServletBase()`
`boolean`
`getKeepGenerated()`
`boolean`
`getMappedFile()`
`int`
`getMaxLoadedJsps()`
The maximum number of loaded jsps per web-application.
`int`
`getModificationTestInterval()`
`default boolean`
`getPoolTagsWithExtends()`
`boolean`
`getQuoteAttributeEL()`
`boolean`
`getRecompileOnFail()`
`File`
`getScratchDir()`
`default String`
`getServiceMethodName()`
_jspService is the name of the method that is called by HttpJspBase.service().
`default String`
`getServletClasspathAttribute()`
`default boolean`
`getStrictGetProperty()`
`boolean`
`getStrictQuoteEscaping()`
`default boolean`
`getStrictWhitespace()`
`TagPluginManager`
`getTagPluginManager()`
`default String`
`getTempVariableNamePrefix()`
`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()`
`default boolean`
`getUseInstanceManagerForTags()`
`String`
`getUseNonstandardTagOptimizations()`
A string containing a comma-separated list of names to which custom tag implementations should be applied.
`default String`
`getVariableForExpressionFactory()`
`default String`
`getVariableForInstanceManager()`
`boolean`
`isCaching()`
`boolean`
`isPoolingEnabled()`
`boolean`
`isSmapDumped()`
This setting is ignored if suppressSmap() is `true`.
`boolean`
`isSmapSuppressed()`
`boolean`
`isXpoweredBy()`

## 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:
  `true` to keep the generated source

### isPoolingEnabled

boolean isPoolingEnabled()

Returns:
  `true` if tag handler pooling is enabled, `false` otherwise.

### getMappedFile

boolean getMappedFile()

Returns:
  `true` if HTML mapped Servlets are supported.

### getClassDebugInfo

boolean getClassDebugInfo()

Returns:
  `true` if debug information in included in compiled classes.

### getCheckInterval

int getCheckInterval()

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:
  `true` to include a source fragment in exception messages.

### isSmapSuppressed

boolean isSmapSuppressed()

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:
  `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 work folder

### getClassPath

String getClassPath()

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 compiler target VM, e.g. 1.8.

### getCompilerSourceVM

String getCompilerSourceVM()

Returns:
  the compiler source VM, e.g. 1.8.

### getCompilerClassName

String getCompilerClassName()

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:
  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:
  JSP configuration information specified in web.xml.

### isXpoweredBy

boolean isXpoweredBy()

Returns:
  `true` to generate a X-Powered-By response header.

### getTagPluginManager

TagPluginManager getTagPluginManager()

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:
  modification test interval.

### getRecompileOnFail

boolean getRecompileOnFail()

Returns:
  `true` if re-compile will occur on a failure.

### isCaching

boolean isCaching()

Returns:
  `true` is 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 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:
  `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:
  `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 name of the variable that will be used in the generated JSP code for the expression factory

### getVariableForInstanceManager

default String getVariableForInstanceManager()

Returns:
  the name of the variable that will be used in the generated JSP code for the instance manager

### getPoolTagsWithExtends

default boolean getPoolTagsWithExtends()

Returns:
  `true` if tag pooling is disabled with page that uses extends.

### getStrictGetProperty

default boolean getStrictGetProperty()

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:
  `true` if the strict white space rules are applied.

### getJspServletBase

default String getJspServletBase()

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

### getGeneratedTagFilePackageName

default String getGeneratedTagFilePackageName()

Returns:
  The default package name for tag handlers generated from tag files.

### getTempVariableNamePrefix

default String getTempVariableNamePrefix()

Returns:
  Prefix to use for generated temporary variable names

### getUseInstanceManagerForTags

default boolean getUseInstanceManagerForTags()

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