<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_121) on Mon Jun 22 15:52:37 CEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache Sling JSPC Maven Plugin 2.2.0 API)</title>
<meta name="date" content="2020-06-22">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (Apache Sling JSPC Maven Plugin 2.2.0 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/sling/maven/jspc/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/sling/maven/jspc/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#ABS_URI">ABS_URI</a></span> - Static variable in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>
<div class="block">The types of URI one may specify for a tag library</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addAlternativeBaseURL-java.net.URL-">addAlternativeBaseURL(URL)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Adds an alternative base url for finding resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addFilter-java.lang.String-java.lang.String-">addFilter(String, String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addFilter-java.lang.String-javax.servlet.Filter-">addFilter(String, Filter)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addFilter-java.lang.String-java.lang.Class-">addFilter(String, Class&lt;? extends Filter&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addListener-java.lang.String-">addListener(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addListener-T-">addListener(T)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addListener-java.lang.Class-">addListener(Class&lt;? extends EventListener&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addServlet-java.lang.String-java.lang.String-">addServlet(String, String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addServlet-java.lang.String-javax.servlet.Servlet-">addServlet(String, Servlet)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#addServlet-java.lang.String-java.lang.Class-">addServlet(String, Class&lt;? extends Servlet&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#createFilter-java.lang.Class-">createFilter(Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#createListener-java.lang.Class-">createListener(Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#createServlet-java.lang.Class-">createServlet(Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#declareRoles-java.lang.String...-">declareRoles(String...)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html#delete-java.lang.String-">delete(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc">JspCClassLoaderWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#delete-java.lang.String-">delete(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/HelpMojo.html#execute--">execute()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/HelpMojo.html" title="class in org.apache.sling.maven.jspc">HelpMojo</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#execute--">execute()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/TrackingClassLoader.html#findResource-java.lang.String-">findResource(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/TrackingClassLoader.html" title="class in org.apache.sling.maven.jspc">TrackingClassLoader</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#genStringAsCharArray--">genStringAsCharArray()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getAttribute-java.lang.String-">getAttribute(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the specified context attribute, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getAttributeNames--">getAttributeNames()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return an enumeration of context attribute names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getClassDebugInfo--">getClassDebugInfo()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html#getClassLoader--">getClassLoader()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc">JspCClassLoaderWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#getClassLoader--">getClassLoader()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getClassLoader--">getClassLoader()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#getClassLoaderWriter--">getClassLoaderWriter()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/TrackingClassLoader.html#getClassNames--">getClassNames()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/TrackingClassLoader.html" title="class in org.apache.sling.maven.jspc">TrackingClassLoader</a></dt>
<dd>
<div class="block">Returns the loaded classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getCompiler--">getCompiler()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getCompilerClassName--">getCompilerClassName()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getCompilerSourceVM--">getCompilerSourceVM()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getCompilerTargetVM--">getCompilerTargetVM()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getContext-java.lang.String-">getContext(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the servlet context for the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getContextPath--">getContextPath()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return "/" as the context path for compilation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getDefaultSessionTrackingModes--">getDefaultSessionTrackingModes()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getDisplaySourceFragment--">getDisplaySourceFragment()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getEffectiveMajorVersion--">getEffectiveMajorVersion()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getEffectiveMinorVersion--">getEffectiveMinorVersion()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getEffectiveSessionTrackingModes--">getEffectiveSessionTrackingModes()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getErrorOnUseBeanInvalidClassAttribute--">getErrorOnUseBeanInvalidClassAttribute()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getFilterRegistration-java.lang.String-">getFilterRegistration(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getFilterRegistrations--">getFilterRegistrations()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getFork--">getFork()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getIeClassId--">getIeClassId()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletConfig.html#getInitParameter-java.lang.String-">getInitParameter(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletConfig.html" title="class in org.apache.sling.maven.jspc">JspCServletConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getInitParameter-java.lang.String-">getInitParameter(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the specified context initialization parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletConfig.html#getInitParameterNames--">getInitParameterNames()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletConfig.html" title="class in org.apache.sling.maven.jspc">JspCServletConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getInitParameterNames--">getInitParameterNames()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return an enumeration of the names of context initialization parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html#getInputStream-java.lang.String-">getInputStream(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc">JspCClassLoaderWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#getInputStream-java.lang.String-">getInputStream(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#getJavaCompiler--">getJavaCompiler()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getJavaEncoding--">getJavaEncoding()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getJspConfig--">getJspConfig()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getJspConfigDescriptor--">getJspConfigDescriptor()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getKeepGenerated--">getKeepGenerated()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html#getLastModified-java.lang.String-">getLastModified(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc">JspCClassLoaderWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#getLocation-java.lang.String-">getLocation(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>
<div class="block">Gets the 'location' of the TLD associated with the given taglib 'uri'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getMajorVersion--">getMajorVersion()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the Servlet API major version number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getMappedFile--">getMappedFile()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getMimeType-java.lang.String-">getMimeType(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the MIME type for the specified filename.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getMinorVersion--">getMinorVersion()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the Servlet API minor version number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getNamedDispatcher-java.lang.String-">getNamedDispatcher(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return a request dispatcher for the specified servlet name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html#getOutputStream-java.lang.String-">getOutputStream(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc">JspCClassLoaderWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#getOutputStream-java.lang.String-">getOutputStream(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/TrackingClassLoader.html#getPackageNames--">getPackageNames()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/TrackingClassLoader.html" title="class in org.apache.sling.maven.jspc">TrackingClassLoader</a></dt>
<dd>
<div class="block">Returns the package names of the loaded classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getRealPath-java.lang.String-">getRealPath(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the real path for the specified context-relative virtual path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getRequestDispatcher-java.lang.String-">getRequestDispatcher(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return a request dispatcher for the specified context-relative path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getResource-java.lang.String-">getResource(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return a URL object of a resource that is mapped to the specified
 context-relative path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getResourceAsStream-java.lang.String-">getResourceAsStream(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return an InputStream allowing access to the resource at the specified
 context-relative path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getResourcePaths-java.lang.String-">getResourcePaths(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the set of resource paths for the "directory" at the specified
 context path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getScratchDir--">getScratchDir()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getSendErrorToClient--">getSendErrorToClient()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServerInfo--">getServerInfo()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return descriptive information about this server.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServlet-java.lang.String-">getServlet(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method has been deprecated with no replacement</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletConfig.html#getServletContext--">getServletContext()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletConfig.html" title="class in org.apache.sling.maven.jspc">JspCServletConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServletContextName--">getServletContextName()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Return the name of this servlet context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletConfig.html#getServletName--">getServletName()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletConfig.html" title="class in org.apache.sling.maven.jspc">JspCServletConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServletNames--">getServletNames()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method has been deprecated with no replacement</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServletRegistration-java.lang.String-">getServletRegistration(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServletRegistrations--">getServletRegistrations()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getServlets--">getServlets()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method has been deprecated with no replacement</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getSessionCookieConfig--">getSessionCookieConfig()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getTagPluginManager--">getTagPluginManager()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getTldLocationsCache--">getTldLocationsCache()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#getTldLocationURL-java.lang.String-">getTldLocationURL(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#getTrimSpaces--">getTrimSpaces()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#getVirtualServerName--">getVirtualServerName()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><a href="org/apache/sling/maven/jspc/HelpMojo.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">HelpMojo</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">Display help information on jspc-maven-plugin.<br>
 Call <code>mvn jspc:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</code> to display parameter details.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/HelpMojo.html#HelpMojo--">HelpMojo()</a></span> - Constructor for class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/HelpMojo.html" title="class in org.apache.sling.maven.jspc">HelpMojo</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#isPoolingEnabled--">isPoolingEnabled()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#isSmapDumped--">isSmapDumped()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#isSmapSuppressed--">isSmapSuppressed()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#isXpoweredBy--">isXpoweredBy()</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">JspCClassLoaderWriter</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">Implements the class loader writer</div>
</dd>
<dt><a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">JspCIOProvider</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">Implements the IOProvider for the JSPC plugin</div>
</dd>
<dt><a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">JspcMojo</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">The <code>JspcMojo</code> is implements the Sling Maven JspC goal
 <code>jspc</code> compiling JSP into the target and creating a component
 descriptor for Declarative Services to use the JSP with the help of the
 appropriate adapter as component.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspcMojo.html#JspcMojo--">JspcMojo()</a></span> - Constructor for class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspcMojo.html" title="class in org.apache.sling.maven.jspc">JspcMojo</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/maven/jspc/JspCServletConfig.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">JspCServletConfig</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletConfig.html#JspCServletConfig-javax.servlet.ServletContext-">JspCServletConfig(ServletContext)</a></span> - Constructor for class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletConfig.html" title="class in org.apache.sling.maven.jspc">JspCServletConfig</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">JspCServletContext</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">Simple <code>ServletContext</code> implementation without HTTP-specific
 methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#JspCServletContext-org.apache.maven.plugin.logging.Log-java.net.URL-">JspCServletContext(Log, URL)</a></span> - Constructor for class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Create a new instance of this ServletContext implementation.</div>
</dd>
<dt><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">JspCTldLocationsCache</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">A container for all tag libraries that are defined "globally"
 for the web application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#JspCTldLocationsCache-javax.servlet.ServletContext-boolean-java.lang.ClassLoader-">JspCTldLocationsCache(ServletContext, boolean, ClassLoader)</a></span> - Constructor for class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#lastModified-java.lang.String-">lastModified(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/TrackingClassLoader.html#loadClass-java.lang.String-">loadClass(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/TrackingClassLoader.html" title="class in org.apache.sling.maven.jspc">TrackingClassLoader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#log-java.lang.String-">log(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Log the specified message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#log-java.lang.Exception-java.lang.String-">log(Exception, String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use log(String,Throwable) instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#log-java.lang.String-java.lang.Throwable-">log(String, Throwable)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Log the specified message and exception.</div>
</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#mkdirs-java.lang.String-">mkdirs(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#NOROOT_REL_URI">NOROOT_REL_URI</a></span> - Static variable in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a> - package org.apache.sling.maven.jspc</dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#removeAttribute-java.lang.String-">removeAttribute(String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Remove the specified context attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html#rename-java.lang.String-java.lang.String-">rename(String, String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCClassLoaderWriter.html" title="class in org.apache.sling.maven.jspc">JspCClassLoaderWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCIOProvider.html#rename-java.lang.String-java.lang.String-">rename(String, String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCIOProvider.html" title="class in org.apache.sling.maven.jspc">JspCIOProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#ROOT_REL_URI">ROOT_REL_URI</a></span> - Static variable in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#setAttribute-java.lang.String-java.lang.Object-">setAttribute(String, Object)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>
<div class="block">Set or replace the specified context attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#setInitParameter-java.lang.String-java.lang.String-">setInitParameter(String, String)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#setNoTldJars-java.lang.String-">setNoTldJars(String)</a></span> - Static method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>
<div class="block">Sets the list of JARs that are known not to contain any TLDs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCServletContext.html#setSessionTrackingModes-java.util.Set-">setSessionTrackingModes(Set&lt;SessionTrackingMode&gt;)</a></span> - Method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCServletContext.html" title="class in org.apache.sling.maven.jspc">JspCServletContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="org/apache/sling/maven/jspc/TrackingClassLoader.html" title="class in org.apache.sling.maven.jspc"><span class="typeNameLink">TrackingClassLoader</span></a> - Class in <a href="org/apache/sling/maven/jspc/package-summary.html">org.apache.sling.maven.jspc</a></dt>
<dd>
<div class="block">Classloader that tracks which classes are loaded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/TrackingClassLoader.html#TrackingClassLoader-java.net.URL:A-java.lang.ClassLoader-">TrackingClassLoader(URL[], ClassLoader)</a></span> - Constructor for class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/TrackingClassLoader.html" title="class in org.apache.sling.maven.jspc">TrackingClassLoader</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html#uriType-java.lang.String-">uriType(String)</a></span> - Static method in class org.apache.sling.maven.jspc.<a href="org/apache/sling/maven/jspc/JspCTldLocationsCache.html" title="class in org.apache.sling.maven.jspc">JspCTldLocationsCache</a></dt>
<dd>
<div class="block">Returns the type of a URI:
     ABS_URI
     ROOT_REL_URI
     NOROOT_REL_URI</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/sling/maven/jspc/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/sling/maven/jspc/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
