blob: 55c0a00048495c6d5299fee4acf90cd68c477608 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jasper;
import java.io.File;
import java.util.Map;
import javax.servlet.jsp.tagext.TagLibraryInfo;
import org.apache.jasper.compiler.JspConfig;
import org.apache.jasper.compiler.TagPluginManager;
import org.apache.jasper.compiler.TldLocationsCache;
/**
* A class to hold all init parameters specific to the JSP engine.
*
* @author Anil K. Vijendran
* @author Hans Bergsten
* @author Pierre Delisle
*/
public 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.
*/
public boolean getErrorOnUseBeanInvalidClassAttribute();
/**
* Are we keeping generated code around?
*/
public boolean getKeepGenerated();
/**
* Returns true if tag handler pooling is enabled, false otherwise.
*/
public boolean isPoolingEnabled();
/**
* Are we supporting HTML mapped servlets?
*/
public boolean getMappedFile();
/**
* Should we include debug information in compiled class?
*/
public boolean getClassDebugInfo();
/**
* Background compile thread check interval in seconds
*/
public int getCheckInterval();
/**
* Is Jasper being used in development mode?
*/
public boolean getDevelopment();
/**
* Should we include a source fragment in exception messages, which could be displayed
* to the developer ?
*/
public boolean getDisplaySourceFragment();
/**
* Is the generation of SMAP info for JSR45 debugging suppressed?
*/
public boolean isSmapSuppressed();
/**
* Indicates whether SMAP info for JSR45 debugging should be dumped to a
* file.
* Ignored if suppressSmap() is true.
*/
public boolean isSmapDumped();
/**
* Should white spaces between directives or actions be trimmed?
*/
public boolean getTrimSpaces();
/**
* Gets the class-id value that is sent to Internet Explorer when using
* <jsp:plugin> tags.
*
* @return Class-id value
*/
public String getIeClassId();
/**
* What is my scratch dir?
*/
public File getScratchDir();
/**
* What classpath should I use while compiling the servlets
* generated from JSP files?
*/
public String getClassPath();
/**
* Compiler to use.
*
* <p>
* If <code>null</code> (the default), the java compiler from Eclipse JDT
* project, bundled with Tomcat, will be used. Otherwise, the
* <code>javac</code> 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.
*/
public String getCompiler();
/**
* The compiler target VM, e.g. 1.1, 1.2, 1.3, 1.4, 1.5 or 1.6.
*/
public String getCompilerTargetVM();
/**
* The compiler source VM, e.g. 1.3, 1.4, 1.5 or 1.6.
*/
public String getCompilerSourceVM();
/**
* Jasper Java compiler class to use.
*/
public String getCompilerClassName();
/**
* 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 explicitly in
* web.xml or implicitly via the uri tag in the TLD
* of a taglib deployed in a jar file (WEB-INF/lib).
*
* @return the instance of the TldLocationsCache
* for the web-application.
*/
public TldLocationsCache getTldLocationsCache();
/**
* Java platform encoding to generate the JSP
* page servlet.
*/
public String getJavaEncoding();
/**
* The boolean flag to tell Ant whether to fork JSP page compilations.
*
* <p>
* Is used only when Jasper uses an external java compiler (wrapped through
* a <code>javac</code> Apache Ant task).
*/
public boolean getFork();
/**
* Obtain JSP configuration information specified in web.xml.
*/
public JspConfig getJspConfig();
/**
* Is generation of X-Powered-By response header enabled/disabled?
*/
public boolean isXpoweredBy();
/**
* Obtain a Tag Plugin Manager
*/
public TagPluginManager getTagPluginManager();
/**
* Indicates whether text strings are to be generated as char arrays.
*
* @return <code>true</code> if text strings are to be generated as char
* arrays, <code>false</code> otherwise
*/
public boolean genStringAsCharArray();
/**
* Modification test interval.
*/
public int getModificationTestInterval();
/**
* Re-compile on failure.
*/
public boolean getRecompileOnFail();
/**
* Is caching enabled (used for precompilation).
*/
public boolean isCaching();
/**
* The web-application wide cache for the TagLibraryInfo tag library
* descriptors, used if {@link #isCaching()} returns <code>true</code>.
*
* <p>
* Using this cache avoids the cost of repeating the parsing of a tag
* library descriptor XML file (performed by TagLibraryInfoImpl.parseTLD).
* </p>
*
* @return the Map(String uri, TagLibraryInfo tld) instance.
*/
public Map<String, TagLibraryInfo> getCache();
/**
* 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.
*/
public int getMaxLoadedJsps();
/**
* The idle time in seconds after which a JSP is unloaded.
* If unset or less or equal than 0, no jsps are unloaded.
*/
public int getJspIdleTimeout();
}