/* * 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 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 errors be sent to client or thrown into stderr? * @deprecated */ @Deprecated public boolean getSendErrorToClient(); /** * 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 explicitely in * web.xml or implicitely 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 informantion 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 getCache(); }