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
Modifier and Type
Field
Description
`boolean`
`fork`
Should Ant fork its java compiles of JSP pages.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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 Details

### fork

public boolean fork
Should Ant fork its java compiles of JSP pages.

## Constructor Details

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

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