Package org.apache.jasper

## Class EmbeddedServletOptions

- java.lang.Object
- - org.apache.jasper.EmbeddedServletOptions

All Implemented Interfaces:
  `Options`

    public final class EmbeddedServletOptions
    extends Object
    implements Options

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

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

### Field Summary

Fields
`boolean` `fork` Should Ant fork its java compiles of JSP pages.

### Constructor Summary

Constructors
`EmbeddedServletOptions​(ServletConfig config, ServletContext context)` Create an EmbeddedServletOptions object using data available from ServletConfig and ServletContext.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `genStringAsCharArray()` Are Text strings to be generated as char arrays?
`Map<String,​TagLibraryInfo>` `getCache()` The web-application wide cache for the TagLibraryInfo tag library descriptors, used if `Options.isCaching()` returns `true`.
`int` `getCheckInterval()` Background JSP compile thread check interval
`boolean` `getClassDebugInfo()` Should class files be compiled with debug information?
`String` `getClassPath()` What classpath should I use while compiling the servlets generated from JSP files?
`String` `getCompiler()` Compiler to use.
`String` `getCompilerClassName()` Java compiler class to use.
`String` `getCompilerSourceVM()`
`String` `getCompilerTargetVM()`
`boolean` `getDevelopment()` Is Jasper being used in development mode?
`boolean` `getDisplaySourceFragment()` Should we include a source fragment in exception messages, which could be displayed to the developer ?
`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.
`String` `getGeneratedJspPackageName()`
`String` `getGeneratedTagFilePackageName()`
`String` `getJavaEncoding()`
`JspConfig` `getJspConfig()`
`int` `getJspIdleTimeout()` Should any jsps be unloaded when being idle for this time in seconds?
`String` `getJspPrecompilationQueryParameter()`
`String` `getJspServletBase()`
`boolean` `getKeepGenerated()` Are we keeping generated code around?
`boolean` `getMappedFile()` Are we supporting HTML mapped servlets?
`int` `getMaxLoadedJsps()` Should jsps be unloaded if to many are loaded?
`int` `getModificationTestInterval()` Modification test interval.
`boolean` `getPoolTagsWithExtends()`
`String` `getProperty​(String name)`
`boolean` `getQuoteAttributeEL()`
`boolean` `getRecompileOnFail()` Re-compile on failure.
`File` `getScratchDir()` What is my scratch dir?
`String` `getServiceMethodName()` _jspService is the name of the method that is called by HttpJspBase.service().
`String` `getServletClasspathAttribute()`
`boolean` `getStrictGetProperty()`
`boolean` `getStrictQuoteEscaping()`
`boolean` `getStrictWhitespace()`
`TagPluginManager` `getTagPluginManager()`
`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()`
`boolean` `getUseInstanceManagerForTags()`
`String` `getVariableForExpressionFactory()`
`String` `getVariableForInstanceManager()`
`boolean` `isCaching()`
`boolean` `isPoolingEnabled()`
`boolean` `isSmapDumped()` Should SMAP info for JSR45 debugging be dumped to a file?
`boolean` `isSmapSuppressed()` Is the generation of SMAP info for JSR45 debugging suppressed?
`boolean` `isXpoweredBy()` Is generation of X-Powered-By response header enabled/disabled?
`void` `setErrorOnUseBeanInvalidClassAttribute​(boolean b)`
`void` `setProperty​(String name, String value)`
`void` `setQuoteAttributeEL​(boolean b)`
`void` `setTldCache​(TldCache tldCache)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.jasper.Options

`getGeneratedJavaAddTimestamp`

### Field Detail

#### fork

    public boolean fork

Should Ant fork its java compiles of JSP pages.

### Constructor Detail

#### EmbeddedServletOptions

    public EmbeddedServletOptions​(ServletConfig config,
                                  ServletContext context)

Create an EmbeddedServletOptions object using data available from ServletConfig and ServletContext.

Parameters:
  `config` - The Servlet config
  `context` - The Servlet context

### Method Detail

#### getProperty

    public String getProperty​(String name)

#### setProperty

    public void setProperty​(String name,
                            String value)

#### setQuoteAttributeEL

    public void setQuoteAttributeEL​(boolean b)

#### getQuoteAttributeEL

    public boolean getQuoteAttributeEL()

Specified by:
  `getQuoteAttributeEL` in interface `Options`
Returns:
  `true` if EL expressions used within attributes should have the quoting rules in JSP.1.6 applied to the expression.

#### getKeepGenerated

    public boolean getKeepGenerated()

Are we keeping generated code around?

Specified by:
  `getKeepGenerated` in interface `Options`
Returns:
  `true` to keep the generated source

#### getTrimSpaces

    public TrimSpacesOption getTrimSpaces()

Specified by:
  `getTrimSpaces` in interface `Options`
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.

#### isPoolingEnabled

    public boolean isPoolingEnabled()

Specified by:
  `isPoolingEnabled` in interface `Options`
Returns:
  `true` if tag handler pooling is enabled, `false` otherwise.

#### getMappedFile

    public boolean getMappedFile()

Are we supporting HTML mapped servlets?

Specified by:
  `getMappedFile` in interface `Options`
Returns:
  `true` if HTML mapped Servlets are supported.

#### getClassDebugInfo

    public boolean getClassDebugInfo()

Should class files be compiled with debug information?

Specified by:
  `getClassDebugInfo` in interface `Options`
Returns:
  `true` if debug information in included in compiled classes.

#### getCheckInterval

    public int getCheckInterval()

Background JSP compile thread check interval

Specified by:
  `getCheckInterval` in interface `Options`
Returns:
  background compile thread check interval in seconds

#### getModificationTestInterval

    public int getModificationTestInterval()

Modification test interval.

Specified by:
  `getModificationTestInterval` in interface `Options`
Returns:
  modification test interval.

#### getRecompileOnFail

    public boolean getRecompileOnFail()

Re-compile on failure.

Specified by:
  `getRecompileOnFail` in interface `Options`
Returns:
  `true` if re-compile will occur on a failure.

#### getDevelopment

    public boolean getDevelopment()

Is Jasper being used in development mode?

Specified by:
  `getDevelopment` in interface `Options`
Returns:
  `true` if Jasper is in development mode

#### isSmapSuppressed

    public boolean isSmapSuppressed()

Is the generation of SMAP info for JSR45 debugging suppressed?

Specified by:
  `isSmapSuppressed` in interface `Options`
Returns:
  `true` to suppress generation of SMAP info for JSR45 debugging.

#### isSmapDumped

    public boolean isSmapDumped()

Should SMAP info for JSR45 debugging be dumped to a file?

Specified by:
  `isSmapDumped` in interface `Options`
Returns:
  `true` to write SMAP info for JSR45 debugging to a file.

#### genStringAsCharArray

    public boolean genStringAsCharArray()

Are Text strings 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

#### getScratchDir

    public File getScratchDir()

What is my scratch dir?

Specified by:
  `getScratchDir` in interface `Options`
Returns:
  the work folder

#### getClassPath

    public String getClassPath()

What classpath should I use while compiling the servlets generated from JSP files?

Specified by:
  `getClassPath` in interface `Options`
Returns:
  the classpath used to compile generated Servlets

#### isXpoweredBy

    public boolean isXpoweredBy()

Is generation of X-Powered-By response header enabled/disabled?

Specified by:
  `isXpoweredBy` in interface `Options`
Returns:
  `true` to generate a X-Powered-By response header.

#### getCompiler

    public String getCompiler()

Compiler to use.

Specified by:
  `getCompiler` in interface `Options`
Returns:
  the compiler name

#### getCompilerTargetVM

    public String getCompilerTargetVM()

Specified by:
  `getCompilerTargetVM` in interface `Options`
Returns:
  the compiler target VM, e.g. 1.8.
See Also:
  `Options.getCompilerTargetVM()`

#### getCompilerSourceVM

    public String getCompilerSourceVM()

Specified by:
  `getCompilerSourceVM` in interface `Options`
Returns:
  the compiler source VM, e.g. 1.8.
See Also:
  `Options.getCompilerSourceVM()`

#### getCompilerClassName

    public String getCompilerClassName()

Java compiler class to use.

Specified by:
  `getCompilerClassName` in interface `Options`
Returns:
  Jasper Java compiler class to use.

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

#### setErrorOnUseBeanInvalidClassAttribute

    public void setErrorOnUseBeanInvalidClassAttribute​(boolean b)

#### getTldCache

    public TldCache getTldCache()

Description copied from interface: `Options`
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).

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

#### setTldCache

    public void setTldCache​(TldCache tldCache)

#### getJavaEncoding

    public String getJavaEncoding()

Specified by:
  `getJavaEncoding` in interface `Options`
Returns:
  Java platform encoding to generate the JSP page servlet.

#### getFork

    public boolean getFork()

Description copied from interface: `Options`
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).

Specified by:
  `getFork` in interface `Options`
Returns:
  `true` to fork a process during compilation

#### getJspConfig

    public JspConfig getJspConfig()

Specified by:
  `getJspConfig` in interface `Options`
Returns:
  JSP configuration information specified in web.xml.

#### getTagPluginManager

    public TagPluginManager getTagPluginManager()

Specified by:
  `getTagPluginManager` in interface `Options`
Returns:
  a Tag Plugin Manager

#### isCaching

    public boolean isCaching()

Specified by:
  `isCaching` in interface `Options`
Returns:
  `true` is caching is enabled (used for precompilation).

#### getCache

    public Map<String,​TagLibraryInfo> getCache()

Description copied from interface: `Options`
The web-application wide cache for the TagLibraryInfo tag library descriptors, used if `Options.isCaching()` returns `true`.

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

Specified by:
  `getCache` in interface `Options`
Returns:
  the Map(String uri, TagLibraryInfo tld) instance.

#### getDisplaySourceFragment

    public boolean getDisplaySourceFragment()

Should we include a source fragment in exception messages, which could be displayed to the developer ?

Specified by:
  `getDisplaySourceFragment` in interface `Options`
Returns:
  `true` to include a source fragment in exception messages.

#### getMaxLoadedJsps

    public int getMaxLoadedJsps()

Should jsps be unloaded if to many are loaded? If set to a value greater than 0 eviction of jsps is started. Default: -1

Specified by:
  `getMaxLoadedJsps` in interface `Options`
Returns:
  The JSP count

#### getJspIdleTimeout

    public int getJspIdleTimeout()

Should any jsps be unloaded when being idle for this time in seconds? If set to a value greater than 0 eviction of jsps is started. Default: -1

Specified by:
  `getJspIdleTimeout` in interface `Options`
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

    public boolean getStrictQuoteEscaping()

Specified by:
  `getStrictQuoteEscaping` in interface `Options`
Returns:
  `true` if the quote escaping required by section JSP.1.6 of the JSP specification should be applied to scriplet expression.

#### getVariableForExpressionFactory

    public String getVariableForExpressionFactory()

Specified by:
  `getVariableForExpressionFactory` in interface `Options`
Returns:
  the name of the variable that will be used in the generated JSP code for the expression factory

#### getVariableForInstanceManager

    public String getVariableForInstanceManager()

Specified by:
  `getVariableForInstanceManager` in interface `Options`
Returns:
  the name of the variable that will be used in the generated JSP code for the instance manager

#### getPoolTagsWithExtends

    public boolean getPoolTagsWithExtends()

Specified by:
  `getPoolTagsWithExtends` in interface `Options`
Returns:
  `true` if tag pooling is disabled with page that uses extends.

#### getStrictGetProperty

    public boolean getStrictGetProperty()

Specified by:
  `getStrictGetProperty` in interface `Options`
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

    public boolean getStrictWhitespace()

Specified by:
  `getStrictWhitespace` in interface `Options`
Returns:
  `true` if the strict white space rules are applied.

#### getJspServletBase

    public String getJspServletBase()

Specified by:
  `getJspServletBase` in interface `Options`
Returns:
  the default base class for generated JSP Servlets

#### getServiceMethodName

    public String getServiceMethodName()

Description copied from interface: `Options`
_jspService is the name of the method that is called by HttpJspBase.service(). This is where most of the code generated from JSPs go.

Specified by:
  `getServiceMethodName` in interface `Options`
Returns:
  the method name

#### getServletClasspathAttribute

    public String getServletClasspathAttribute()

Specified by:
  `getServletClasspathAttribute` in interface `Options`
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

    public String getJspPrecompilationQueryParameter()

Specified by:
  `getJspPrecompilationQueryParameter` in interface `Options`
Returns:
  The query parameter that causes the JSP engine to just pregenerated the servlet but not invoke it.

#### getGeneratedJspPackageName

    public String getGeneratedJspPackageName()

Specified by:
  `getGeneratedJspPackageName` in interface `Options`
Returns:
  The default package name for compiled jsp pages.

#### getGeneratedTagFilePackageName

    public String getGeneratedTagFilePackageName()

Specified by:
  `getGeneratedTagFilePackageName` in interface `Options`
Returns:
  The default package name for tag handlers generated from tag files.

#### getTempVariableNamePrefix

    public String getTempVariableNamePrefix()

Specified by:
  `getTempVariableNamePrefix` in interface `Options`
Returns:
  Prefix to use for generated temporary variable names

#### getUseInstanceManagerForTags

    public boolean getUseInstanceManagerForTags()

Specified by:
  `getUseInstanceManagerForTags` in interface `Options`
Returns:
  `true` if the container instance manager will be used to create the bean instances