<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.7) on Mon Jul 13 11:02:00 CEST 2020 -->
<title>Index (Apache Sling JSPC Maven Plugin 2.2.2 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-07-13">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.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.2 API)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "./";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="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" id="allclasses_navbar_top">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<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;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="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.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#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#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#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#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>
<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>
</dl>
<a id="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 id="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 id="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 id="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 id="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="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This method has been deprecated with no replacement</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="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This method has been deprecated with no replacement</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="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This method has been deprecated with no replacement</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 id="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#%3Cinit%3E()">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 id="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 id="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#%3Cinit%3E()">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#%3Cinit%3E(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#%3Cinit%3E(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#%3Cinit%3E(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 id="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.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="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use log(String,Throwable) instead</div>
</div>
</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.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 id="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 id="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 id="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 id="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 id="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 id="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#%3Cinit%3E(java.net.URL%5B%5D,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 id="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;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="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" id="allclasses_navbar_bottom">
<li><a href="allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<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>
</footer>
</body>
</html>
