<!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_60) on Mon Oct 12 15:59:31 EEST 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache Sling 8 API)</title>
<meta name="date" content="2015-10-12">
<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 8 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="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-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:B">B</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:K">K</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:P">P</a>&nbsp;<a href="#I:Q">Q</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 href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post"><span class="typeNameLink">AbstractAccessPostServlet</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a></dt>
<dd>
<div class="block">Base class for all the POST servlets for the AccessManager operations</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#AbstractAccessPostServlet--">AbstractAccessPostServlet()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi"><span class="typeNameLink">AbstractAuthenticationFormServlet</span></a> - Class in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block">The <code>AbstractAuthenticationFormServlet</code> provides a basic
 implementation of a simple servlet to render a login form for authentication
 purposes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#AbstractAuthenticationFormServlet--">AbstractAuthenticationFormServlet()</a></span> - Constructor for class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi"><span class="typeNameLink">AbstractAuthenticationHandler</span></a> - Class in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8; <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a> implementations
             should extend <a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html" title="class in org.apache.sling.auth.core.spi"><code>DefaultAuthenticationFeedbackHandler</code></a>
             directly and use the utility methods in the <a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core"><code>AuthUtil</code></a>
             class.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#AbstractAuthenticationHandler--">AbstractAuthenticationHandler()</a></span> - Constructor for class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post"><span class="typeNameLink">AbstractGetAclServlet</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html#AbstractGetAclServlet--">AbstractGetAclServlet()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractGetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">AbstractInjectAnnotationProcessor</span></a> - Class in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor2.html" title="class in org.apache.sling.models.spi.injectorspecific"><code>AbstractInjectAnnotationProcessor2</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html#AbstractInjectAnnotationProcessor--">AbstractInjectAnnotationProcessor()</a></span> - Constructor for class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor2.html" title="class in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">AbstractInjectAnnotationProcessor2</span></a> - Class in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block">Default implementation of <a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific"><code>InjectAnnotationProcessor2</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor2.html#AbstractInjectAnnotationProcessor2--">AbstractInjectAnnotationProcessor2()</a></span> - Constructor for class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor2.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor2</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">AbstractNamespaceMappingRepository</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of API version 2.3 (bundle version 2.2.2). Use
             <a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base"><code>NamespaceMappingSupport</code></a> or
             <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base"><code>AbstractSlingRepositoryManager</code></a> and
             <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base"><code>AbstractSlingRepository2</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html#AbstractNamespaceMappingRepository--">AbstractNamespaceMappingRepository()</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html" title="class in org.apache.sling.jcr.base">AbstractNamespaceMappingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">AbstractPostOperation</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>AbstractPostOperation</code> class is a base implementation of the
 <a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post"><code>PostOperation</code></a> service interface providing actual implementations with
 useful tooling and common functionality like preparing the change logs or
 saving or refreshing the JCR Session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#AbstractPostOperation--">AbstractPostOperation()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">AbstractPostResponse</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>AbstractPostResponse</code> class provides a basic implementation
 of the <a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post"><code>PostResponse</code></a> interface maintaining properties to be
 prepared for sending the response in an internal map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#AbstractPostResponse--">AbstractPostResponse()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration"><span class="typeNameLink">AbstractRegistrationSupport</span></a> - Class in <a href="org/apache/sling/jcr/registration/package-summary.html">org.apache.sling.jcr.registration</a></dt>
<dd>
<div class="block">The <code>AbstractRegistrationSupport</code> class is the base class for
 registration purposes of embedded repositories.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#AbstractRegistrationSupport--">AbstractRegistrationSupport()</a></span> - Constructor for class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">AbstractResource</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>AbstractResource</code> is an abstract implementation of the
 <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#AbstractResource--">AbstractResource()</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/AbstractResourceVisitor.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">AbstractResourceVisitor</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>AbstractResourceVisitor</code> helps in traversing a
 resource tree by decoupling the actual traversal code
 from application code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResourceVisitor.html#AbstractResourceVisitor--">AbstractResourceVisitor()</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResourceVisitor.html" title="class in org.apache.sling.api.resource">AbstractResourceVisitor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api"><span class="typeNameLink">AbstractScriptEngineFactory</span></a> - Class in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>
<div class="block">This abstract class can be used for own script engine
 factory implementations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#AbstractScriptEngineFactory--">AbstractScriptEngineFactory()</a></span> - Constructor for class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets"><span class="typeNameLink">AbstractServiceReferenceConfig</span></a> - Class in <a href="org/apache/sling/engine/servlets/package-summary.html">org.apache.sling.engine.servlets</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html#AbstractServiceReferenceConfig-javax.servlet.ServletContext-org.osgi.framework.ServiceReference-java.lang.String-">AbstractServiceReferenceConfig(ServletContext, ServiceReference, String)</a></span> - Constructor for class org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets">AbstractServiceReferenceConfig</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets up this base configuration object.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">AbstractSlingPostOperation</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of 2.0.8 (Bundle version 2.2.0) and replaced by
             <a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post"><code>AbstractPostOperation</code></a>.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html#AbstractSlingPostOperation--">AbstractSlingPostOperation()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractSlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">AbstractSlingRepository</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of API version 2.3 (bundle version 2.2.2). Use
             <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base"><code>AbstractSlingRepositoryManager</code></a> and
             <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base"><code>AbstractSlingRepository2</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#AbstractSlingRepository--">AbstractSlingRepository()</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">AbstractSlingRepository2</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block">The <code>AbstractSlingRepository2</code> is an abstract implementation of
 the <a href="org/apache/sling/jcr/api/SlingRepository.html" title="interface in org.apache.sling.jcr.api"><code>SlingRepository</code></a> version 2.3 interface (phasing
 <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#loginAdministrative-java.lang.String-"><code>AbstractSlingRepository2.loginAdministrative(String)</code></a> out in favor of
 <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#loginService-java.lang.String-java.lang.String-"><code>AbstractSlingRepository2.loginService(String, String)</code></a>) which provides default support for
 attached repositories.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#AbstractSlingRepository2-org.apache.sling.jcr.base.AbstractSlingRepositoryManager-org.osgi.framework.Bundle-">AbstractSlingRepository2(AbstractSlingRepositoryManager, Bundle)</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Sets up this abstract SlingRepository implementation.</div>
</dd>
<dt><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">AbstractSlingRepositoryManager</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block">The <code>AbstractSlingRepositoryManager</code> is the basis for controlling
 the JCR repository instances used by Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#AbstractSlingRepositoryManager--">AbstractSlingRepositoryManager()</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html" title="class in org.apache.sling.scripting.api"><span class="typeNameLink">AbstractSlingScriptEngine</span></a> - Class in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html#AbstractSlingScriptEngine-javax.script.ScriptEngineFactory-">AbstractSlingScriptEngine(ScriptEngineFactory)</a></span> - Constructor for class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html" title="class in org.apache.sling.scripting.api">AbstractSlingScriptEngine</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResourceVisitor.html#accept-org.apache.sling.api.resource.Resource-">accept(Resource)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResourceVisitor.html" title="class in org.apache.sling.api.resource">AbstractResourceVisitor</a></dt>
<dd>
<div class="block">Visit the given resource and all its descendants.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceFilter.html#accept-org.apache.sling.discovery.InstanceDescription-">accept(InstanceDescription)</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceFilter.html" title="interface in org.apache.sling.discovery">InstanceFilter</a></dt>
<dd>
<div class="block">Returns true if this InstanceFilter selects the given InstanceDescription.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/OptingServlet.html#accepts-org.apache.sling.api.SlingHttpServletRequest-">accepts(SlingHttpServletRequest)</a></span> - Method in interface org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/OptingServlet.html" title="interface in org.apache.sling.api.servlets">OptingServlet</a></dt>
<dd>
<div class="block">Examines the request, and return <code>true</code> if this servlet is
 willing to handle the request.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/AcceptsNullName.html" title="interface in org.apache.sling.models.spi"><span class="typeNameLink">AcceptsNullName</span></a> - Interface in <a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a></dt>
<dd>
<div class="block">Marker interface for an injector to declare that it ignores the name
 parameter.</div>
</dd>
<dt><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util"><span class="typeNameLink">AccessControlUtil</span></a> - Class in <a href="org/apache/sling/jcr/base/util/package-summary.html">org.apache.sling.jcr.base.util</a></dt>
<dd>
<div class="block">A simple utility class providing utilities with respect to
 access control over repositories.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#AccessControlUtil--">AccessControlUtil()</a></span> - Constructor for class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html#AccessRights--">AccessRights()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo.AccessRights</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/security/AccessSecurityException.html" title="class in org.apache.sling.api.security"><span class="typeNameLink">AccessSecurityException</span></a> - Exception in <a href="org/apache/sling/api/security/package-summary.html">org.apache.sling.api.security</a></dt>
<dd>
<div class="block">Exception thrown by methods of <a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security"><code>ResourceAccessSecurity</code></a> This exception
 is used to catch unpredictable situations in methods of
 <a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security"><code>ResourceAccessSecurity</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/AccessSecurityException.html#AccessSecurityException--">AccessSecurityException()</a></span> - Constructor for exception org.apache.sling.api.security.<a href="org/apache/sling/api/security/AccessSecurityException.html" title="class in org.apache.sling.api.security">AccessSecurityException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with <code>null</code> as its
 detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/AccessSecurityException.html#AccessSecurityException-java.lang.String-">AccessSecurityException(String)</a></span> - Constructor for exception org.apache.sling.api.security.<a href="org/apache/sling/api/security/AccessSecurityException.html" title="class in org.apache.sling.api.security">AccessSecurityException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with the specified detail
 message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/AccessSecurityException.html#AccessSecurityException-java.lang.String-java.lang.Throwable-">AccessSecurityException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.security.<a href="org/apache/sling/api/security/AccessSecurityException.html" title="class in org.apache.sling.api.security">AccessSecurityException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with the specified detail message
 and root cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/AccessSecurityException.html#AccessSecurityException-java.lang.Throwable-">AccessSecurityException(Throwable)</a></span> - Constructor for exception org.apache.sling.api.security.<a href="org/apache/sling/api/security/AccessSecurityException.html" title="class in org.apache.sling.api.security">AccessSecurityException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with the specified root cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#accumulate-java.lang.String-java.lang.Object-">accumulate(String, Object)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Accumulate values under a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#acknowledgeJob-org.osgi.service.event.Event-">acknowledgeJob(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#acknowledgeJob-org.osgi.service.event.Event-"><code>JobUtil.acknowledgeJob(Event)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#acknowledgeJob-org.osgi.service.event.Event-">acknowledgeJob(Event)</a></span> - Static method in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer"><code>JobConsumer</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#acquireRepository--">acquireRepository()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Acquires the repository by calling the
 <a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#getRepositoryFromURL-java.lang.String-"><code>RepositoryAccessor.getRepositoryFromURL(String)</code></a>
 with the value of the
 <a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#REPOSITORY_URL_OVERRIDE_PROPERTY"><code>RepositoryAccessor.REPOSITORY_URL_OVERRIDE_PROPERTY</code></a>
 framework or configuration property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#acquireRepository--">acquireRepository()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Creates the backing JCR repository instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#acquireRepository--">acquireRepository()</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#activate-org.osgi.service.component.ComponentContext-">activate(ComponentContext)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This method must be called if overwritten by implementations !!</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#activate-org.osgi.service.component.ComponentContext-">activate(ComponentContext)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Activates this component thread-safely as follows:
 
 Set the OSGi ComponentContext field
 Call <a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#doActivate--"><code>doActivate()</code></a>
 Register repositores bound before activation calling
 <a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#bindRepository-java.lang.String-javax.jcr.Repository-"><code>bindRepository(String, Repository)</code></a> for each such repository.</div>
</dd>
<dt><a href="org/apache/sling/api/adapter/Adaptable.html" title="interface in org.apache.sling.api.adapter"><span class="typeNameLink">Adaptable</span></a> - Interface in <a href="org/apache/sling/api/adapter/package-summary.html">org.apache.sling.api.adapter</a></dt>
<dd>
<div class="block">The <code>Adaptable</code> interface identifies objects which can be adapted
 to other types or representations of the same object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/AdapterFactory.html#ADAPTABLE_CLASSES">ADAPTABLE_CLASSES</a></span> - Static variable in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/AdapterFactory.html" title="interface in org.apache.sling.api.adapter">AdapterFactory</a></dt>
<dd>
<div class="block">The service registration property listing the fully qualified names of
 classes which can be adapted by this adapter factory (value is
 "adaptables").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/AdapterFactory.html#ADAPTER_CLASSES">ADAPTER_CLASSES</a></span> - Static variable in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/AdapterFactory.html" title="interface in org.apache.sling.api.adapter">AdapterFactory</a></dt>
<dd>
<div class="block">The service registration property listing the fully qualified names of
 classes to which this factory can adapt adaptables (value is "adapters").</div>
</dd>
<dt><a href="org/apache/sling/api/adapter/AdapterFactory.html" title="interface in org.apache.sling.api.adapter"><span class="typeNameLink">AdapterFactory</span></a> - Interface in <a href="org/apache/sling/api/adapter/package-summary.html">org.apache.sling.api.adapter</a></dt>
<dd>
<div class="block">The <code>AdapterFactory</code> interface defines the API for helpers which
 may be provided to enhance the adaptability of adaptable objects.</div>
</dd>
<dt><a href="org/apache/sling/api/adapter/AdapterManager.html" title="interface in org.apache.sling.api.adapter"><span class="typeNameLink">AdapterManager</span></a> - Interface in <a href="org/apache/sling/api/adapter/package-summary.html">org.apache.sling.api.adapter</a></dt>
<dd>
<div class="block">The <code>AdapterManager</code> defines the service interface for a manager
 for object adaption.</div>
</dd>
<dt><a href="org/apache/sling/adapter/Adaption.html" title="interface in org.apache.sling.adapter"><span class="typeNameLink">Adaption</span></a> - Interface in <a href="org/apache/sling/adapter/package-summary.html">org.apache.sling.adapter</a></dt>
<dd>
<div class="block">The <tt>Adaption</tt> is a marker interface which is registered as a service by the <tt>AdapterManager</tt> once a
 certain <tt>AdapterFactory</tt> is available</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/Adaptable.html#adaptTo-java.lang.Class-">adaptTo(Class&lt;AdapterType&gt;)</a></span> - Method in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/Adaptable.html" title="interface in org.apache.sling.api.adapter">Adaptable</a></dt>
<dd>
<div class="block">Adapts the adaptable to another type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/SlingAdaptable.html#adaptTo-java.lang.Class-">adaptTo(Class&lt;AdapterType&gt;)</a></span> - Method in class org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/SlingAdaptable.html" title="class in org.apache.sling.api.adapter">SlingAdaptable</a></dt>
<dd>
<div class="block">Calls into the registered <a href="org/apache/sling/api/adapter/AdapterManager.html" title="interface in org.apache.sling.api.adapter"><code>AdapterManager</code></a> to adapt this object to
 the desired <code>type</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#adaptTo-java.util.Iterator-java.lang.Class-">adaptTo(Iterator&lt;Resource&gt;, Class&lt;T&gt;)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Return an iterator for objects of the specified type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#adaptTo-java.lang.Class-">adaptTo(Class&lt;AdapterType&gt;)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>adaptTo</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#adaptTo-java.lang.Class-">adaptTo(Class&lt;AdapterType&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html#adaptTo-java.lang.Class-">adaptTo(Class&lt;AdapterType&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletResponseWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.html#add--">add()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder</a></dt>
<dd>
<div class="block">Add the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.html#add-java.util.List-">add(List&lt;String&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder</a></dt>
<dd>
<div class="block">Add the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#add--">add()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Finally add the job to the schedule</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#add-java.util.List-">add(List&lt;String&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Finally add the job to the schedule</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallationContext.html#addAsyncTask-org.apache.sling.installer.api.tasks.InstallTask-">addAsyncTask(InstallTask)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallationContext.html" title="interface in org.apache.sling.installer.api.tasks">InstallationContext</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">A async task should return <code>true</code> for <a href="org/apache/sling/installer/api/tasks/InstallTask.html#isAsynchronousTask--"><code>InstallTask.isAsynchronousTask()</code></a>
             and be add with <a href="org/apache/sling/installer/api/tasks/InstallationContext.html#addTaskToCurrentCycle-org.apache.sling.installer.api.tasks.InstallTask-"><code>InstallationContext.addTaskToCurrentCycle(InstallTask)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/BindingsValuesProvider.html#addBindings-javax.script.Bindings-">addBindings(Bindings)</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/BindingsValuesProvider.html" title="interface in org.apache.sling.scripting.api">BindingsValuesProvider</a></dt>
<dd>
<div class="block">Add objects to the Bindings object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/DisposalCallbackRegistry.html#addDisposalCallback-org.apache.sling.models.spi.DisposalCallback-">addDisposalCallback(DisposalCallback)</a></span> - Method in interface org.apache.sling.models.spi.<a href="org/apache/sling/models/spi/DisposalCallbackRegistry.html" title="interface in org.apache.sling.models.spi">DisposalCallbackRegistry</a></dt>
<dd>
<div class="block">Register a callback.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#addEntry-javax.jcr.security.AccessControlList-java.security.Principal-javax.jcr.security.Privilege:A-boolean-">addEntry(AccessControlList, Principal, Privilege[], boolean)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#addEntry-javax.jcr.security.AccessControlList-java.security.Principal-javax.jcr.security.Privilege:A-boolean-java.util.Map-"><code>AccessControlUtil.addEntry(AccessControlList, Principal, Privilege[], boolean, Map)</code></a> using
 some implementation specific restrictions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#addEntry-javax.jcr.security.AccessControlList-java.security.Principal-javax.jcr.security.Privilege:A-boolean-java.util.Map-">addEntry(AccessControlList, Principal, Privilege[], boolean, Map)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Adds an access control entry to the acl consisting of the specified
 <code>principal</code>, the specified <code>privileges</code>, the
 <code>isAllow</code> flag and an optional map containing additional
 restrictions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html#addingService-org.osgi.framework.ServiceReference-">addingService(ServiceReference)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi">SortingServiceTracker</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#addJob-java.lang.String-java.lang.Object-java.util.Map-java.lang.String-boolean-">addJob(String, Object, Map&lt;String, Serializable&gt;, String, boolean)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#addJob-java.lang.String-java.util.Map-">addJob(String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Add a new job

 If the topic is <code>null</code> or illegal, no job is created and <code>null</code> is returned.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#addJob-java.lang.String-java.lang.String-java.util.Map-">addJob(String, String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementsException.html#addMissingElementExceptions-org.apache.sling.models.factory.MissingElementException-">addMissingElementExceptions(MissingElementException)</a></span> - Method in exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementsException.html" title="class in org.apache.sling.models.factory">MissingElementsException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#addPeriodicJob-java.lang.String-java.lang.Object-java.util.Map-long-boolean-">addPeriodicJob(String, Object, Map&lt;String, Serializable&gt;, long, boolean)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#addPeriodicJob-java.lang.String-java.lang.Object-java.util.Map-long-boolean-boolean-">addPeriodicJob(String, Object, Map&lt;String, Serializable&gt;, long, boolean, boolean)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html#addProperty-javax.jcr.Property-">addProperty(Property)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html" title="class in org.apache.sling.commons.json.jcr">JsonJcrNode</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallationContext.html#addTaskToCurrentCycle-org.apache.sling.installer.api.tasks.InstallTask-">addTaskToCurrentCycle(InstallTask)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallationContext.html" title="interface in org.apache.sling.installer.api.tasks">InstallationContext</a></dt>
<dd>
<div class="block">Schedule a task for execution in the current cycle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallationContext.html#addTaskToNextCycle-org.apache.sling.installer.api.tasks.InstallTask-">addTaskToNextCycle(InstallTask)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallationContext.html" title="interface in org.apache.sling.installer.api.tasks">InstallationContext</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html#addValue-java.lang.String-javax.jcr.Value-">addValue(String, Value)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html" title="class in org.apache.sling.commons.json.jcr">JsonJcrNode</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#AMP">AMP</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '&'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#ANONYMOUS_READ_PROP">ANONYMOUS_READ_PROP</a></span> - Static variable in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#APOS">APOS</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '''.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#append-java.lang.String-java.lang.Object-">append(String, Object)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Append values to the array under a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#APPLICATION_CONTEXT">APPLICATION_CONTEXT</a></span> - Static variable in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>
<div class="block">Allowed value for the <a href="org/apache/sling/api/security/ResourceAccessSecurity.html#CONTEXT"><code>ResourceAccessSecurity.CONTEXT</code></a> service registration property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#array--">array()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Begin appending a new array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#ASYNC_ATTR_NAME">ASYNC_ATTR_NAME</a></span> - Static variable in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Attribute which is set by the OSGi installer for asynchronous execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#asyncProcessingFinished-org.apache.sling.event.jobs.consumer.JobExecutionResult-">asyncProcessingFinished(JobExecutionResult)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">Report an async result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallationContext.html#asyncTaskFailed-org.apache.sling.installer.api.tasks.InstallTask-">asyncTaskFailed(InstallTask)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallationContext.html" title="interface in org.apache.sling.installer.api.tasks">InstallationContext</a></dt>
<dd>
<div class="block">Inform the installer about a failed async task.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#AT-java.util.Date-">AT(Date)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Create a schedule options to fire a job once at a specific date</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#AT-java.util.Date-int-long-">AT(Date, int, long)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Create a schedule options to fire a job period starting at a specific date</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#at-java.util.Date-">at(Date)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job for a specific date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_INCLUDE_CONTEXT_PATH">ATTR_INCLUDE_CONTEXT_PATH</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the
 <code>HttpServletRequest.getContextPath()</code> of the request which
 included the servlet currently being active underlying the
 <code>Servlet</code> which included the servlet currently being active
 (value is "javax.servlet.include.context_path").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_INCLUDE_PATH_INFO">ATTR_INCLUDE_PATH_INFO</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the
 <code>HttpServletRequest.getPathInfo()</code> of the request which
 included the servlet currently being active underlying the
 <code>Servlet</code> which included the servlet currently being active
 (value is "javax.servlet.include.path_info").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_INCLUDE_QUERY_STRING">ATTR_INCLUDE_QUERY_STRING</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the
 <code>HttpServletRequest.getQueryString()</code> of the request which
 included the servlet currently being active underlying the
 <code>Servlet</code> which included the servlet currently being active
 (value is "javax.servlet.include.query_string").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_INCLUDE_REQUEST_URI">ATTR_INCLUDE_REQUEST_URI</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the
 <code>HttpServletRequest.getRequestURI()</code> of the request which
 included the servlet currently being active underlying the
 <code>Servlet</code> which included the servlet currently being active
 (value is "javax.servlet.include.request_uri").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_INCLUDE_SERVLET_PATH">ATTR_INCLUDE_SERVLET_PATH</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the
 <code>HttpServletRequest.getServletPath()</code> of the request which
 included the servlet currently being active underlying the
 <code>Servlet</code> which included the servlet currently being active
 (value is "javax.servlet.include.servlet_path").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#ATTR_INSTALL_EXCLUDED">ATTR_INSTALL_EXCLUDED</a></span> - Static variable in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">If this attribute is set and the resource has the state installed,
 it actually means that this resource has been processed but not installed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#ATTR_INSTALL_INFO">ATTR_INSTALL_INFO</a></span> - Static variable in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Additional installation information in human readable format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_REQUEST_CONTENT">ATTR_REQUEST_CONTENT</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the <code>Resource</code>
 underlying the <code>Servlet</code> which included the servlet currently
 being active (value is "org.apache.sling.api.include.resource").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_REQUEST_PATH_INFO">ATTR_REQUEST_PATH_INFO</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the
 <code>RequestPathInfo</code> underlying the <code>Servlet</code> which
 included the servlet currently being active (value is
 "org.apache.sling.api.include.request_path_info").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ATTR_REQUEST_SERVLET">ATTR_REQUEST_SERVLET</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the <code>Servlet</code>
 which included the servlet currently being active (value is
 "org.apache.sling.api.include.servlet").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#ATTR_SCRIPT_RESOURCE_RESOLVER">ATTR_SCRIPT_RESOURCE_RESOLVER</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The name of the script context attribute holding the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> which
 has been used to resolve the script.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ATTR_SKIP_SESSION_HANDLING">ATTR_SKIP_SESSION_HANDLING</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request attribute (not parameter) indicating that a post operation
 should not invoke session.save() upon completion.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/AttributableResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">AttributableResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The attributes provider is an extensions of a <a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource"><code>ResourceProvider</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#attributeAdded-javax.servlet.http.HttpSessionBindingEvent-">attributeAdded(HttpSessionBindingEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#attributeAdded-javax.servlet.http.HttpSessionBindingEvent-">attributeAdded(HttpSessionBindingEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#attributeRemoved-javax.servlet.http.HttpSessionBindingEvent-">attributeRemoved(HttpSessionBindingEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#attributeRemoved-javax.servlet.http.HttpSessionBindingEvent-">attributeRemoved(HttpSessionBindingEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#attributeReplaced-javax.servlet.http.HttpSessionBindingEvent-">attributeReplaced(HttpSessionBindingEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#attributeReplaced-javax.servlet.http.HttpSessionBindingEvent-">attributeReplaced(HttpSessionBindingEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#AUTH_HANDLER_BROWSER_ONLY">AUTH_HANDLER_BROWSER_ONLY</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">Service Registration property which may be set by an
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a> service to
 indicate whether its
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#requestCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.requestCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method supports non-browser requests (according to
 <a href="org/apache/sling/auth/core/AuthUtil.html#isBrowserRequest-javax.servlet.http.HttpServletRequest-"><code>AuthUtil.isBrowserRequest(javax.servlet.http.HttpServletRequest)</code></a>
 or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#AUTH_INFO_LOGIN">AUTH_INFO_LOGIN</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">Marker property in the
 <a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi"><code>AuthenticationInfo</code></a> object returned
 by the
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method indicating a first authentication considered to be a login.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#AUTH_REQUIREMENTS">AUTH_REQUIREMENTS</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">Any OSGi service may provide a sling.auth.requirements registration property which is used
 to dynamically extend the authentication requirements from the Authentication Requirements
 configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#AUTH_TYPE">AUTH_TYPE</a></span> - Static variable in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">The name of the special property providing the authentication type
 provided by the <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core"><span class="typeNameLink">AuthConstants</span></a> - Class in <a href="org/apache/sling/auth/core/package-summary.html">org.apache.sling.auth.core</a></dt>
<dd>
<div class="block">The <code>AuthConstants</code> provides a collection of constants used to
 configure and customize the Sling authentication infrastructure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationHandler.html#authenticate-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">authenticate(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationHandler.html" title="interface in org.apache.sling.engine.auth">AuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Extracts credential data from the request if at all contained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#AUTHENTICATION_INFO_CREDENTIALS">AUTHENTICATION_INFO_CREDENTIALS</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">The name of the property providing the JCR credentials to be used by the
 resource resolver factory method instead of the <code>user.name</code>
 and <code>user.password</code> properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#AUTHENTICATION_INFO_SESSION">AUTHENTICATION_INFO_SESSION</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">The name of the authentication info property containing a JCR Session to
 which a JCR based resource resolver should provide access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#AUTHENTICATION_INFO_WORKSPACE">AUTHENTICATION_INFO_WORKSPACE</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">The name of the authentication info property containing the workspace
 name to which the JCR based resource resolver should provide access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationFeedbackHandler.html#authenticationFailed-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-org.apache.sling.auth.core.spi.AuthenticationInfo-">authenticationFailed(HttpServletRequest, HttpServletResponse, AuthenticationInfo)</a></span> - Method in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationFeedbackHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationFeedbackHandler</a></dt>
<dd>
<div class="block">Called if authentication failed with the credentials provided in the
 <code>authInfo</code> map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html#authenticationFailed-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-org.apache.sling.auth.core.spi.AuthenticationInfo-">authenticationFailed(HttpServletRequest, HttpServletResponse, AuthenticationInfo)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html" title="class in org.apache.sling.auth.core.spi">DefaultAuthenticationFeedbackHandler</a></dt>
<dd>
<div class="block">This default implementation does nothing.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/AuthenticationFeedbackHandler.html" title="interface in org.apache.sling.auth.core.spi"><span class="typeNameLink">AuthenticationFeedbackHandler</span></a> - Interface in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block">The <code>AuthenticationFeedbackHandler</code> may be implemented by
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a> services to request being informed on the
 success or failure of authentication.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><span class="typeNameLink">AuthenticationHandler</span></a> - Interface in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block">The <code>AuthenticationHandler</code> interface defines the service API used
 by the authentication implementation to support plugin various ways of
 extracting credentials from the request.</div>
</dd>
<dt><a href="org/apache/sling/engine/auth/AuthenticationHandler.html" title="interface in org.apache.sling.engine.auth"><span class="typeNameLink">AuthenticationHandler</span></a> - Interface in <a href="org/apache/sling/engine/auth/package-summary.html">org.apache.sling.engine.auth</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">use
             <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a>
             instead</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html" title="enum in org.apache.sling.auth.core.spi"><span class="typeNameLink">AuthenticationHandler.FAILURE_REASON_CODES</span></a> - Enum in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block">This enum indicates the supported detailed login failure reason codes:
 
     <code>invalid_login</code>: indicates username/password mismatch.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi"><span class="typeNameLink">AuthenticationInfo</span></a> - Class in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block">The <code>AuthenticationInfo</code> conveys any authentication credentials
 and/or details extracted by the
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method from the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#AuthenticationInfo-java.lang.String-">AuthenticationInfo(String)</a></span> - Constructor for class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Creates an instance of this class with just the authentication type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#AuthenticationInfo-java.lang.String-java.lang.String-">AuthenticationInfo(String, String)</a></span> - Constructor for class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Creates an instance of this class authenticating with the given type and
 userid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#AuthenticationInfo-java.lang.String-java.lang.String-char:A-">AuthenticationInfo(String, String, char[])</a></span> - Constructor for class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Creates an instance of this class authenticating with the given type and
 userid/password connecting.</div>
</dd>
<dt><a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth"><span class="typeNameLink">AuthenticationInfo</span></a> - Class in <a href="org/apache/sling/engine/auth/package-summary.html">org.apache.sling.engine.auth</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">see <a href="org/apache/sling/engine/auth/AuthenticationHandler.html" title="interface in org.apache.sling.engine.auth"><code>AuthenticationHandler</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationInfo.html#AuthenticationInfo-java.lang.String-javax.jcr.Credentials-">AuthenticationInfo(String, Credentials)</a></span> - Constructor for class org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth">AuthenticationInfo</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates an instance of this class with the given authentication type and
 credentials connecting to the default workspace as if the
 <a href="org/apache/sling/engine/auth/AuthenticationInfo.html#AuthenticationInfo-java.lang.String-javax.jcr.Credentials-java.lang.String-"><code>AuthenticationInfo.AuthenticationInfo(String, Credentials, String)</code></a> method would be
 called with a <code>null</code> workspace name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationInfo.html#AuthenticationInfo-java.lang.String-javax.jcr.Credentials-java.lang.String-">AuthenticationInfo(String, Credentials, String)</a></span> - Constructor for class org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth">AuthenticationInfo</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates an instance of this class with the given authentication type and
 credentials.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/AuthenticationInfoPostProcessor.html" title="interface in org.apache.sling.auth.core.spi"><span class="typeNameLink">AuthenticationInfoPostProcessor</span></a> - Interface in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>
<div class="block">Service interface which allows bundles to modify the AuthenticationInfo object
 after authentication has been performed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationFeedbackHandler.html#authenticationSucceeded-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-org.apache.sling.auth.core.spi.AuthenticationInfo-">authenticationSucceeded(HttpServletRequest, HttpServletResponse, AuthenticationInfo)</a></span> - Method in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationFeedbackHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationFeedbackHandler</a></dt>
<dd>
<div class="block">Called if authentication succeeded with the credentials provided in the
 <code>authInfo</code> map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html#authenticationSucceeded-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-org.apache.sling.auth.core.spi.AuthenticationInfo-">authenticationSucceeded(HttpServletRequest, HttpServletResponse, AuthenticationInfo)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html" title="class in org.apache.sling.auth.core.spi">DefaultAuthenticationFeedbackHandler</a></dt>
<dd>
<div class="block">This default implementation calls the
 <a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html#handleRedirect-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>DefaultAuthenticationFeedbackHandler.handleRedirect(HttpServletRequest, HttpServletResponse)</code></a> method
 to optionally redirect the request after successful authentication.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/AuthenticationSupport.html" title="interface in org.apache.sling.auth.core"><span class="typeNameLink">AuthenticationSupport</span></a> - Interface in <a href="org/apache/sling/auth/core/package-summary.html">org.apache.sling.auth.core</a></dt>
<dd>
<div class="block">The <code>AuthenticationSupport</code> provides the service API used to
 implement the <code>HttpContext.handleSecurity</code> method as defined in
 the OSGi Http Service specification.</div>
</dd>
<dt><a href="org/apache/sling/api/auth/Authenticator.html" title="interface in org.apache.sling.api.auth"><span class="typeNameLink">Authenticator</span></a> - Interface in <a href="org/apache/sling/api/auth/package-summary.html">org.apache.sling.api.auth</a></dt>
<dd>
<div class="block">The <code>Authenticator</code> interface defines the service interface which
 may be used by applications to enforce requests to be authenticated (see
 <a href="org/apache/sling/api/auth/Authenticator.html#login-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>Authenticator.login(HttpServletRequest, HttpServletResponse)</code></a>) or to end enforced
 authentication (see <a href="org/apache/sling/api/auth/Authenticator.html#logout-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>Authenticator.logout(HttpServletRequest, HttpServletResponse)</code></a>
 ).</div>
</dd>
<dt><a href="org/apache/sling/engine/auth/Authenticator.html" title="interface in org.apache.sling.engine.auth"><span class="typeNameLink">Authenticator</span></a> - Interface in <a href="org/apache/sling/engine/auth/package-summary.html">org.apache.sling.engine.auth</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">use <a href="org/apache/sling/auth/core/AuthenticationSupport.html" title="interface in org.apache.sling.auth.core"><code>AuthenticationSupport</code></a> instead</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">AuthorizablePrivilegesInfo</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core"><span class="typeNameLink">AuthUtil</span></a> - Class in <a href="org/apache/sling/auth/core/package-summary.html">org.apache.sling.auth.core</a></dt>
<dd>
<div class="block">The <code>AuthUtil</code> provides utility functions for implementations of
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a> services and
 users of the Sling authentication infrastructure.</div>
</dd>
</dl>
<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#back--">back()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Back up one character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#BANG">BANG</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '!'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.BatchResourceRemover.html#BatchResourceRemover-int-">BatchResourceRemover(int)</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.BatchResourceRemover.html" title="class in org.apache.sling.api.resource">ResourceUtil.BatchResourceRemover</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.html#bind-T-java.util.Map-">bind(T, Map&lt;String, Object&gt;)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi">RankedServices</a></dt>
<dd>
<div class="block">Handle bind service event.</div>
</dd>
<dt><a href="org/apache/sling/scripting/api/BindingsValuesProvider.html" title="interface in org.apache.sling.scripting.api"><span class="typeNameLink">BindingsValuesProvider</span></a> - Interface in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>
<div class="block">Service interface which allows for the Bindings object.</div>
</dd>
<dt><a href="org/apache/sling/scripting/api/BindingsValuesProvidersByContext.html" title="interface in org.apache.sling.scripting.api"><span class="typeNameLink">BindingsValuesProvidersByContext</span></a> - Interface in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>
<div class="block">Provides <a href="org/apache/sling/scripting/api/BindingsValuesProvider.html" title="interface in org.apache.sling.scripting.api"><code>BindingsValuesProvider</code></a> for specific contexts, based on
  their "context" service property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#bindLog-org.osgi.service.log.LogService-">bindLog(LogService)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#bindLog-org.osgi.service.log.LogService-">bindLog(LogService)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Binds the LogService</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#bindRepository-java.lang.String-javax.jcr.Repository-">bindRepository(String, Repository)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Called to actually register a repository with the registry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#bindRepository-org.osgi.framework.ServiceReference-">bindRepository(ServiceReference)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Registers the repository identified by the OSGi service reference under
 the name set as service property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#BND_LAST_MODIFIED">BND_LAST_MODIFIED</a></span> - Static variable in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>
<div class="block">Name of the BND attribute that provides the bundle's last modified timestamp</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#BND_LAST_MODIFIED_MISSING">BND_LAST_MODIFIED_MISSING</a></span> - Static variable in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>
<div class="block">Value for <a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#getBundleLastModified--"><code>BundleVersionInfo.getBundleLastModified()</code></a> if corresponding header
  is not present</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/ResourceBundleProvider.html#BUNDLE_REQ_ATTR">BUNDLE_REQ_ATTR</a></span> - Static variable in interface org.apache.sling.i18n.<a href="org/apache/sling/i18n/ResourceBundleProvider.html" title="interface in org.apache.sling.i18n">ResourceBundleProvider</a></dt>
<dd>
<div class="block">Request attribute to get the resource bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#BUNDLE_START_LEVEL">BUNDLE_START_LEVEL</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Optional parameter in the dictionary if a bundle is installed.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion"><span class="typeNameLink">BundleBundleVersionInfo</span></a> - Class in <a href="org/apache/sling/commons/osgi/bundleversion/package-summary.html">org.apache.sling.commons.osgi.bundleversion</a></dt>
<dd>
<div class="block">BundleVersionInfo based on a Bundle object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#BundleBundleVersionInfo-org.osgi.framework.Bundle-">BundleBundleVersionInfo(Bundle)</a></span> - Constructor for class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#bundleContext">bundleContext</a></span> - Variable in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>
<div class="block">The bundle context.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion"><span class="typeNameLink">BundleVersionInfo</span></a>&lt;<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="type parameter in BundleVersionInfo">T</a>&gt; - Class in <a href="org/apache/sling/commons/osgi/bundleversion/package-summary.html">org.apache.sling.commons.osgi.bundleversion</a></dt>
<dd>
<div class="block">Provides bundle version information, which can be
  extracted from bundle files or Bundle objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#BundleVersionInfo--">BundleVersionInfo()</a></span> - Constructor for class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><a href="org/apache/sling/scripting/api/CachedScript.html" title="interface in org.apache.sling.scripting.api"><span class="typeNameLink">CachedScript</span></a> - Interface in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>
<div class="block">The <code>CachedScript</code> provides an abstraction on top of <code>CompiledScript</code> such that compiled scripts can be cached for further
 executions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScript.html#call-org.apache.sling.api.scripting.SlingBindings-java.lang.String-java.lang.Object...-">call(SlingBindings, String, Object...)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScript.html" title="interface in org.apache.sling.api.scripting">SlingScript</a></dt>
<dd>
<div class="block">Evaluates this script using the bound variables as global variables to
 the script and then calls the given method with the arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canAddChildren-javax.jcr.Node-">canAddChildren(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to add children to the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canAddChildren-javax.jcr.Session-java.lang.String-">canAddChildren(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to add children to the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html#canAddGroup-javax.jcr.Session-">canAddGroup(Session)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html" title="interface in org.apache.sling.jackrabbit.usermanager">AuthorizablePrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to add a new group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html#canAddUser-javax.jcr.Session-">canAddUser(Session)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html" title="interface in org.apache.sling.jackrabbit.usermanager">AuthorizablePrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to add a new user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html#cancel--">cancel()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html" title="interface in org.apache.sling.event.jobs.consumer">JobConsumer.AsyncHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#cancelJob-java.lang.String-">cancelJob(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#removeJob-java.lang.String-"><code>JobStatusProvider.removeJob(String)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#cancelJob-java.lang.String-java.lang.String-">cancelJob(String, String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#removeJob-java.lang.String-java.lang.String-"><code>JobStatusProvider.removeJob(String, String)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html#cancelled--">cancelled()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext.ResultBuilder</a></dt>
<dd>
<div class="block">The job processing failed permanently.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html#cancelled--">cancelled()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionResult</a></dt>
<dd>
<div class="block">If this returns true the job processing failed permanently.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/TimedEventStatusProvider.html#cancelTimedEvent-java.lang.String-">cancelTimedEvent(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/TimedEventStatusProvider.html" title="interface in org.apache.sling.event">TimedEventStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Cancel this timed event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canCreate-java.lang.String-org.apache.sling.api.resource.ResourceResolver-">canCreate(String, ResourceResolver)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ModelFactory.html#canCreateFromAdaptable-java.lang.Object-java.lang.Class-">canCreateFromAdaptable(Object, Class&lt;?&gt;)</a></span> - Method in interface org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ModelFactory.html" title="interface in org.apache.sling.models.factory">ModelFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canDelete-org.apache.sling.api.resource.Resource-">canDelete(Resource)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canDelete-javax.jcr.Node-">canDelete(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to delete the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canDelete-javax.jcr.Session-java.lang.String-">canDelete(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to delete the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canDeleteChildren-javax.jcr.Node-">canDeleteChildren(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to delete children to the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canDeleteChildren-javax.jcr.Session-java.lang.String-">canDeleteChildren(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to delete children of the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canDeleteValue-org.apache.sling.api.resource.Resource-java.lang.String-">canDeleteValue(Resource, String)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canExecute-org.apache.sling.api.resource.Resource-">canExecute(Resource)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canModifyAccessControl-javax.jcr.Node-">canModifyAccessControl(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to modify the access control of the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canModifyAccessControl-javax.jcr.Session-java.lang.String-">canModifyAccessControl(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to modify the access control of the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canModifyProperties-javax.jcr.Node-">canModifyProperties(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to modify properties of the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canModifyProperties-javax.jcr.Session-java.lang.String-">canModifyProperties(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to modify properties of the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canReadAccessControl-javax.jcr.Node-">canReadAccessControl(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to read the access control of the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#canReadAccessControl-javax.jcr.Session-java.lang.String-">canReadAccessControl(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to read the access control of the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canReadValue-org.apache.sling.api.resource.Resource-java.lang.String-">canReadValue(Resource, String)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html#canRemove-javax.jcr.Session-java.lang.String-">canRemove(Session, String)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html" title="interface in org.apache.sling.jackrabbit.usermanager">AuthorizablePrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to remove the specified user or group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html#canRunConcurrently-boolean-">canRunConcurrently(boolean)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler">ScheduleOptions</a></dt>
<dd>
<div class="block">Flag indicating whether the job can be run concurrently.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canSetValue-org.apache.sling.api.resource.Resource-java.lang.String-">canSetValue(Resource, String)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#canUpdate-org.apache.sling.api.resource.Resource-">canUpdate(Resource)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html#canUpdateGroupMembers-javax.jcr.Session-java.lang.String-">canUpdateGroupMembers(Session, String)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html" title="interface in org.apache.sling.jackrabbit.usermanager">AuthorizablePrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to update the membership of the specified group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html#canUpdateProperties-javax.jcr.Session-java.lang.String-">canUpdateProperties(Session, String)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/AuthorizablePrivilegesInfo.html" title="interface in org.apache.sling.jackrabbit.usermanager">AuthorizablePrivilegesInfo</a></dt>
<dd>
<div class="block">Checks whether the current user has been granted privileges
 to update the properties of the specified user or group.</div>
</dd>
<dt><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet"><span class="typeNameLink">CaptureResponseWrapper</span></a> - Class in <a href="org/apache/sling/scripting/core/servlet/package-summary.html">org.apache.sling.scripting.core.servlet</a></dt>
<dd>
<div class="block">Extends the HttpServletResponse to wrap the response and capture the results.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html#CaptureResponseWrapper-javax.servlet.http.HttpServletResponse-">CaptureResponseWrapper(HttpServletResponse)</a></span> - Constructor for class org.apache.sling.scripting.core.servlet.<a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet">CaptureResponseWrapper</a></dt>
<dd>
<div class="block">Construct a new CaptureResponseWrapper.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util"><span class="typeNameLink">CDL</span></a> - Class in <a href="org/apache/sling/commons/json/util/package-summary.html">org.apache.sling.commons.json.util</a></dt>
<dd>
<div class="block">This provides static methods to convert comma delimited text into a
 JSONArray, and to covert a JSONArray into comma delimited text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#CDL--">CDL()</a></span> - Constructor for class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.ChangeListener.html#changed--">changed()</a></span> - Method in interface org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.ChangeListener.html" title="interface in org.apache.sling.commons.osgi">RankedServices.ChangeListener</a></dt>
<dd>
<div class="block">Is called when the list of ranked services was changed due to bundle bindings/unbindings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/ChangeUserPassword.html#changePassword-javax.jcr.Session-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.util.List-">changePassword(Session, String, String, String, String, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/ChangeUserPassword.html" title="interface in org.apache.sling.jackrabbit.usermanager">ChangeUserPassword</a></dt>
<dd>
<div class="block">Update the password of a user in the repository</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html" title="class in org.apache.sling.installer.api.tasks"><span class="typeNameLink">ChangeStateTask</span></a> - Class in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">Simple general task, setting the state of a registered resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html#ChangeStateTask-org.apache.sling.installer.api.tasks.TaskResourceGroup-org.apache.sling.installer.api.tasks.ResourceState-">ChangeStateTask(TaskResourceGroup, ResourceState)</a></span> - Constructor for class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html" title="class in org.apache.sling.installer.api.tasks">ChangeStateTask</a></dt>
<dd>
<div class="block">Change the state of the task</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html#ChangeStateTask-org.apache.sling.installer.api.tasks.TaskResourceGroup-org.apache.sling.installer.api.tasks.ResourceState-java.util.Map-java.lang.String:A-">ChangeStateTask(TaskResourceGroup, ResourceState, Map&lt;String, Object&gt;, String[])</a></span> - Constructor for class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html" title="class in org.apache.sling.installer.api.tasks">ChangeStateTask</a></dt>
<dd>
<div class="block">Change the state of the task</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/ChangeUserPassword.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">ChangeUserPassword</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>ChangeUserPassword</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#CHARACTER_ENCODING">CHARACTER_ENCODING</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">The name of the optional property providing the character encoding of the
 resource if the resource is streamable and contains character data (value
 is "sling.characterEncoding").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#checkoutIfNecessary-javax.jcr.Node-java.util.List-org.apache.sling.servlets.post.VersioningConfiguration-">checkoutIfNecessary(Node, List&lt;Modification&gt;, VersioningConfiguration)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#checkReferer-javax.servlet.http.HttpServletRequest-java.lang.String-">checkReferer(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Check if the request is for this authentication handler.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/ChildResource.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">ChildResource</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject a child resource</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#CHUNK_NODE_NAME">CHUNK_NODE_NAME</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Constant for prefix for sling:chunk node name.</div>
</dd>
<dt><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader"><span class="typeNameLink">ClassLoaderWriter</span></a> - Interface in <a href="org/apache/sling/commons/classloader/package-summary.html">org.apache.sling.commons.classloader</a></dt>
<dd>
<div class="block">A class loader writer is a service allowing to dynamically generate
 classes and resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#cleanup--">cleanup()</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>
<div class="block">Clean up this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Loader.html#cleanupVM--">cleanupVM()</a></span> - Method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared">Loader</a></dt>
<dd>
<div class="block">Tries to remove as many traces of class loaded by the framework from the
 Java VM as possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#clear--">clear()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#clear--">clear()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#clear--">clear()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#clear--">clear()</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Clears all properties from the map with the exception of the
 <a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#AUTH_TYPE"><code>AuthenticationInfo.AUTH_TYPE</code></a> property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#clear--">clear()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#clear--">clear()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method does nothing anymore</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#clear--">clear()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#clear--">clear()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/ScriptCache.html#clear--">clear()</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/ScriptCache.html" title="interface in org.apache.sling.scripting.api">ScriptCache</a></dt>
<dd>
<div class="block">Empties the cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#clone--">clone()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#clone-java.util.Map-">clone(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns a new <code>ResourceResolver</code> instance based on the given
 <code>authenticationInfo</code> map and the original authentication info
 used to create this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#clone--">clone()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/DynamicResourceProvider.html#close--">close()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/DynamicResourceProvider.html" title="interface in org.apache.sling.api.resource">DynamicResourceProvider</a></dt>
<dd>
<div class="block">Close the resource provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#close--">close()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Close this resource resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestLog.html#close--">close()</a></span> - Method in interface org.apache.sling.engine.<a href="org/apache/sling/engine/RequestLog.html" title="interface in org.apache.sling.engine">RequestLog</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Closes this request log.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobsIterator.html#close--">close()</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobsIterator.html" title="interface in org.apache.sling.event">JobsIterator</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Releases this iterators resources immediately instead of waiting for this
 to happen when it is automatically closed.</div>
</dd>
<dt><a href="org/apache/sling/discovery/ClusterView.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">ClusterView</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">A ClusterView represents the instances of a cluster that are
 up and running and that all can see each other at a certain point in time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.html#collectResources--">collectResources()</a></span> - Method in class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor</a></dt>
<dd>
<div class="block">Recursive descent from startResource, collecting JSONObjects into
 startObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ModifyingResourceProvider.html#commit-org.apache.sling.api.resource.ResourceResolver-">commit(ResourceResolver)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ModifyingResourceProvider.html" title="interface in org.apache.sling.api.resource">ModifyingResourceProvider</a></dt>
<dd>
<div class="block">Commit all transient changes: create, delete and updates</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#commit--">commit()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Persist all pending changes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#compareTo-org.apache.sling.commons.osgi.bundleversion.BundleVersionInfo-">compareTo(BundleVersionInfo&lt;?&gt;)</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>
<div class="block">Compare based on bundle version info, and for snapshots
  based on <a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#getBundleLastModified--"><code>BundleVersionInfo.getBundleLastModified()</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#compareTo-org.apache.sling.installer.api.tasks.InstallTask-">compareTo(InstallTask)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">All comparisons are based on getSortKey().</div>
</dd>
<dt><a href="org/apache/sling/commons/compiler/CompilationResult.html" title="interface in org.apache.sling.commons.compiler"><span class="typeNameLink">CompilationResult</span></a> - Interface in <a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a></dt>
<dd>
<div class="block">The compilation result allows clients of the java compiler
 to check for error messages, warnings (if not disabled by
 the options) and allows to access the compiled classes.</div>
</dd>
<dt><a href="org/apache/sling/commons/compiler/CompilationUnit.html" title="interface in org.apache.sling.commons.compiler"><span class="typeNameLink">CompilationUnit</span></a> - Interface in <a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a></dt>
<dd>
<div class="block">This interface describes a compilation unit - usually a java class.</div>
</dd>
<dt><a href="org/apache/sling/commons/compiler/CompilationUnitWithSource.html" title="interface in org.apache.sling.commons.compiler"><span class="typeNameLink">CompilationUnitWithSource</span></a> - Interface in <a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a></dt>
<dd>
<div class="block">Extension of the CompilationUnit interface which allows for the explicit
 declaration of the source file name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/JavaCompiler.html#compile-org.apache.sling.commons.compiler.CompilationUnit:A-org.apache.sling.commons.compiler.Options-">compile(CompilationUnit[], Options)</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/JavaCompiler.html" title="interface in org.apache.sling.commons.compiler">JavaCompiler</a></dt>
<dd>
<div class="block">Compile the compilation units.</div>
</dd>
<dt><a href="org/apache/sling/commons/compiler/CompilerMessage.html" title="class in org.apache.sling.commons.compiler"><span class="typeNameLink">CompilerMessage</span></a> - Class in <a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a></dt>
<dd>
<div class="block">This class encapsulates a message produced the compiler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilerMessage.html#CompilerMessage-java.lang.String-int-int-java.lang.String-">CompilerMessage(String, int, int, String)</a></span> - Constructor for class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilerMessage.html" title="class in org.apache.sling.commons.compiler">CompilerMessage</a></dt>
<dd>
<div class="block">The error message constructor.</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">CompositeValueMap</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block">An implementation of the <a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><code>ValueMap</code></a> based on two <a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><code>ValueMap</code></a>s:
 - One containing the properties
 - Another one containing the defaults to use in case the properties map
   does not contain the values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#CompositeValueMap-org.apache.sling.api.resource.ValueMap-org.apache.sling.api.resource.ValueMap-">CompositeValueMap(ValueMap, ValueMap)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dd>
<div class="block">Constructor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#CompositeValueMap-org.apache.sling.api.resource.ValueMap-org.apache.sling.api.resource.ValueMap-boolean-">CompositeValueMap(ValueMap, ValueMap, boolean)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dd>
<div class="block">Constructor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html#config-java.util.Map-">config(Map&lt;String, Serializable&gt;)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler">ScheduleOptions</a></dt>
<dd>
<div class="block">Add optional configuration for the job.</div>
</dd>
<dt><a href="org/apache/sling/commons/log/logback/ConfigProvider.html" title="interface in org.apache.sling.commons.log.logback"><span class="typeNameLink">ConfigProvider</span></a> - Interface in <a href="org/apache/sling/commons/log/logback/package-summary.html">org.apache.sling.commons.log.logback</a></dt>
<dd>
<div class="block">Provides source for Logback configuration fragment.</div>
</dd>
<dt><a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html" title="class in org.apache.sling.installer.factories.configuration"><span class="typeNameLink">ConfigurationConstants</span></a> - Class in <a href="org/apache/sling/installer/factories/configuration/package-summary.html">org.apache.sling.installer.factories.configuration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html#ConfigurationConstants--">ConfigurationConstants()</a></span> - Constructor for class org.apache.sling.installer.factories.configuration.<a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html" title="class in org.apache.sling.installer.factories.configuration">ConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#containsKey-java.lang.Object-">containsKey(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html#containsKey-java.lang.Object-">containsKey(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">DeepReadValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#containsKey-java.lang.Object-">containsKey(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#containsKey-java.lang.Object-">containsKey(Object)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#containsKey-java.lang.Object-">containsKey(Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#containsValue-java.lang.Object-">containsValue(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#containsValue-java.lang.Object-">containsValue(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#containsValue-java.lang.Object-">containsValue(Object)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#containsValue-java.lang.Object-">containsValue(Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#CONTENT_LENGTH">CONTENT_LENGTH</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">The name of the optional property providing the content length of the
 resource if the resource is streamable (value is "sling.contentLength").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#CONTENT_TYPE">CONTENT_TYPE</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">The name of the optional property providing the content type of the
 resource if the resource is streamable (value is "sling.contentType").</div>
</dd>
<dt><a href="org/apache/sling/jcr/contentloader/ContentImporter.html" title="interface in org.apache.sling.jcr.contentloader"><span class="typeNameLink">ContentImporter</span></a> - Interface in <a href="org/apache/sling/jcr/contentloader/package-summary.html">org.apache.sling.jcr.contentloader</a></dt>
<dd>
<div class="block">The <code>ContentImporter</code> service</div>
</dd>
<dt><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader"><span class="typeNameLink">ContentImportListener</span></a> - Interface in <a href="org/apache/sling/jcr/contentloader/package-summary.html">org.apache.sling.jcr.contentloader</a></dt>
<dd>
<div class="block">Listener interface to provide callbacks for all imported updates
 for interested parties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#CONTEXT">CONTEXT</a></span> - Static variable in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>
<div class="block">The name of the service registration property containing the context
 of this service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/BindingsValuesProvider.html#CONTEXT">CONTEXT</a></span> - Static variable in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/BindingsValuesProvider.html" title="interface in org.apache.sling.scripting.api">BindingsValuesProvider</a></dt>
<dd>
<div class="block">The name of the multi-value service property that defines the context(s) to which 
  a BindingsValuesProvider applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#contextDestroyed-javax.servlet.ServletContextEvent-">contextDestroyed(ServletContextEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#contextDestroyed-javax.servlet.ServletContextEvent-">contextDestroyed(ServletContextEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#contextInitialized-javax.servlet.ServletContextEvent-">contextInitialized(ServletContextEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#contextInitialized-javax.servlet.ServletContextEvent-">contextInitialized(ServletContextEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/app/ControlAction.html" title="enum in org.apache.sling.launchpad.app"><span class="typeNameLink">ControlAction</span></a> - Enum in <a href="org/apache/sling/launchpad/app/package-summary.html">org.apache.sling.launchpad.app</a></dt>
<dd>
<div class="block">The <code>ControlAction</code> defines values to used as the action for the
 Sling control with the <a href="org/apache/sling/launchpad/app/Main.html#doControlAction--"><code>Main.doControlAction()</code></a> method.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/http/Cookie.html" title="class in org.apache.sling.commons.json.http"><span class="typeNameLink">Cookie</span></a> - Class in <a href="org/apache/sling/commons/json/http/package-summary.html">org.apache.sling.commons.json.http</a></dt>
<dd>
<div class="block">Convert a web browser cookie specification to a JSONObject and back.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/Cookie.html#Cookie--">Cookie()</a></span> - Constructor for class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/Cookie.html" title="class in org.apache.sling.commons.json.http">Cookie</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/http/CookieList.html" title="class in org.apache.sling.commons.json.http"><span class="typeNameLink">CookieList</span></a> - Class in <a href="org/apache/sling/commons/json/http/package-summary.html">org.apache.sling.commons.json.http</a></dt>
<dd>
<div class="block">Convert a web browser cookie list string to a JSONObject and back.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/CookieList.html#CookieList--">CookieList()</a></span> - Constructor for class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/CookieList.html" title="class in org.apache.sling.commons.json.http">CookieList</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ModifyingResourceProvider.html#create-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.util.Map-">create(ResourceResolver, String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ModifyingResourceProvider.html" title="interface in org.apache.sling.api.resource">ModifyingResourceProvider</a></dt>
<dd>
<div class="block">Create a new resource at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#create-org.apache.sling.api.resource.Resource-java.lang.String-java.util.Map-">create(Resource, String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Add a child resource to the given parent resource</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/JsonObjectCreator.html#create-org.apache.sling.api.resource.Resource-int-">create(Resource, int)</a></span> - Static method in class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/JsonObjectCreator.html" title="class in org.apache.sling.commons.json.sling">JsonObjectCreator</a></dt>
<dd>
<div class="block">Dump given resource in JSON, optionally recursing into its objects</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolManager.html#create-org.apache.sling.commons.threads.ThreadPoolConfig-">create(ThreadPoolConfig)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolManager.html" title="interface in org.apache.sling.commons.threads">ThreadPoolManager</a></dt>
<dd>
<div class="block">Create a new thread pool with this configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolManager.html#create-org.apache.sling.commons.threads.ThreadPoolConfig-java.lang.String-">create(ThreadPoolConfig, String)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolManager.html" title="interface in org.apache.sling.commons.threads">ThreadPoolManager</a></dt>
<dd>
<div class="block">Create a new thread pool with this configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#create-org.osgi.framework.Bundle-">create(Bundle)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Creates an instance of the <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base"><code>AbstractSlingRepository2</code></a>
 implementation for use by the given <code>usingBundle</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#create-org.osgi.framework.Bundle-">create(Bundle)</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#createAdministrativeSession-java.lang.String-">createAdministrativeSession(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Creates an administrative session to access the indicated workspace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepository.html#createAdministrativeSession-java.lang.String-">createAdministrativeSession(String)</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepository.html" title="class in org.apache.sling.oak.server">OakSlingRepository</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.html#createAnnotationProcessor-java.lang.Object-java.lang.reflect.AnnotatedElement-">createAnnotationProcessor(Object, AnnotatedElement)</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessorFactory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory2.html#createAnnotationProcessor-java.lang.Object-java.lang.reflect.AnnotatedElement-">createAnnotationProcessor(Object, AnnotatedElement)</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory2.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessorFactory2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.html#createAnnotationProcessor-java.lang.reflect.AnnotatedElement-">createAnnotationProcessor(AnnotatedElement)</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.html" title="interface in org.apache.sling.models.spi.injectorspecific">StaticInjectAnnotationProcessorFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html#createBindings--">createBindings()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html" title="class in org.apache.sling.scripting.api">AbstractSlingScriptEngine</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#createDistributableEvent-java.lang.String-java.util.Dictionary-">createDistributableEvent(String, Dictionary&lt;String, Object&gt;)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Event senders should rather just directly include the property
             <a href="org/apache/sling/event/EventUtil.html#PROPERTY_DISTRIBUTE"><code>EventUtil.PROPERTY_DISTRIBUTE</code></a> with an empty string value.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#createEvent-org.osgi.framework.Bundle-org.osgi.framework.ServiceReference-java.lang.String-java.util.Map-">createEvent(Bundle, ServiceReference, String, Map&lt;String, Object&gt;)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Create an osgi event with the given topic and properties.</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/CreateGroup.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">CreateGroup</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>CreateGroup</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/CreateGroup.html#createGroup-javax.jcr.Session-java.lang.String-java.util.Map-java.util.List-">createGroup(Session, String, Map&lt;String, ?&gt;, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/CreateGroup.html" title="interface in org.apache.sling.jackrabbit.usermanager">CreateGroup</a></dt>
<dd>
<div class="block">Create a new group for the repository</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#createHtmlResponse-org.apache.sling.api.SlingHttpServletRequest-">createHtmlResponse(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>
<div class="block">Creates an instance of a HtmlResponse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#createJob-java.lang.String-">createJob(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Fluent API to create, start and schedule new jobs</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ModelFactory.html#createModel-java.lang.Object-java.lang.Class-">createModel(Object, Class&lt;ModelType&gt;)</a></span> - Method in interface org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ModelFactory.html" title="interface in org.apache.sling.models.factory">ModelFactory</a></dt>
<dd>
<div class="block">Instantiates the given Sling Model class from the given adaptable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#createPath-java.lang.String-java.lang.String-java.lang.String-javax.jcr.Session-boolean-">createPath(String, String, String, Session, boolean)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Creates or gets the <code>Node</code> at the given Path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#createPath-javax.jcr.Node-java.lang.String-java.lang.String-java.lang.String-boolean-">createPath(Node, String, String, String, boolean)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Creates or gets the <code>Node</code> at the given Path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponseCreator.html#createPostResponse-org.apache.sling.api.SlingHttpServletRequest-">createPostResponse(SlingHttpServletRequest)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponseCreator.html" title="interface in org.apache.sling.servlets.post">PostResponseCreator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html#createPostResponse-org.apache.sling.api.SlingHttpServletRequest-">createPostResponse(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html" title="class in org.apache.sling.servlets.post">PostResponseWithErrorHandling</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/SessionProxyHandler.html#createProxy-javax.jcr.Session-">createProxy(Session)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/SessionProxyHandler.html" title="class in org.apache.sling.jcr.base">SessionProxyHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Create a proxy for the session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#createServiceSession-java.lang.String-java.lang.String-">createServiceSession(String, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Creates a service-session for the service's <code>serviceUserName</code> by
 impersonating the user from an administrative session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTaskFactory.html#createTask-org.apache.sling.installer.api.tasks.TaskResourceGroup-">createTask(TaskResourceGroup)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTaskFactory.html" title="interface in org.apache.sling.installer.api.tasks">InstallTaskFactory</a></dt>
<dd>
<div class="block">Creates an <a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks"><code>InstallTask</code></a> for the resource or
 <code>null</code> if the factory does not support the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#createUniqueChildName-org.apache.sling.api.resource.Resource-java.lang.String-">createUniqueChildName(Resource, String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Create a unique name for a child of the <code>parent</code>.</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/CreateUser.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">CreateUser</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>CreateUser</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/CreateUser.html#createUser-javax.jcr.Session-java.lang.String-java.lang.String-java.lang.String-java.util.Map-java.util.List-">createUser(Session, String, String, String, Map&lt;String, ?&gt;, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/CreateUser.html" title="interface in org.apache.sling.jackrabbit.usermanager">CreateUser</a></dt>
<dd>
<div class="block">Create a new user for the repository</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#createValue-java.lang.Object-javax.jcr.Session-">createValue(Object, Session)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Creates a <code>JCR Value</code> for the given object with
 the given Session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#CREATION_TIME">CREATION_TIME</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the creation time of this resource in the repository in
 milliseconds (value is "sling.creationTime").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/HTTP.html#CRLF">CRLF</a></span> - Static variable in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/HTTP.html" title="class in org.apache.sling.commons.json.http">HTTP</a></dt>
<dd>
<div class="block">Carriage return/line feed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#cron-java.lang.String-">cron(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job for according to the cron expression.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#CUSTOM_FORM_PATH">CUSTOM_FORM_PATH</a></span> - Static variable in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">The path to the custom login form.</div>
</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#daily-int-int-">daily(int, int)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job daily at the given time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#DATE_FORMAT_LOCALE">DATE_FORMAT_LOCALE</a></span> - Static variable in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Used to format date values</div>
</dd>
<dt><a href="org/apache/sling/event/dea/DEAConstants.html" title="class in org.apache.sling.event.dea"><span class="typeNameLink">DEAConstants</span></a> - Class in <a href="org/apache/sling/event/dea/package-summary.html">org.apache.sling.event.dea</a></dt>
<dd>
<div class="block">The <code>DEAConstants</code> provides some constants for
 handling distributed OSGi events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/dea/DEAConstants.html#DEAConstants--">DEAConstants()</a></span> - Constructor for class org.apache.sling.event.dea.<a href="org/apache/sling/event/dea/DEAConstants.html" title="class in org.apache.sling.event.dea">DEAConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#deactivate-org.osgi.service.component.ComponentContext-">deactivate(ComponentContext)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This method must be called if overwritten by implementations !!</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#deactivate-org.osgi.service.component.ComponentContext-">deactivate(ComponentContext)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Deactivates this component thread-safely as follows:
 
 Unregister repositores still bound calling
 <a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#unbindRepository-java.lang.String-java.lang.Object-"><code>unbindRepository(String, Object)</code></a> for each such repository.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceDecorator.html#decorate-org.apache.sling.api.resource.Resource-">decorate(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceDecorator.html" title="interface in org.apache.sling.api.resource">ResourceDecorator</a></dt>
<dd>
<div class="block">Decorate a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceDecorator.html#decorate-org.apache.sling.api.resource.Resource-javax.servlet.http.HttpServletRequest-">decorate(Resource, HttpServletRequest)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceDecorator.html" title="interface in org.apache.sling.api.resource">ResourceDecorator</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since 2.3.0 (and JCR Resource 2.1.0), this method will not be invoked.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/DeepReadModifiableValueMapDecorator.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">DeepReadModifiableValueMapDecorator</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block">A value map wrapper which implements deep reading of properties
 based on the resource tree and also supports <a href="org/apache/sling/api/resource/ModifiableValueMap.html" title="interface in org.apache.sling.api.resource"><code>ModifiableValueMap</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/DeepReadModifiableValueMapDecorator.html#DeepReadModifiableValueMapDecorator-org.apache.sling.api.resource.Resource-org.apache.sling.api.resource.ValueMap-">DeepReadModifiableValueMapDecorator(Resource, ValueMap)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/DeepReadModifiableValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">DeepReadModifiableValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">DeepReadValueMapDecorator</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block">A value map wrapper which implements deep reading of properties
 based on the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html#DeepReadValueMapDecorator-org.apache.sling.api.resource.Resource-org.apache.sling.api.resource.ValueMap-">DeepReadValueMapDecorator(Resource, ValueMap)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">DeepReadValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/Default.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Default</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Default value for an injection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_ADMIN_PASS">DEFAULT_ADMIN_PASS</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_ADMIN_USER">DEFAULT_ADMIN_USER</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#DEFAULT_ADMIN_USER">DEFAULT_ADMIN_USER</a></span> - Static variable in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_ANONYMOUS_PASS">DEFAULT_ANONYMOUS_PASS</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_ANONYMOUS_USER">DEFAULT_ANONYMOUS_USER</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#DEFAULT_CHILD_NAME_KEY">DEFAULT_CHILD_NAME_KEY</a></span> - Static variable in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#DEFAULT_CHILDREN_KEY">DEFAULT_CHILDREN_KEY</a></span> - Static variable in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/BindingsValuesProvider.html#DEFAULT_CONTEXT">DEFAULT_CONTEXT</a></span> - Static variable in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/BindingsValuesProvider.html" title="interface in org.apache.sling.scripting.api">BindingsValuesProvider</a></dt>
<dd>
<div class="block">The default value of the CONTEXT service property, used for compatibility with
  previous versions of this bundle that didn't require it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#DEFAULT_CREATE_SUFFIX">DEFAULT_CREATE_SUFFIX</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">The suffix to the resource path used to indicate to automatically
 generate the name of the new item to create during a content creation
 request (value is "/").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#DEFAULT_FORM_PATH">DEFAULT_FORM_PATH</a></span> - Static variable in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">The path to the default login form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_LOGIN_ADMIN_ENABLED">DEFAULT_LOGIN_ADMIN_ENABLED</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#DEFAULT_LOGIN_ADMIN_ENABLED">DEFAULT_LOGIN_ADMIN_ENABLED</a></span> - Static variable in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_POLL_ACTIVE">DEFAULT_POLL_ACTIVE</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The default value for the number of seconds to wait between two
 consecutive checks while the repository is active (value is 10).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#DEFAULT_POLL_INACTIVE">DEFAULT_POLL_INACTIVE</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The default value for the number of seconds to wait between two
 consecutive checks while the repository is not active (value is 10).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#DEFAULT_PRIORITY">DEFAULT_PRIORITY</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Default resource priority</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#DEFAULT_SLING_LAUNCHER_JAR">DEFAULT_SLING_LAUNCHER_JAR</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The absolute path to the launcher JAR file in the archive to copy to the
 sling.home directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#DEFAULT_SLING_LISTENER">DEFAULT_SLING_LISTENER</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The fully qualified name of the implementation of the Servlet API
 ServletContextListener, HttpSessionListener, and
 HttpSessionAttributeListener interfaces to which the respective events
 are forwarded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#DEFAULT_SLING_MAIN">DEFAULT_SLING_MAIN</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The fully qualified name of the class used by the Standalone Java
 Application main class to control the framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#DEFAULT_SLING_SERVLET">DEFAULT_SLING_SERVLET</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The fully qualified name of the class used by the Sling Web Applicaiton
 servlet to control the framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolManager.html#DEFAULT_THREADPOOL_NAME">DEFAULT_THREADPOOL_NAME</a></span> - Static variable in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolManager.html" title="interface in org.apache.sling.commons.threads">ThreadPoolManager</a></dt>
<dd>
<div class="block">The default thread pool name</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#DEFAULT_VALUE_SUFFIX">DEFAULT_VALUE_SUFFIX</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating a default value for a property (value is
 "@DefaultValue").</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html" title="class in org.apache.sling.auth.core.spi"><span class="typeNameLink">DefaultAuthenticationFeedbackHandler</span></a> - Class in <a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html#DefaultAuthenticationFeedbackHandler--">DefaultAuthenticationFeedbackHandler()</a></span> - Constructor for class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html" title="class in org.apache.sling.auth.core.spi">DefaultAuthenticationFeedbackHandler</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/DefaultInjectionStrategy.html" title="enum in org.apache.sling.models.annotations"><span class="typeNameLink">DefaultInjectionStrategy</span></a> - Enum in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/i18n/DefaultLocaleResolver.html" title="class in org.apache.sling.i18n"><span class="typeNameLink">DefaultLocaleResolver</span></a> - Class in <a href="org/apache/sling/i18n/package-summary.html">org.apache.sling.i18n</a></dt>
<dd>
<div class="block">The <code>DefaultLocaleResolver</code> resolves the request's Locale by
 calling the <code>ServletRequest.getLocales()</code> method, which generally
 will be the Servlet Container's implementation of this method and thus be
 based on the client's <code>Accept-Language</code> header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/DefaultLocaleResolver.html#DefaultLocaleResolver--">DefaultLocaleResolver()</a></span> - Constructor for class org.apache.sling.i18n.<a href="org/apache/sling/i18n/DefaultLocaleResolver.html" title="class in org.apache.sling.i18n">DefaultLocaleResolver</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/NamespaceMapper.html#defineNamespacePrefixes-javax.jcr.Session-">defineNamespacePrefixes(Session)</a></span> - Method in interface org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/NamespaceMapper.html" title="interface in org.apache.sling.jcr.api">NamespaceMapper</a></dt>
<dd>
<div class="block">This method is invoked whenever a new session is created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#dehexchar-char-">dehexchar(char)</a></span> - Static method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the hex value of a character (base16).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ModifyingResourceProvider.html#delete-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">delete(ResourceResolver, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ModifyingResourceProvider.html" title="interface in org.apache.sling.api.resource">ModifyingResourceProvider</a></dt>
<dd>
<div class="block">Delete the resource at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#delete-org.apache.sling.api.resource.Resource-">delete(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Delete the resource

 Deleting a non existing resource leads to no operation nor exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.BatchResourceRemover.html#delete-org.apache.sling.api.resource.Resource-">delete(Resource)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.BatchResourceRemover.html" title="class in org.apache.sling.api.resource">ResourceUtil.BatchResourceRemover</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html#delete-java.lang.String-">delete(String)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader">ClassLoaderWriter</a></dt>
<dd>
<div class="block">Delete the class/resource</div>
</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/DeleteAces.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager"><span class="typeNameLink">DeleteAces</span></a> - Interface in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a></dt>
<dd>
<div class="block">The <code>DeleteAces</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/DeleteAces.html#deleteAces-javax.jcr.Session-java.lang.String-java.lang.String:A-">deleteAces(Session, String, String[])</a></span> - Method in interface org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/DeleteAces.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager">DeleteAces</a></dt>
<dd>
<div class="block">Deletes one or more ACEs from the access control list of a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html#deleteAces-javax.jcr.Session-java.lang.String-java.lang.String:A-">deleteAces(Session, String, String[])</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">DeleteAcesServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post"><span class="typeNameLink">DeleteAcesServlet</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a></dt>
<dd>
<div class="block">
 Sling Post Servlet implementation for deleting the ACE for a set of principals on a JCR
 resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html#DeleteAcesServlet--">DeleteAcesServlet()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">DeleteAcesServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/DeleteAuthorizables.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">DeleteAuthorizables</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>DeleteAuthorizables</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/DeleteAuthorizables.html#deleteAuthorizables-javax.jcr.Session-org.apache.sling.api.resource.Resource-java.lang.String:A-java.util.List-">deleteAuthorizables(Session, Resource, String[], List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/DeleteAuthorizables.html" title="interface in org.apache.sling.jackrabbit.usermanager">DeleteAuthorizables</a></dt>
<dd>
<div class="block">Deletes one or more users or groups from the repository</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/DeleteGroup.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">DeleteGroup</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>DeleteGroup</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/DeleteGroup.html#deleteGroup-javax.jcr.Session-java.lang.String-java.util.List-">deleteGroup(Session, String, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/DeleteGroup.html" title="interface in org.apache.sling.jackrabbit.usermanager">DeleteGroup</a></dt>
<dd>
<div class="block">Deletes a group from the repository</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/DeleteUser.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">DeleteUser</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>DeleteUser</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/DeleteUser.html#deleteUser-javax.jcr.Session-java.lang.String-java.util.List-">deleteUser(Session, String, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/DeleteUser.html" title="interface in org.apache.sling.jackrabbit.usermanager">DeleteUser</a></dt>
<dd>
<div class="block">Deletes a user from the repository</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#destroy-org.apache.sling.jcr.base.AbstractSlingRepository2-">destroy(AbstractSlingRepository2)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Cleans up the given <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base"><code>AbstractSlingRepository2</code></a> instance previously
 created by the <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#create-org.osgi.framework.Bundle-"><code>AbstractSlingRepositoryManager.create(Bundle)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#destroy--">destroy()</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>
<div class="block">Destroys this servlet by shutting down the OSGi framework and hence the
 delegatee servlet if one is set at all.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#destroy--">destroy()</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>
<div class="block">Stop the Sling framework when the web application is being stopped</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#destroy-org.apache.sling.jcr.base.AbstractSlingRepository2-">destroy(AbstractSlingRepository2)</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationResult.html#didCompile--">didCompile()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationResult.html" title="interface in org.apache.sling.commons.compiler">CompilationResult</a></dt>
<dd>
<div class="block">Was a compilation required or were all classes recent?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#DISABLE_PACKAGE_BUNDLE_LOADING">DISABLE_PACKAGE_BUNDLE_LOADING</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">True or false value which controls whether sling will load bundles which
 are contained in the resources/# path locations in the sling jar or war <br/>
 The default is to unpack the jars and deploy them to the startup folder
 in sling home</div>
</dd>
<dt><a href="org/apache/sling/discovery/DiscoveryService.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">DiscoveryService</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">The discovery service can be used to get the current topology view.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/DisposalCallback.html" title="interface in org.apache.sling.models.spi"><span class="typeNameLink">DisposalCallback</span></a> - Interface in <a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a></dt>
<dd>
<div class="block">Callback interface which can be implemented by Injectors to perform some action
 when a created object is destroyed.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/DisposalCallbackRegistry.html" title="interface in org.apache.sling.models.spi"><span class="typeNameLink">DisposalCallbackRegistry</span></a> - Interface in <a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a></dt>
<dd>
<div class="block">Interface which allows for the registration of DisposalCallback listeners.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#dispose--">dispose()</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method is deprecated since version 2.1 and will be removed.
             It should never be called by clients.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#dispose--">dispose()</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#disposeRepository-javax.jcr.Repository-">disposeRepository(Repository)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Disposes off the given <code>repository</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#disposeRepository-javax.jcr.Repository-">disposeRepository(Repository)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Disposes off the given <code>repository</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#disposeRepository-javax.jcr.Repository-">disposeRepository(Repository)</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#doActivate--">doActivate()</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Performs additional activation tasks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#doControlAction--">doControlAction()</a></span> - Method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">After instantiating this class, this method may be called to help with
 the communication with a running Sling instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#doDeactivate--">doDeactivate()</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Performs additional deactivation tasks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#doDelete-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doDelete(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>
<div class="block">Called by the
 <a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#mayService-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingAllMethodsServlet.mayService(SlingHttpServletRequest, SlingHttpServletResponse)</code></a> method to
 handle an HTTP <em>DELETE</em> request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doGeneric-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doGeneric(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Called by the <a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#service-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingSafeMethodsServlet.service(SlingHttpServletRequest, SlingHttpServletResponse)</code></a>
 method to handle a request for an HTTP method, which is not known and
 handled by this class or its extension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doGet-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doGet(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Called by the
 <a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#mayService-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingSafeMethodsServlet.mayService(SlingHttpServletRequest, SlingHttpServletResponse)</code></a> method to
 handle an HTTP <em>GET</em> request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doGet(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Prepares and returns the login form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html#doGet-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doGet(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractGetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doHead-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doHead(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Handles the <em>HEAD</em> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#DOING_AUTH">DOING_AUTH</a></span> - Static variable in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">A special instance of this class which may be returned from the
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method to inform the caller, that a response has been sent to the client
 to request for credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationInfo.html#DOING_AUTH">DOING_AUTH</a></span> - Static variable in class org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth">AuthenticationInfo</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This object is returned by the
 <a href="org/apache/sling/engine/auth/AuthenticationHandler.html#authenticate-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.authenticate(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method to indicate an ongoing authentication transaction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#done--">done()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Call this when done processing the request - only the first call of this
  method is processed, all further calls to this method are ignored.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doOptions-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doOptions(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Handles the <em>OPTIONS</em> method by setting the HTTP
 <code>Allow</code> header on the response depending on the methods
 declared in this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#doPost-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doPost(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>
<div class="block">Called by the
 <a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#mayService-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingAllMethodsServlet.mayService(SlingHttpServletRequest, SlingHttpServletResponse)</code></a> method to
 handle an HTTP <em>POST</em> request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doPost(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Prepares and returns the login form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#doPost-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doPost(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#doPut-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doPut(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>
<div class="block">Called by the
 <a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#mayService-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingAllMethodsServlet.mayService(SlingHttpServletRequest, SlingHttpServletResponse)</code></a> method to
 handle an HTTP <em>PUT</em> request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#doRun-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.PostResponse-java.util.List-">doRun(SlingHttpServletRequest, PostResponse, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Actually performs the desired operation filling progress into the
 <code>changes</code> list and preparing and further information in the
 <code>response</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html#doRun-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.servlets.HtmlResponse-java.util.List-">doRun(SlingHttpServletRequest, HtmlResponse, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractSlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html#doRun-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.PostResponse-java.util.List-">doRun(SlingHttpServletRequest, PostResponse, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractSlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Implementation of the
 <a href="org/apache/sling/servlets/post/AbstractPostOperation.html#doRun-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.PostResponse-java.util.List-"><code>AbstractPostOperation.doRun(SlingHttpServletRequest, PostResponse, List)</code></a>
 method calling our own
 <a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.servlets.HtmlResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-"><code>AbstractSlingPostOperation.run(SlingHttpServletRequest, HtmlResponse, SlingPostProcessor[])</code></a>
 meethod with a proxy for the Sling API <code>HtmlResponse</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#doSend-javax.servlet.http.HttpServletResponse-">doSend(HttpServletResponse)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/HtmlResponse.html#doSend-javax.servlet.http.HttpServletResponse-">doSend(HttpServletResponse)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/HtmlResponse.html" title="class in org.apache.sling.servlets.post">HtmlResponse</a></dt>
<dd>
<div class="block">Writes the response to the given writer and replaces all ${var} patterns
 by the value of the respective property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#doSend-javax.servlet.http.HttpServletResponse-">doSend(HttpServletResponse)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#doStart--">doStart()</a></span> - Method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">Starts the application with the configuration supplied with the
 configuration properties when this instance has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#doStart-java.net.URL-">doStart(URL)</a></span> - Method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#doStop--">doStop()</a></span> - Method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">Maybe called by the application to cause the Sling Application to
 properly terminate by stopping the OSGi Framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doTrace-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">doTrace(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Handles the <em>TRACE</em> method by just returning the list of all
 header values in the response body.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#doubleToString-double-">doubleToString(double)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Produce a string from a double.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#doubleToString-double-">doubleToString(double)</a></span> - Static method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Produce a string from a double using <a href="org/apache/sling/commons/json/io/JSONRenderer.html#doubleToString-double-"><code>JSONRenderer.doubleToString(double)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#dropCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">dropCredentials(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">Drops any credential and authentication details from the request and asks
 the client to do the same.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#dump-java.io.PrintWriter-">dump(PrintWriter)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Dumps the process timer entries to the given writer, one entry per line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dump-javax.jcr.NodeIterator-java.io.Writer-">dump(NodeIterator, Writer)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Dump all Nodes of given NodeIterator in JSON</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dump-javax.jcr.Node-java.io.Writer-int-">dump(Node, Writer, int)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Dump given node in JSON, optionally recursing into its child nodes</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dump-javax.jcr.Node-java.io.Writer-int-boolean-">dump(Node, Writer, int, boolean)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Dump given node in JSON, optionally recursing into its child nodes</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dump-javax.jcr.Property-java.io.Writer-">dump(Property, Writer)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Dump given property in JSON</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dump-javax.jcr.Node-org.apache.sling.commons.json.io.JSONWriter-int-int-">dump(Node, JSONWriter, int, int)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Dump given node in JSON, optionally recursing into its child nodes</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dumpSingleNode-javax.jcr.Node-org.apache.sling.commons.json.io.JSONWriter-int-int-">dumpSingleNode(Node, JSONWriter, int, int)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Dump a single node</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#dumpValue-org.apache.sling.commons.json.io.JSONWriter-javax.jcr.Value-">dumpValue(JSONWriter, Value)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Writes the given value to the JSON writer.</div>
</dd>
<dt><a href="org/apache/sling/commons/classloader/DynamicClassLoader.html" title="interface in org.apache.sling.commons.classloader"><span class="typeNameLink">DynamicClassLoader</span></a> - Interface in <a href="org/apache/sling/commons/classloader/package-summary.html">org.apache.sling.commons.classloader</a></dt>
<dd>
<div class="block">A dynamic class loader is a class loader which might get
 invalid over time.</div>
</dd>
<dt><a href="org/apache/sling/commons/classloader/DynamicClassLoaderManager.html" title="interface in org.apache.sling.commons.classloader"><span class="typeNameLink">DynamicClassLoaderManager</span></a> - Interface in <a href="org/apache/sling/commons/classloader/package-summary.html">org.apache.sling.commons.classloader</a></dt>
<dd>
<div class="block">The dynamic class loader manager is a central
 service managing all dynamic class loaders.</div>
</dd>
<dt><a href="org/apache/sling/commons/classloader/DynamicClassLoaderProvider.html" title="interface in org.apache.sling.commons.classloader"><span class="typeNameLink">DynamicClassLoaderProvider</span></a> - Interface in <a href="org/apache/sling/commons/classloader/package-summary.html">org.apache.sling.commons.classloader</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">The dynamic class loader provider is not supported
             anymore and any service implementing this is not
             considered for dynamic class loading anymore!</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/api/resource/DynamicResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">DynamicResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">A dynamic resource provider is an extension of a resource provider which
 is only supported if the resource provider has been created through
 a <a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource"><code>ResourceProviderFactory</code></a>.</div>
</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#ECMA_DATE_FORMAT">ECMA_DATE_FORMAT</a></span> - Static variable in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Used to format date values</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#elements--">elements()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ValueMap.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource">ValueMap</a></dt>
<dd>
<div class="block">Empty immutable value map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#endArray--">endArray()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">End an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#endObject--">endObject()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">End an object.</div>
</dd>
<dt><a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine"><span class="typeNameLink">EngineConstants</span></a> - Class in <a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a></dt>
<dd>
<div class="block">The <code>CoreConstants</code> interface provides some symbolic constants for
 well known constant strings in Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#EngineConstants--">EngineConstants()</a></span> - Constructor for class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#entity">entity</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">The table of entity values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html#Entry-org.apache.sling.api.resource.Resource-org.apache.sling.commons.json.JSONObject-">Entry(Resource, JSONObject)</a></span> - Constructor for class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#entrySet--">entrySet()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#entrySet--">entrySet()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#entrySet--">entrySet()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#entrySet--">entrySet()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#entrySet--">entrySet()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#EQ">EQ</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '='.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#error-java.lang.String-java.lang.Throwable-">error(String, Throwable)</a></span> - Static method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ERROR_EXCEPTION">ERROR_EXCEPTION</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the exception thrown causing
 the error handler to be called (value is
 "javax.servlet.error.exception").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ERROR_EXCEPTION_TYPE">ERROR_EXCEPTION_TYPE</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the fully qualified class
 name of the exception thrown causing the error handler to be called
 (value is "javax.servlet.error.exception_type").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ERROR_MESSAGE">ERROR_MESSAGE</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the message of the error
 situation (value is "javax.servlet.error.message").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ERROR_REQUEST_URI">ERROR_REQUEST_URI</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the URL requested by the
 client during whose processing the error handling was caused (value is
 "javax.servlet.error.request_uri").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ERROR_SERVLET_NAME">ERROR_SERVLET_NAME</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the name of the servlet
 which caused the error handling (value is
 "javax.servlet.error.servlet_name").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#ERROR_STATUS">ERROR_STATUS</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute containing the status code sent to the
 client (value is "javax.servlet.error.status_code").</div>
</dd>
<dt><a href="org/apache/sling/engine/servlets/ErrorHandler.html" title="interface in org.apache.sling.engine.servlets"><span class="typeNameLink">ErrorHandler</span></a> - Interface in <a href="org/apache/sling/engine/servlets/package-summary.html">org.apache.sling.engine.servlets</a></dt>
<dd>
<div class="block">The <code>ErrorHandler</code> defines the interface of the service used by
 the Sling to handle calls to <code>HttpServletResponse.sendError</code> and
 to handle uncaught <code>Throwable</code>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/Cookie.html#escape-java.lang.String-">escape(String)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/Cookie.html" title="class in org.apache.sling.commons.json.http">Cookie</a></dt>
<dd>
<div class="block">Produce a copy of a string in which the characters '+', '%', '=', ';'
 and control characters are replaced with "%hh".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#escape-java.lang.String-">escape(String)</a></span> - Static method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">Replace special characters with XML escapes:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#escapeKeyName-java.lang.String-">escapeKeyName(String)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Handles key name escaping by taking into consideration if it contains a
 registered prefix</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/ResponseUtil.html#escapeXml-java.lang.String-">escapeXml(String)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/ResponseUtil.html" title="class in org.apache.sling.api.request">ResponseUtil</a></dt>
<dd>
<div class="block">Escape xml text</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/ResponseUtil.html#escapeXml-java.lang.String-">escapeXml(String)</a></span> - Static method in class org.apache.sling.engine.<a href="org/apache/sling/engine/ResponseUtil.html" title="class in org.apache.sling.engine">ResponseUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Escape xml text</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScript.html#eval-org.apache.sling.api.scripting.SlingBindings-">eval(SlingBindings)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScript.html" title="interface in org.apache.sling.api.scripting">SlingScript</a></dt>
<dd>
<div class="block">Evaluates this script using the bound variables as global variables to
 the script.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html#eval-java.lang.String-javax.script.ScriptContext-">eval(String, ScriptContext)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html" title="class in org.apache.sling.scripting.api">AbstractSlingScriptEngine</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event"><span class="typeNameLink">EventPropertiesMap</span></a> - Class in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">EventAdmin supports creating events with maps now as well.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#EventPropertiesMap-org.osgi.service.event.Event-">EventPropertiesMap(Event)</a></span> - Constructor for class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Construct a new map out of an event object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#EventPropertiesMap-java.util.Map-">EventPropertiesMap(Map&lt;String, Object&gt;)</a></span> - Constructor for class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Construct a new map out of another map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#EventPropertiesMap--">EventPropertiesMap()</a></span> - Constructor for class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Construct a new map.</div>
</dd>
<dt><a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event"><span class="typeNameLink">EventUtil</span></a> - Class in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#EventUtil--">EventUtil()</a></span> - Constructor for class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/event/EventUtil.JobPriority.html" title="enum in org.apache.sling.event"><span class="typeNameLink">EventUtil.JobPriority</span></a> - Enum in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <code>JobUtil.JobPriority</code></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Job.html#execute-org.apache.sling.commons.scheduler.JobContext-">execute(JobContext)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Job.html" title="interface in org.apache.sling.commons.scheduler">Job</a></dt>
<dd>
<div class="block">Execute this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPool.html#execute-java.lang.Runnable-">execute(Runnable)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPool.html" title="interface in org.apache.sling.commons.threads">ThreadPool</a></dt>
<dd>
<div class="block">Execute a runnable</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html#execute-org.apache.sling.installer.api.tasks.InstallationContext-">execute(InstallationContext)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html" title="class in org.apache.sling.installer.api.tasks">ChangeStateTask</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#execute-org.apache.sling.installer.api.tasks.InstallationContext-">execute(InstallationContext)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">This is the heart of the task - it performs the actual task.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#EXPR-java.lang.String-">EXPR(String)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Create a schedule options to schedule the job based on the expression</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#externalizePath-org.apache.sling.api.SlingHttpServletRequest-java.lang.String-">externalizePath(SlingHttpServletRequest, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>
<div class="block">Returns an external form of the given path prepending the context path
 and appending a display extension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#externalizePath-org.apache.sling.api.SlingHttpServletRequest-java.lang.String-">externalizePath(SlingHttpServletRequest, String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Returns an external form of the given path prepending the context path
 and appending a display extension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">extractCredentials(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">Extracts credential data from the request if at all contained.</div>
</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#FAIL_AUTH">FAIL_AUTH</a></span> - Static variable in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">A special instance of this class which may be returned from the
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method to inform the caller that credential extraction failed for some
 reason.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html#failed--">failed()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html" title="interface in org.apache.sling.event.jobs.consumer">JobConsumer.AsyncHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html#failed--">failed()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext.ResultBuilder</a></dt>
<dd>
<div class="block">The job processing failed and might be retried.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html#failed-long-">failed(long)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext.ResultBuilder</a></dt>
<dd>
<div class="block">The job processing failed and might be retried.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html#failed--">failed()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionResult</a></dt>
<dd>
<div class="block">If this returns true the job processing failed but might be
 retried..</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#FAILURE_REASON">FAILURE_REASON</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">Name of the request attribute which may be set by the
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.extractCredentials(HttpServletRequest, HttpServletResponse)</code></a>
 method if <a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#FAIL_AUTH"><code>AuthenticationInfo.FAIL_AUTH</code></a> is returned.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#FAILURE_REASON_CODE">FAILURE_REASON_CODE</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">Name of the request attribute which may be set by the
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#extractCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.extractCredentials(HttpServletRequest, HttpServletResponse)</code></a>
 method if <a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#FAIL_AUTH"><code>AuthenticationInfo.FAIL_AUTH</code></a> is returned.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion"><span class="typeNameLink">FileBundleVersionInfo</span></a> - Class in <a href="org/apache/sling/commons/osgi/bundleversion/package-summary.html">org.apache.sling.commons.osgi.bundleversion</a></dt>
<dd>
<div class="block">BundleVersionInfo based on a bundle jar file</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#FileBundleVersionInfo-java.io.File-">FileBundleVersionInfo(File)</a></span> - Constructor for class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/Filter.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Filter</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Provide a filter on an @Inject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_NAME">FILTER_NAME</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">The name of the service to be used for registering filters with the
 <a href="org/apache/sling/engine/SlingRequestProcessor.html" title="interface in org.apache.sling.engine"><code>SlingRequestProcessor</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_ORDER">FILTER_ORDER</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <code>"service.ranking"</code>
             (org.osgi.framework.Constants.SERVICE_RANKING) instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_SCOPE">FILTER_SCOPE</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/engine/EngineConstants.html#SLING_FILTER_SCOPE"><code>EngineConstants.SLING_FILTER_SCOPE</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_SCOPE_COMPONENT">FILTER_SCOPE_COMPONENT</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">Filter scope value identifying a component level filter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_SCOPE_ERROR">FILTER_SCOPE_ERROR</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">Filter scope value identifying an error level filter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_SCOPE_FORWARD">FILTER_SCOPE_FORWARD</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">Filter scope value identifying a forward level filter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_SCOPE_INCLUDE">FILTER_SCOPE_INCLUDE</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">Filter scope value identifying an include level filter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#FILTER_SCOPE_REQUEST">FILTER_SCOPE_REQUEST</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">Filter scope value identifying a request level filter.</div>
</dd>
<dt><a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html" title="interface in org.apache.sling.engine.jmx"><span class="typeNameLink">FilterProcessorMBean</span></a> - Interface in <a href="org/apache/sling/engine/jmx/package-summary.html">org.apache.sling.engine.jmx</a></dt>
<dd>
<div class="block">This is the management interface for the Filter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyView.html#findInstances-org.apache.sling.discovery.InstanceFilter-">findInstances(InstanceFilter)</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyView.html" title="interface in org.apache.sling.discovery">TopologyView</a></dt>
<dd>
<div class="block">Searches through this topology and picks those accepted by the provided
 <code>InstanceFilter</code> - and returns them without any particular order</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#findJob-java.lang.String-java.util.Map-">findJob(String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobManager.html#getJob-java.lang.String-java.util.Map-"><code>JobManager.getJob(String, Map)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#findJobs-org.apache.sling.event.jobs.JobManager.QueryType-java.lang.String-long-java.util.Map...-">findJobs(JobManager.QueryType, String, long, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return all jobs of a given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QueriableResourceProvider.html#findResources-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.lang.String-">findResources(ResourceResolver, String, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QueriableResourceProvider.html" title="interface in org.apache.sling.api.resource">QueriableResourceProvider</a></dt>
<dd>
<div class="block">Searches for resources using the given query formulated in the given
 language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#findResources-java.lang.String-java.lang.String-">findResources(String, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Searches for resources using the given query formulated in the given
 language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#findResourceSuperType-org.apache.sling.api.resource.Resource-">findResourceSuperType(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/resource/ResourceResolver.html#getParentResourceType-org.apache.sling.api.resource.Resource-"><code>ResourceResolver.getParentResourceType(Resource)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptResolver.html#findScript-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">findScript(ResourceResolver, String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptResolver.html" title="interface in org.apache.sling.api.scripting">SlingScriptResolver</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Finds the <a href="org/apache/sling/api/scripting/SlingScript.html" title="interface in org.apache.sling.api.scripting"><code>SlingScript</code></a> for the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#findVersionableAncestor-javax.jcr.Node-">findVersionableAncestor(Node)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#finishedJob-org.osgi.service.event.Event-">finishedJob(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use {link <a href="org/apache/sling/event/jobs/JobUtil.html#finishedJob-org.osgi.service.event.Event-"><code>JobUtil.finishedJob(Event)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#finishedJob-org.osgi.service.event.Event-">finishedJob(Event)</a></span> - Static method in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer"><code>JobConsumer</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#fireJob-java.lang.Object-java.util.Map-">fireJob(Object, Map&lt;String, Serializable&gt;)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#fireJob-java.lang.Object-java.util.Map-int-long-">fireJob(Object, Map&lt;String, Serializable&gt;, int, long)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#fireJobAt-java.lang.String-java.lang.Object-java.util.Map-java.util.Date-">fireJobAt(String, Object, Map&lt;String, Serializable&gt;, Date)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#fireJobAt-java.lang.String-java.lang.Object-java.util.Map-java.util.Date-int-long-">fireJobAt(String, Object, Map&lt;String, Serializable&gt;, Date, int, long)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-"><code>Scheduler.schedule(Object, ScheduleOptions)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#FLUSH">FLUSH</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable indicating whether the output
 used by the script should be flushed after the script evaluation ended
 normally (value is "flush").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html#flushBuffer--">flushBuffer()</a></span> - Method in class org.apache.sling.scripting.core.servlet.<a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet">CaptureResponseWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html#flushCache--">flushCache()</a></span> - Method in interface org.apache.sling.servlets.resolver.jmx.<a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html" title="interface in org.apache.sling.servlets.resolver.jmx">SlingServletResolverCacheMBean</a></dt>
<dd>
<div class="block">Flush the servlet resolver cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#FORCE_PACKAGE_BUNDLE_LOADING">FORCE_PACKAGE_BUNDLE_LOADING</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">True or false value which controls whether sling will load bundles which
 are contained in the resources/# path locations in the sling jar or war <br/>
 regardless of the modification time of the Launchpad JAR.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#forceRemoveJob-java.lang.String-">forceRemoveJob(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobManager.html#removeJobById-java.lang.String-"><code>JobManager.removeJobById(String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#forceRemoveJob-java.lang.String-">forceRemoveJob(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Cancel this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#forceRemoveJob-java.lang.String-java.lang.String-">forceRemoveJob(String, String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Cancel this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#format-java.util.Calendar-">format(Calendar)</a></span> - Static method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-java.lang.String-">forward(String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-"><code>SlingScriptHelper.forward(String,RequestDispatcherOptions)</code></a>, but using
 empty options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-java.lang.String-java.lang.String-">forward(String, String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to forward the request to a Servlet or script for the given
 <code>path</code> and <code>requestDispatcherOptions</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-">forward(String, RequestDispatcherOptions)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to forward the request to a Servlet or script for the given
 <code>path</code> and <code>options</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-org.apache.sling.api.resource.Resource-">forward(Resource)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-"><code>SlingScriptHelper.forward(Resource,RequestDispatcherOptions)</code></a>, but using
 empty options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-org.apache.sling.api.resource.Resource-java.lang.String-">forward(Resource, String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to forward the request to a Servlet or script for the given
 <code>resource</code> and <code>requestDispatcherOptions</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#forward-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-">forward(Resource, RequestDispatcherOptions)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to forward the request to a Servlet or script for the given
 <code>resource</code> and <code>options</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#forward-java.lang.String-">forward(String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#forward-java.lang.String-java.lang.String-">forward(String, String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#forward-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-">forward(String, RequestDispatcherOptions)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#forward-org.apache.sling.api.resource.Resource-">forward(Resource)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#forward-org.apache.sling.api.resource.Resource-java.lang.String-">forward(Resource, String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#forward-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-">forward(Resource, RequestDispatcherOptions)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</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/api/request/RequestParameter.html#get--">get()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns the contents of the parameter as an array of bytes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ValueMap.html#get-java.lang.String-java.lang.Class-">get(String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource">ValueMap</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ValueMap.html#get-java.lang.String-T-">get(String, T)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource">ValueMap</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#get-java.lang.String-java.lang.Class-">get(String, Class&lt;ObjectType&gt;)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Helper method to get an object with a given type from this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#get-java.lang.String-java.lang.Class-">get(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#get-java.lang.String-T-">get(String, T)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#get-java.lang.Object-">get(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html#get-java.lang.String-java.lang.Class-">get(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">DeepReadValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html#get-java.lang.String-T-">get(String, T)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">DeepReadValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html#get-java.lang.Object-">get(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/DeepReadValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">DeepReadValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#get-java.lang.String-java.lang.Class-">get(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#get-java.lang.String-T-">get(String, T)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#get-java.lang.Object-">get(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#get-int-">get(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the object value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the value object associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.html#get--">get()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi">RankedServices</a></dt>
<dd>
<div class="block">Lists all services registered in OSGi, sorted by service ranking.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolManager.html#get-java.lang.String-">get(String)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolManager.html" title="interface in org.apache.sling.commons.threads">ThreadPoolManager</a></dt>
<dd>
<div class="block">Get a thread pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#get-java.lang.Object-">get(Object)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#get-java.lang.String-java.lang.Class-">get(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#get-java.lang.String-T-">get(String, T)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#get-java.lang.Object-">get(Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getAbsolutePathWithinSlingHome-java.lang.String-">getAbsolutePathWithinSlingHome(String)</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">Utility method to generate an absolute path
 within Sling Home.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html#getAccessControlEntries-javax.jcr.Session-java.lang.String-">getAccessControlEntries(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractGetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html#getAccessControlEntries-javax.jcr.Session-java.lang.String-">getAccessControlEntries(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">GetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html#getAccessControlEntries-javax.jcr.Session-java.lang.String-">getAccessControlEntries(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">GetEffectiveAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#getAccessControlList-javax.jcr.security.AccessControlManager-java.lang.String-boolean-">getAccessControlList(AccessControlManager, String, boolean)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>
<div class="block">Returns an <code>AccessControlList</code> to edit for the node at the
 given <code>resourcePath</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#getAccessControlManager-javax.jcr.Session-">getAccessControlManager(Session)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns the <code>AccessControlManager</code> for the given
 <code>session</code>.</div>
</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/GetAcl.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager"><span class="typeNameLink">GetAcl</span></a> - Interface in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a></dt>
<dd>
<div class="block">The <code>GetAcl</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/GetAcl.html#getAcl-javax.jcr.Session-java.lang.String-">getAcl(Session, String)</a></span> - Method in interface org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/GetAcl.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager">GetAcl</a></dt>
<dd>
<div class="block">Gets the access control list for a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html#getAcl-javax.jcr.Session-java.lang.String-">getAcl(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">GetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post"><span class="typeNameLink">GetAclServlet</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a></dt>
<dd>
<div class="block">
 Sling GET servlet implementation for dumping the declared ACL of a resource to JSON.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html#GetAclServlet--">GetAclServlet()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">GetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html#getActiveResource--">getActiveResource()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html" title="interface in org.apache.sling.installer.api.tasks">TaskResourceGroup</a></dt>
<dd>
<div class="block">Return the first resource if it either needs to be installed or uninstalled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/jmx/InstallerMBean.html#getActiveResourceCount--">getActiveResourceCount()</a></span> - Method in interface org.apache.sling.installer.api.jmx.<a href="org/apache/sling/installer/api/jmx/InstallerMBean.html" title="interface in org.apache.sling.installer.api.jmx">InstallerMBean</a></dt>
<dd>
<div class="block">Count of Active resource groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/InstallationState.html#getActiveResources--">getActiveResources()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/InstallationState.html" title="interface in org.apache.sling.installer.api.info">InstallationState</a></dt>
<dd>
<div class="block">Active resource groups
 These resource groups are currently in processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/AdapterFactory.html#getAdapter-java.lang.Object-java.lang.Class-">getAdapter(Object, Class&lt;AdapterType&gt;)</a></span> - Method in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/AdapterFactory.html" title="interface in org.apache.sling.api.adapter">AdapterFactory</a></dt>
<dd>
<div class="block">Adapt the given object to the adaptable type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/AdapterManager.html#getAdapter-java.lang.Object-java.lang.Class-">getAdapter(Object, Class&lt;AdapterType&gt;)</a></span> - Method in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/AdapterManager.html" title="interface in org.apache.sling.api.adapter">AdapterManager</a></dt>
<dd>
<div class="block">Returns an adapter object of the requested <code>AdapterType</code> for
 the given <code>adaptable</code> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#getAddSelectors--">getAddSelectors()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_ADD_SELECTORS"><code>RequestDispatcherOptions.OPT_ADD_SELECTORS</code></a> option or <code>null</code> if
 not set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getAdministrativeCredentials-java.lang.String-">getAdministrativeCredentials(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProviderFactory.html#getAdministrativeResourceProvider-java.util.Map-">getAdministrativeResourceProvider(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource">ResourceProviderFactory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of 2.4 (bundle version 2.5.0) because of inherent security
             issues. Implementations may implement this method at their
             discretion but must support the new service based resource
             provider generation in the <a href="org/apache/sling/api/resource/ResourceProviderFactory.html#getResourceProvider-java.util.Map-"><code>ResourceProviderFactory.getResourceProvider(Map)</code></a>
             method honoring the <a href="org/apache/sling/api/resource/ResourceProviderFactory.html#SERVICE_BUNDLE"><code>ResourceProviderFactory.SERVICE_BUNDLE</code></a> and
             <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#SUBSERVICE"><code>ResourceResolverFactory.SUBSERVICE</code></a> properties.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getAdministrativeResourceResolver-java.util.Map-">getAdministrativeResourceResolver(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of 2.4 (bundle version 2.5.0) because of inherent security
             issues. Services requiring specific permissions should use
             the <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getServiceResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getServiceResourceResolver(Map)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/ResourceGroup.html#getAlias--">getAlias()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/ResourceGroup.html" title="interface in org.apache.sling.installer.api.info">ResourceGroup</a></dt>
<dd>
<div class="block">Get the current alias for this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html#getAlias--">getAlias()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html" title="interface in org.apache.sling.installer.api.tasks">TaskResourceGroup</a></dt>
<dd>
<div class="block">Get the current alias for this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#getAllJobs-java.lang.String-java.util.Map...-">getAllJobs(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#queryAllJobs-java.lang.String-java.util.Map...-"><code>JobStatusProvider.queryAllJobs(String, Map...)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#getAllowedRequestMethods-java.util.Map-">getAllowedRequestMethods(Map&lt;String, Method&gt;)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>
<div class="block">Helper method called by
 <a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doOptions-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingSafeMethodsServlet.doOptions(SlingHttpServletRequest, SlingHttpServletResponse)</code></a> to calculate
 the value of the <em>Allow</em> header sent as the response to the HTTP
 <em>OPTIONS</em> request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#getAllowedRequestMethods-java.util.Map-">getAllowedRequestMethods(Map&lt;String, Method&gt;)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Helper method called by
 <a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#doOptions-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingSafeMethodsServlet.doOptions(SlingHttpServletRequest, SlingHttpServletResponse)</code></a> to calculate
 the value of the <em>Allow</em> header sent as the response to the HTTP
 <em>OPTIONS</em> request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getAnonCredentials-java.lang.String-">getAnonCredentials(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#getApplicationId-org.osgi.service.event.Event-">getApplicationId(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getApplicationIds--">getApplicationIds()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This information is not used anymore</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#getApplyToResources-org.apache.sling.api.SlingHttpServletRequest-">getApplyToResources(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Returns an iterator on <code>Resource</code> instances addressed in the
 <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_APPLY_TO"><code>SlingPostConstants.RP_APPLY_TO</code></a> request parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getAt--">getAt()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">Return the scheduled execution date for a schedule of type date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AttributableResourceProvider.html#getAttribute-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">getAttribute(ResourceResolver, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AttributableResourceProvider.html" title="interface in org.apache.sling.api.resource">AttributableResourceProvider</a></dt>
<dd>
<div class="block">Returns the value of the given resource provider attribute or <code>null</code>
 if the attribute is not set or not visible (as e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getAttribute-java.lang.String-">getAttribute(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns the value of the given resource resolver attribute or
 <code>null</code> if the attribute is not set (or not visible as is the
 case of the <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#PASSWORD"><code>ResourceResolverFactory.PASSWORD</code></a> or other security
 sensitive attributes).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/Resource.html#getAttribute-java.lang.String-">getAttribute(String)</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/Resource.html" title="interface in org.apache.sling.installer.api.info">Resource</a></dt>
<dd>
<div class="block">Get the value of an attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#getAttribute-java.lang.String-">getAttribute(String)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Get the value of an attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AttributableResourceProvider.html#getAttributeNames-org.apache.sling.api.resource.ResourceResolver-">getAttributeNames(ResourceResolver)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AttributableResourceProvider.html" title="interface in org.apache.sling.api.resource">AttributableResourceProvider</a></dt>
<dd>
<div class="block">Returns a collection of attribute names whose value can be retrieved
 calling the <a href="org/apache/sling/api/resource/AttributableResourceProvider.html#getAttribute-org.apache.sling.api.resource.ResourceResolver-java.lang.String-"><code>AttributableResourceProvider.getAttribute(ResourceResolver, String)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getAttributeNames--">getAttributeNames()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns an iterator of attribute names whose value can be retrieved
 calling the <a href="org/apache/sling/api/resource/ResourceResolver.html#getAttribute-java.lang.String-"><code>ResourceResolver.getAttribute(String)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#getAttributeOrParameter-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.String-">getAttributeOrParameter(HttpServletRequest, String, String)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Returns the value of the named request attribute or parameter as a string
 as follows:
 
 If there is a request attribute of that name, which is a non-empty
 string, it is returned.If there is a non-empty request parameter of
 that name, this parameter is returned.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#getAttributeOrParameter-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.String-">getAttributeOrParameter(HttpServletRequest, String, String)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#getAttributeOrParameter-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.String-"><code>AuthUtil.getAttributeOrParameter(HttpServletRequest, String, String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html#getAttributes--">getAttributes()</a></span> - Method in interface org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html" title="interface in org.apache.sling.commons.osgi">ManifestHeader.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Attributes include the bundle symbolic name, bundle version, etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html#getAttributeValue-java.lang.String-">getAttributeValue(String)</a></span> - Method in interface org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html" title="interface in org.apache.sling.commons.osgi">ManifestHeader.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#getAttributeValue-java.lang.String-">getAttributeValue(String)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#getAuthType--">getAuthType()</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the authentication type stored as the <a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#AUTH_TYPE"><code>AuthenticationInfo.AUTH_TYPE</code></a> property
 in this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationInfo.html#getAuthType--">getAuthType()</a></span> - Method in class org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth">AuthenticationInfo</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns type of authentication provisioning.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getAverageProcessingTime--">getAverageProcessingTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">The average processing time of a job - this only counts finished jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getAverageProcessingTime--">getAverageProcessingTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">The average processing time of a job - this only counts finished jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getAverageWaitingTime--">getAverageWaitingTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">The average waiting time of a job in the queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getAverageWaitingTime--">getAverageWaitingTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">The average waiting time of a job in the queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getBatchResourceRemover-int-">getBatchResourceRemover(int)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Create a batch resource remover.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/BindingsValuesProvidersByContext.html#getBindingsValuesProviders-javax.script.ScriptEngineFactory-java.lang.String-">getBindingsValuesProviders(ScriptEngineFactory, String)</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/BindingsValuesProvidersByContext.html" title="interface in org.apache.sling.scripting.api">BindingsValuesProvidersByContext</a></dt>
<dd>
<div class="block">Retrieve the current <a href="org/apache/sling/scripting/api/BindingsValuesProvider.html" title="interface in org.apache.sling.scripting.api"><code>BindingsValuesProvider</code></a> for
  the supplied ScriptEngineFactory and context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getBlockPolicy--">getBlockPolicy()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the block policy of the thread pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getBlockPolicy--">getBlockPolicy()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getBlockPolicy--">getBlockPolicy()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the block policy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getBoolean-int-">getBoolean(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the boolean value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getBoolean-java.lang.String-">getBoolean(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the boolean value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#getBundleLastModified--">getBundleLastModified()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#getBundleLastModified--">getBundleLastModified()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>
<div class="block">Return the bundle last modification time, based on the BND_LAST_MODIFIED 
  manifest header, if available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#getBundleLastModified--">getBundleLastModified()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#getBundleSymbolicName--">getBundleSymbolicName()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#getBundleSymbolicName--">getBundleSymbolicName()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#getBundleSymbolicName--">getBundleSymbolicName()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html#getCacheSize--">getCacheSize()</a></span> - Method in interface org.apache.sling.servlets.resolver.jmx.<a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html" title="interface in org.apache.sling.servlets.resolver.jmx">SlingServletResolverCacheMBean</a></dt>
<dd>
<div class="block">Get the current size of the servlet resolver cache</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html#getCapturedCharacterResponse--">getCapturedCharacterResponse()</a></span> - Method in class org.apache.sling.scripting.core.servlet.<a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet">CaptureResponseWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getCharacterEncoding--">getCharacterEncoding()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CHARACTER_ENCODING"><code>ResourceMetadata.CHARACTER_ENCODING</code></a> property if not <code>null</code>
 and a <code>String</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#getChild-java.lang.String-">getChild(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">Returns the indicated child of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getChild-java.lang.String-">getChild(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the child at the given relative path of this resource or
 <code>null</code> if no such child exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getChild-java.lang.String-">getChild(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getChild</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#getChildren--">getChildren()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getChildren--">getChildren()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns an iterable of the direct children of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getChildren-org.apache.sling.api.resource.Resource-">getChildren(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns an <code>Iterable</code> of <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> objects loaded from
 the children of the given <code>Resource</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getChildren--">getChildren()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html#getClassLoader--">getClassLoader()</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader">ClassLoaderWriter</a></dt>
<dd>
<div class="block">Get a dynamic class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/DynamicClassLoaderProvider.html#getClassLoader-java.lang.ClassLoader-">getClassLoader(ClassLoader)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/DynamicClassLoaderProvider.html" title="interface in org.apache.sling.commons.classloader">DynamicClassLoaderProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return the class loader used for dynamic class loading.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#getClientRepositoryFactory--">getClientRepositoryFactory()</a></span> - Method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">Returns the <code>ClientRepositoryFactory</code> to access the remote
 JCR repository over RMI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#getClusterView--">getClusterView()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Returns the ClusterView of which this instance is part of.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyView.html#getClusterViews--">getClusterViews()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyView.html" title="interface in org.apache.sling.discovery">TopologyView</a></dt>
<dd>
<div class="block">Provides the collection of ClusterViews.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilerMessage.html#getColumn--">getColumn()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilerMessage.html" title="class in org.apache.sling.commons.compiler">CompilerMessage</a></dt>
<dd>
<div class="block">Return the column number of the program text originating this message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#getComparableForServiceRanking-java.util.Map-">getComparableForServiceRanking(Map&lt;String, Object&gt;)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Create a comparable object out of the service properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ServiceUtil.html#getComparableForServiceRanking-java.util.Map-">getComparableForServiceRanking(Map&lt;String, Object&gt;)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ServiceUtil.html" title="class in org.apache.sling.commons.osgi">ServiceUtil</a></dt>
<dd>
<div class="block">Create a comparable object out of the service properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/CachedScript.html#getCompiledScript--">getCompiledScript()</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/CachedScript.html" title="interface in org.apache.sling.scripting.api">CachedScript</a></dt>
<dd>
<div class="block">Returns the compiled script which can be used for further executions / evaluations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getComponentContext--">getComponentContext()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#getComponentContext--">getComponentContext()</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Returns the OSGi <code>ComponentContext</code> of this component.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/log/logback/ConfigProvider.html#getConfigSource--">getConfigSource()</a></span> - Method in interface org.apache.sling.commons.log.logback.<a href="org/apache/sling/commons/log/logback/ConfigProvider.html" title="interface in org.apache.sling.commons.log.logback">ConfigProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/JobContext.html#getConfiguration--">getConfiguration()</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/JobContext.html" title="interface in org.apache.sling.commons.scheduler">JobContext</a></dt>
<dd>
<div class="block">Get the configuration provided when the job was scheduled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPool.html#getConfiguration--">getConfiguration()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPool.html" title="interface in org.apache.sling.commons.threads">ThreadPool</a></dt>
<dd>
<div class="block">The thread pool configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#getConfiguration--">getConfiguration()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Get the corresponding configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getContentLength--">getContentLength()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CONTENT_LENGTH"><code>ResourceMetadata.CONTENT_LENGTH</code></a> property if not <code>null</code>
 and a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getContentType--">getContentType()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns the content type passed by the browser or <code>null</code> if
 not defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getContentType--">getContentType()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CONTENT_TYPE"><code>ResourceMetadata.CONTENT_TYPE</code></a> property if not <code>null</code> and
 a <code>String</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#getContextPath-javax.servlet.http.HttpServletRequest-">getContextPath(HttpServletRequest)</a></span> - Static method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Return the context path for r, using the appropriate request attribute if
 the request is an included one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#getContextPath-javax.servlet.http.HttpServletRequest-">getContextPath(HttpServletRequest)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Returns the context path for the authentication form request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getCookie-java.lang.String-">getCookie(String)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the named cookie from the HTTP request or <code>null</code> if
 no such cookie exists in the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getCookie-java.lang.String-">getCookie(String)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.html#getCount--">getCount()</a></span> - Method in class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getCreated--">getCreated()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains a calendar object
 specifying the date and time when this job has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getCreatedInstance--">getCreatedInstance()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains the Sling instance ID
 of the instance where this job has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getCreationTime--">getCreationTime()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CREATION_TIME"><code>ResourceMetadata.CREATION_TIME</code></a> property if not <code>null</code>
 and a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationInfo.html#getCredentials--">getCredentials()</a></span> - Method in class org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth">AuthenticationInfo</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the credentials extracted from the client request to use for
 authentication.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#getCurrentJobs-java.lang.String-">getCurrentJobs(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#queryCurrentJobs-java.lang.String-java.util.Map...-"><code>JobStatusProvider.queryCurrentJobs(String, Map...)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#getCurrentJobs-java.lang.String-java.util.Map...-">getCurrentJobs(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#queryCurrentJobs-java.lang.String-java.util.Map...-"><code>JobStatusProvider.queryCurrentJobs(String, Map...)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#getCustomFormPath--">getCustomFormPath()</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Returns the path to the custom login form to load through the class
 loader of this instance using <code>Class.getResourceAsStream</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getDayOfMonth--">getDayOfMonth()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">If the job is scheduled monthly, returns the day of the month</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getDayOfWeek--">getDayOfWeek()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">If the job is scheduled weekly, returns the day of the week</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getDeclaredAccessRights-javax.jcr.Node-">getDeclaredAccessRights(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the mapping of declared access rights that have been set for the resource at
 the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getDeclaredAccessRights-javax.jcr.Session-java.lang.String-">getDeclaredAccessRights(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the mapping of declared access rights that have been set for the resource at
 the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getDeclaredAccessRightsForPrincipal-javax.jcr.Node-java.lang.String-">getDeclaredAccessRightsForPrincipal(Node, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the declared access rights for the specified Node for the given
 principalId.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getDeclaredAccessRightsForPrincipal-javax.jcr.Session-java.lang.String-java.lang.String-">getDeclaredAccessRightsForPrincipal(Session, String, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the declared access rights for the resource at the specified path for the given
 principalId.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html#getDefault--">getDefault()</a></span> - Method in class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html#getDefault--">getDefault()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Tries to get the default value from the annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html#getDefault--">getDefault()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor2</a></dt>
<dd>
<div class="block">Tries to get the default value from the annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#getDefaultFormPath--">getDefaultFormPath()</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Returns the path to the default login form to load through the class
 loader of this instance using <code>Class.getResourceAsStream</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/ResourceBundleProvider.html#getDefaultLocale--">getDefaultLocale()</a></span> - Method in interface org.apache.sling.i18n.<a href="org/apache/sling/i18n/ResourceBundleProvider.html" title="interface in org.apache.sling.i18n">ResourceBundleProvider</a></dt>
<dd>
<div class="block">Returns the default <code>Locale</code> assumed by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/SlingRepository.html#getDefaultWorkspace--">getDefaultWorkspace()</a></span> - Method in interface org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/SlingRepository.html" title="interface in org.apache.sling.jcr.api">SlingRepository</a></dt>
<dd>
<div class="block">Returns the default workspace to use on login.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getDefaultWorkspace--">getDefaultWorkspace()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the default workspace, which may be <code>null</code> meaning
 to use the repository provided default workspace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getDefaultWorkspace--">getDefaultWorkspace()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Returns the default workspace to login to if any of the <code>login</code> and
 <code>createSession</code> methods is called without an explicit workspace
 name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getDefaultWorkspace--">getDefaultWorkspace()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Returns the default workspace, which may be <code>null</code> meaning to
 use the repository provided default workspace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html#getDenied--">getDenied()</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo.AccessRights</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getDescriptor-java.lang.String-">getDescriptor(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getDescriptor-java.lang.String-">getDescriptor(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getDescriptorKeys--">getDescriptorKeys()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getDescriptorKeys--">getDescriptorKeys()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getDescriptorValue-java.lang.String-">getDescriptorValue(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getDescriptorValue-java.lang.String-">getDescriptorValue(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getDescriptorValues-java.lang.String-">getDescriptorValues(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getDescriptorValues-java.lang.String-">getDescriptorValues(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#getDestination--">getDestination()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#getDictionary--">getDictionary()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Return this resource's dictionary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getDictionary--">getDictionary()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return this resource's dictionary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#getDigest--">getDigest()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Return this resource's digest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getDigest--">getDigest()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return this resource's digest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#getDigest--">getDigest()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Return this resource's digest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html#getDirectives--">getDirectives()</a></span> - Method in interface org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html" title="interface in org.apache.sling.commons.osgi">ManifestHeader.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#getDirectives--">getDirectives()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html#getDirectiveValue-java.lang.String-">getDirectiveValue(String)</a></span> - Method in interface org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html" title="interface in org.apache.sling.commons.osgi">ManifestHeader.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#getDirectiveValue-java.lang.String-">getDirectiveValue(String)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getDouble-int-">getDouble(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the double value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getDouble-java.lang.String-">getDouble(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the double value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/DynamicClassLoaderManager.html#getDynamicClassLoader--">getDynamicClassLoader()</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/DynamicClassLoaderManager.html" title="interface in org.apache.sling.commons.classloader">DynamicClassLoaderManager</a></dt>
<dd>
<div class="block">The dynamic class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getEffectiveAccessRights-javax.jcr.Node-">getEffectiveAccessRights(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the mapping of effective access rights that have been set for the resource at
 the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getEffectiveAccessRights-javax.jcr.Session-java.lang.String-">getEffectiveAccessRights(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the mapping of effective access rights that have been set for the resource at
 the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getEffectiveAccessRightsForPrincipal-javax.jcr.Node-java.lang.String-">getEffectiveAccessRightsForPrincipal(Node, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the effective access rights for the specified Node for the given
 principalId.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getEffectiveAccessRightsForPrincipal-javax.jcr.Session-java.lang.String-java.lang.String-">getEffectiveAccessRightsForPrincipal(Session, String, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the effective access rights for the resource at the specified path for the given
 principalId.</div>
</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/GetEffectiveAcl.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager"><span class="typeNameLink">GetEffectiveAcl</span></a> - Interface in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a></dt>
<dd>
<div class="block">The <code>GetAcl</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/GetEffectiveAcl.html#getEffectiveAcl-javax.jcr.Session-java.lang.String-">getEffectiveAcl(Session, String)</a></span> - Method in interface org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/GetEffectiveAcl.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager">GetEffectiveAcl</a></dt>
<dd>
<div class="block">Gets the effective access control list for a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html#getEffectiveAcl-javax.jcr.Session-java.lang.String-">getEffectiveAcl(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">GetEffectiveAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post"><span class="typeNameLink">GetEffectiveAclServlet</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a></dt>
<dd>
<div class="block">
 Sling GET servlet implementation for dumping the declared ACL of a resource to JSON.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html#GetEffectiveAclServlet--">GetEffectiveAclServlet()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">GetEffectiveAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementException.html#getElement--">getElement()</a></span> - Method in exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementException.html" title="class in org.apache.sling.models.factory">MissingElementException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getEngineName--">getEngineName()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getEngineVersion--">getEngineVersion()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getEntityId--">getEntityId()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return the identifier of the OSGi "entity" that this resource
 represents, for example "bundle:SID" where SID is the bundle's
 symbolic ID, or "config:PID" where PID is config's PID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.html#getEntries--">getEntries()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.html" title="class in org.apache.sling.commons.osgi">ManifestHeader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getError--">getError()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns any recorded error or <code>null</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getError--">getError()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns any recorded error or <code>null</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#getError--">getError()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getError--">getError()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns any recorded error or <code>null</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationResult.html#getErrors--">getErrors()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationResult.html" title="interface in org.apache.sling.commons.compiler">CompilationResult</a></dt>
<dd>
<div class="block">Return a list of error messages that occured during
 compilation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorActiveCount--">getExecutorActiveCount()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the active count from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorCompletedTaskCount--">getExecutorCompletedTaskCount()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the completed task count from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorCorePoolSize--">getExecutorCorePoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the core pool size from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorLargestPoolSize--">getExecutorLargestPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the largest pool size from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorMaximumPoolSize--">getExecutorMaximumPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the maximum pool size from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorPoolSize--">getExecutorPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the pool size from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getExecutorTaskCount--">getExecutorTaskCount()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Retrieve the task count from the pool's Executor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getExpression--">getExpression()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">If the schedule is a cron expression, return the expression.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestPathInfo.html#getExtension--">getExtension()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request">RequestPathInfo</a></dt>
<dd>
<div class="block">Returns the extension from the URL or <code>null</code> if the request
 URL does not contain an extension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/mime/MimeTypeProvider.html#getExtension-java.lang.String-">getExtension(String)</a></span> - Method in interface org.apache.sling.commons.mime.<a href="org/apache/sling/commons/mime/MimeTypeProvider.html" title="interface in org.apache.sling.commons.mime">MimeTypeProvider</a></dt>
<dd>
<div class="block">Returns the primary name extension to which the given
 <code>mimeType</code> maps.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/mime/MimeTypeService.html#getExtension-java.lang.String-">getExtension(String)</a></span> - Method in interface org.apache.sling.commons.mime.<a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime">MimeTypeService</a></dt>
<dd>
<div class="block">Returns the primary name extension to which the given
 <code>mimeType</code> maps.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getExtensions--">getExtensions()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getFactory--">getFactory()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getFactory--">getFactory()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the thread pool factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html#getFactory--">getFactory()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractSlingScriptEngine.html" title="class in org.apache.sling.scripting.api">AbstractSlingScriptEngine</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilerMessage.html#getFile--">getFile()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilerMessage.html" title="class in org.apache.sling.commons.compiler">CompilerMessage</a></dt>
<dd>
<div class="block">Return the filename associated with this compiler message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getFileName--">getFileName()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns the original filename in the client's filesystem, as provided by
 the browser (or other client software).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationUnitWithSource.html#getFileName--">getFileName()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationUnitWithSource.html" title="interface in org.apache.sling.commons.compiler">CompilationUnitWithSource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html#getFilter--">getFilter()</a></span> - Method in exception org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html" title="class in org.apache.sling.api.scripting">InvalidServiceFilterSyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getFinishedDate--">getFinishedDate()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">If the job is cancelled or succeeded, this method will return the finish date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getFinishedProgressStep--">getFinishedProgressStep()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">If the job is in processing, return the optional information
 about the finished steps.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getFlush--">getFlush()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#FLUSH"><code>SlingBindings.FLUSH</code></a> property if not <code>null</code> and a
 <code>boolean</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#getForceResourceType--">getForceResourceType()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_FORCE_RESOURCE_TYPE"><code>RequestDispatcherOptions.OPT_FORCE_RESOURCE_TYPE</code></a> option or <code>null</code>
 if not set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#getForm-javax.servlet.http.HttpServletRequest-">getForm(HttpServletRequest)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Returns the form to be sent back to the client for login providing an
 optional informational message and the optional target to redirect to
 after successfully logging in.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html#getGranted--">getGranted()</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo.AccessRights</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getHourOfDay--">getHourOfDay()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">Return the hour of the day for daily and weekly scheduled jobs</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/ClusterView.html#getId--">getId()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/ClusterView.html" title="interface in org.apache.sling.discovery">ClusterView</a></dt>
<dd>
<div class="block">Returns a stable id of the cluster represented by this
 cluster view.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getId--">getId()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">Unique job ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#getId--">getId()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Return this data's id.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#getId--">getId()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Get the new unique id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html#getInitParameter-java.lang.String-">getInitParameter(String)</a></span> - Method in class org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets">AbstractServiceReferenceConfig</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html#getInitParameterNames--">getInitParameterNames()</a></span> - Method in class org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets">AbstractServiceReferenceConfig</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor2.html#getInjectionStrategy--">getInjectionStrategy()</a></span> - Method in class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor2.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html#getInjectionStrategy--">getInjectionStrategy()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor2</a></dt>
<dd>
<div class="block">Tries to get the information whether the injection is optional.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getInputStream--">getInputStream()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns an InputStream that can be used to retrieve the contents of the
 file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html#getInputStream-java.lang.String-">getInputStream(String)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader">ClassLoaderWriter</a></dt>
<dd>
<div class="block">Get the input stream for a class or resource handled
 by the underlying class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#getInputStream--">getInputStream()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Return an input stream with the data of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getInputStream--">getInputStream()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return an input stream with the data of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#getInputStream--">getInputStream()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Get the new input stream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/InfoProvider.html#getInstallationState--">getInstallationState()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/InfoProvider.html" title="interface in org.apache.sling.installer.api.info">InfoProvider</a></dt>
<dd>
<div class="block">Return the current installation state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/jmx/InstallerMBean.html#getInstalledResourceCount--">getInstalledResourceCount()</a></span> - Method in interface org.apache.sling.installer.api.jmx.<a href="org/apache/sling/installer/api/jmx/InstallerMBean.html" title="interface in org.apache.sling.installer.api.jmx">InstallerMBean</a></dt>
<dd>
<div class="block">Count of Installed resource groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/InstallationState.html#getInstalledResources--">getInstalledResources()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/InstallationState.html" title="interface in org.apache.sling.installer.api.info">InstallationState</a></dt>
<dd>
<div class="block">Installed resource groups
 These resources groups are processed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/ClusterView.html#getInstances--">getInstances()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/ClusterView.html" title="interface in org.apache.sling.discovery">ClusterView</a></dt>
<dd>
<div class="block">Provides the list of InstanceDescriptions with a stable ordering.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyView.html#getInstances--">getInstances()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyView.html" title="interface in org.apache.sling.discovery">TopologyView</a></dt>
<dd>
<div class="block">Provides the set of InstanceDescriptions in the entire topology,
 without any particular order</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getInt-int-">getInt(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the int value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getInt-java.lang.String-">getInt(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the int value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html#getInvocationsCount--">getInvocationsCount()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">FilterProcessorMBean</a></dt>
<dd>
<div class="block">Returns the number of invocations collected since last resetting the
 statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#getItemPath-org.apache.sling.api.SlingHttpServletRequest-">getItemPath(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>
<div class="block">Returns the path of the resource of the request as the item path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#getItemPath-org.apache.sling.api.SlingHttpServletRequest-">getItemPath(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Returns the path of the resource of the request as the item path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getJob-java.lang.String-java.util.Map-">getJob(String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Find a job - either scheduled or active.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getJobById-java.lang.String-">getJobById(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return a job based on the unique id.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getJobByName-java.lang.String-">getJobByName(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#getJobCreated-org.osgi.service.event.Event-">getJobCreated(Event)</a></span> - Static method in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getJobPriority--">getJobPriority()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#getJobProperties--">getJobProperties()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Return the optional job topics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getJobState--">getJobState()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">Get the job state</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#getJobTopic--">getJobTopic()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Return the job topic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getJSONArray-int-">getJSONArray(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the JSONArray associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getJSONArray-java.lang.String-">getJSONArray(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the JSONArray value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getJSONObject-int-">getJSONObject(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the JSONObject associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getJSONObject-java.lang.String-">getJSONObject(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the JSONObject value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.html#getJSONObject--">getJSONObject()</a></span> - Method in class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getKeepAliveTime--">getKeepAliveTime()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the configured keep alive time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getKeepAliveTime--">getKeepAliveTime()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getKeepAliveTime--">getKeepAliveTime()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the keep alive time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QuerySyntaxException.html#getLanguage--">getLanguage()</a></span> - Method in exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QuerySyntaxException.html" title="class in org.apache.sling.api.resource">QuerySyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html#getLastActivatedJobDate--">getLastActivatedJobDate()</a></span> - Method in interface org.apache.sling.event.jobs.jmx.<a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html" title="interface in org.apache.sling.event.jobs.jmx">StatisticsMBean</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getLastActivatedJobTime--">getLastActivatedJobTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">The time a job has been started last.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getLastActivatedJobTime--">getLastActivatedJobTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">The time a job has been started last.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/Resource.html#getLastChange--">getLastChange()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/Resource.html" title="interface in org.apache.sling.installer.api.info">Resource</a></dt>
<dd>
<div class="block">When did the last change happen?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html#getLastFinishedJobDate--">getLastFinishedJobDate()</a></span> - Method in interface org.apache.sling.event.jobs.jmx.<a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html" title="interface in org.apache.sling.event.jobs.jmx">StatisticsMBean</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getLastFinishedJobTime--">getLastFinishedJobTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">The time a job has been finished/failed/cancelled last.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getLastFinishedJobTime--">getLastFinishedJobTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">The time a job has been finished/failed/cancelled last.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html#getLastModified-java.lang.String-">getLastModified(String)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader">ClassLoaderWriter</a></dt>
<dd>
<div class="block">Return the last modified for the class or resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationUnit.html#getLastModified--">getLastModified()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationUnit.html" title="interface in org.apache.sling.commons.compiler">CompilationUnit</a></dt>
<dd>
<div class="block">Return the last modified for the compilation unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/ClusterView.html#getLeader--">getLeader()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/ClusterView.html" title="interface in org.apache.sling.discovery">ClusterView</a></dt>
<dd>
<div class="block">Provides the InstanceDescription belonging to the leader instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilerMessage.html#getLine--">getLine()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilerMessage.html" title="class in org.apache.sling.commons.compiler">CompilerMessage</a></dt>
<dd>
<div class="block">Return the line number of the program text originating this message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#getLocalAdapterFactory--">getLocalAdapterFactory()</a></span> - Method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">Returns the <code>LocalAdapterFactory</code> used to convert Jackrabbit
 JCR RMI remote objects to local JCR API objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyView.html#getLocalInstance--">getLocalInstance()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyView.html" title="interface in org.apache.sling.discovery">TopologyView</a></dt>
<dd>
<div class="block">Provides the InstanceDescription belonging to <b>this</b> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getLocation--">getLocation()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getLocation--">getLocation()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getLocation--">getLocation()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns the location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getLog--">getLog()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#LOG"><code>SlingBindings.LOG</code></a> property if not <code>null</code> and a
 <code>org.slf4j.Logger</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#getLoginResource-javax.servlet.http.HttpServletRequest-java.lang.String-">getLoginResource(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Returns any resource target to redirect to after successful
 authentication.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#getLoginResource-javax.servlet.http.HttpServletRequest-java.lang.String-">getLoginResource(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#getLoginResource-javax.servlet.http.HttpServletRequest-java.lang.String-"><code>AuthUtil.getLoginResource(HttpServletRequest, String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getLong-int-">getLong(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the long value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getLong-java.lang.String-">getLong(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the long value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationUnit.html#getMainClassName--">getMainClassName()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationUnit.html" title="interface in org.apache.sling.commons.compiler">CompilationUnit</a></dt>
<dd>
<div class="block">Returns the name of the top level public type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html#getMaximumCacheSize--">getMaximumCacheSize()</a></span> - Method in interface org.apache.sling.servlets.resolver.jmx.<a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html" title="interface in org.apache.sling.servlets.resolver.jmx">SlingServletResolverCacheMBean</a></dt>
<dd>
<div class="block">Get the maximum configured size of the servlet resolver cache</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getMaxParallel--">getMaxParallel()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Return the max number of parallel processes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMaxPeakRecursionDepth--">getMaxPeakRecursionDepth()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the maximum peak recursive execution depth since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getMaxPoolSize--">getMaxPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the configured maximum pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getMaxPoolSize--">getMaxPoolSize()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getMaxPoolSize--">getMaxPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the maximum pool size</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMaxRequestDurationMsec--">getMaxRequestDurationMsec()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the time in milliseconds used by the longest request since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getMaxRetries--">getMaxRetries()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Return the max number of retries, -1 for endless retry!</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMaxServletCallCount--">getMaxServletCallCount()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the maximum servlet call count since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html#getMeanFilterDurationMsec--">getMeanFilterDurationMsec()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">FilterProcessorMBean</a></dt>
<dd>
<div class="block">Returns the mean filter invocation time in milliseconds since resetting
 the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMeanPeakRecursionDepth--">getMeanPeakRecursionDepth()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the mean peak recursive execution depth since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMeanRequestDurationMsec--">getMeanRequestDurationMsec()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the mean request processing time in milliseconds since resetting
 the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMeanServletCallCount--">getMeanServletCallCount()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the mean servlet call count since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilerMessage.html#getMessage--">getMessage()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilerMessage.html" title="class in org.apache.sling.commons.compiler">CompilerMessage</a></dt>
<dd>
<div class="block">Return the message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html#getMessage--">getMessage()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionResult</a></dt>
<dd>
<div class="block">Return the optional message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementsException.html#getMessage--">getMessage()</a></span> - Method in exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementsException.html" title="class in org.apache.sling.models.factory">MissingElementsException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#getMessages--">getMessages()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Returns an <code>Iterator</code> of tracking entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getMethodCallSyntax-java.lang.String-java.lang.String-java.lang.String...-">getMethodCallSyntax(String, String, String...)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/mime/MimeTypeProvider.html#getMimeType-java.lang.String-">getMimeType(String)</a></span> - Method in interface org.apache.sling.commons.mime.<a href="org/apache/sling/commons/mime/MimeTypeProvider.html" title="interface in org.apache.sling.commons.mime">MimeTypeProvider</a></dt>
<dd>
<div class="block">Returns the MIME type of the extension of the given <code>name</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/mime/MimeTypeService.html#getMimeType-java.lang.String-">getMimeType(String)</a></span> - Method in interface org.apache.sling.commons.mime.<a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime">MimeTypeService</a></dt>
<dd>
<div class="block">Returns the MIME type of the extension of the given <code>name</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getMimeTypes--">getMimeTypes()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMinPeakRecursionDepth--">getMinPeakRecursionDepth()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the minimal peak recursive execution depth since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getMinPoolSize--">getMinPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the minimum pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getMinPoolSize--">getMinPoolSize()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getMinPoolSize--">getMinPoolSize()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the minimum pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMinRequestDurationMsec--">getMinRequestDurationMsec()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the time in milliseconds used by the shortest request since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getMinServletCallCount--">getMinServletCallCount()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the minimum servlet call count since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getMinuteOfHour--">getMinuteOfHour()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">Return the minute of the hour for daily, weekly and hourly scheduled jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementsException.html#getMissingElements--">getMissingElements()</a></span> - Method in exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementsException.html" title="class in org.apache.sling.models.factory">MissingElementsException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getModificationTime--">getModificationTime()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#MODIFICATION_TIME"><code>ResourceMetadata.MODIFICATION_TIME</code></a> property if not <code>null</code>
 and a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getMonthOfYear--">getMonthOfYear()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">If the job is scheduled yearly, returns the month of the year</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getName--">getName()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#getName--">getName()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">Returns the name of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getName--">getName()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the name of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getName-org.apache.sling.api.resource.Resource-">getName(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since 2.1.0, use <a href="org/apache/sling/api/resource/Resource.html#getName--"><code>Resource.getName()</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getName-java.lang.String-">getName(String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Utility method returns the name of the given <code>path</code>, which is
 normalized by <a href="org/apache/sling/api/resource/ResourceUtil.html#normalize-java.lang.String-"><code>ResourceUtil.normalize(String)</code></a> before resolving the name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getName--">getName()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getName</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html#getName--">getName()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.NameValuePair</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/JobContext.html#getName--">getName()</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/JobContext.html" title="interface in org.apache.sling.commons.scheduler">JobContext</a></dt>
<dd>
<div class="block">Get the name of the scheduled job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getName--">getName()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the name of the thread pool</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPool.html#getName--">getName()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPool.html" title="interface in org.apache.sling.commons.threads">ThreadPool</a></dt>
<dd>
<div class="block">The name of the thread pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html#getName--">getName()</a></span> - Method in class org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets">AbstractServiceReferenceConfig</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the name of this configuration object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html#getName-org.osgi.framework.ServiceReference-">getName(ServiceReference)</a></span> - Static method in class org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets">AbstractServiceReferenceConfig</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Looks for a name value in the service reference properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html#getName--">getName()</a></span> - Method in interface org.apache.sling.event.jobs.jmx.<a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html" title="interface in org.apache.sling.event.jobs.jmx">StatisticsMBean</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getName--">getName()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#getName--">getName()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Get the queue name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#getName-org.osgi.framework.ServiceReference-">getName(ServiceReference)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Returns the <code>name</code> property from the service properties or
 <code>null</code> if no such property exists or the property is an
 empty string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/Injector.html#getName--">getName()</a></span> - Method in interface org.apache.sling.models.spi.<a href="org/apache/sling/models/spi/Injector.html" title="interface in org.apache.sling.models.spi">Injector</a></dt>
<dd>
<div class="block">Return a logical name for the injector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html#getName--">getName()</a></span> - Method in class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html#getName--">getName()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Tries to get the name value from the annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html#getName--">getName()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor2</a></dt>
<dd>
<div class="block">Tries to get the name value from the annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getNames--">getNames()</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getNamespaceAwareSession-javax.jcr.Session-">getNamespaceAwareSession(Session)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of API version 2.4 (bundle version 2.3)</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html#getNamespaceAwareSession-javax.jcr.Session-">getNamespaceAwareSession(Session)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base">NamespaceMappingSupport</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return a namespace aware session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html#getNamespaceMapperServices--">getNamespaceMapperServices()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html" title="class in org.apache.sling.jcr.base">AbstractNamespaceMappingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html#getNamespaceMapperServices--">getNamespaceMapperServices()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base">NamespaceMappingSupport</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the <code>NamespaceMapper</code> services used by the
 <a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html#getNamespaceAwareSession-javax.jcr.Session-"><code>NamespaceMappingSupport.getNamespaceAwareSession(Session)</code></a> method to define custom
 namespaces on sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#getNamespaceMapperServices--">getNamespaceMapperServices()</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#getNamespacePrefixes--">getNamespacePrefixes()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Read namespace prefixes and store as member variable to minimize number of JCR API calls</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.html#getNewView--">getNewView()</a></span> - Method in class org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.html" title="class in org.apache.sling.discovery">TopologyEvent</a></dt>
<dd>
<div class="block">Returns the view which is currently (i.e.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html#getNextActiveResource--">getNextActiveResource()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html" title="interface in org.apache.sling.installer.api.tasks">TaskResourceGroup</a></dt>
<dd>
<div class="block">If there is more than the active resource in the group, return the second
 resource from the group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#getNextScheduledExecution--">getNextScheduledExecution()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Return the next scheduled execution date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#getNode--">getNode()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Get the node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/NodeNameGenerator.html#getNodeName-org.apache.sling.api.SlingHttpServletRequest-java.lang.String-boolean-org.apache.sling.servlets.post.NodeNameGenerator-">getNodeName(SlingHttpServletRequest, String, boolean, NodeNameGenerator)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/NodeNameGenerator.html" title="interface in org.apache.sling.servlets.post">NodeNameGenerator</a></dt>
<dd>
<div class="block">Get the to-be-created node name from the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfActiveJobs--">getNumberOfActiveJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Number of jobs currently in processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfCancelledJobs--">getNumberOfCancelledJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Number of permanently failing or cancelled jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getNumberOfCancelledJobs--">getNumberOfCancelledJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">Number of permanently failing or cancelled jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfFailedJobs--">getNumberOfFailedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Number of failing jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getNumberOfFailedJobs--">getNumberOfFailedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">Number of failing jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfFinishedJobs--">getNumberOfFinishedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Number of successfully finished jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getNumberOfFinishedJobs--">getNumberOfFinishedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">Number of successfully finished jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfJobs--">getNumberOfJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">This just adds <a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfActiveJobs--"><code>Statistics.getNumberOfActiveJobs()</code></a> and <a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfQueuedJobs--"><code>Statistics.getNumberOfQueuedJobs()</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfProcessedJobs--">getNumberOfProcessedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Number of already processed jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getNumberOfProcessedJobs--">getNumberOfProcessedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">Number of already processed jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getNumberOfQueuedJobs--">getNumberOfQueuedJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Number of jobs currently waiting in a queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getNumberOfRetries--">getNumberOfRetries()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The property to track the retry maximum retry count for jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.html#getOldView--">getOldView()</a></span> - Method in class org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.html" title="class in org.apache.sling.discovery">TopologyEvent</a></dt>
<dd>
<div class="block">Returns the view which was valid up until now.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getOrCreateResource-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.lang.String-java.lang.String-boolean-">getOrCreateResource(ResourceResolver, String, String, String, boolean)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Creates or gets the resource at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getOrCreateResource-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.util.Map-java.lang.String-boolean-">getOrCreateResource(ResourceResolver, String, Map&lt;String, Object&gt;, String, boolean)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Creates or gets the resource at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getOut--">getOut()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#OUT"><code>SlingBindings.OUT</code></a> property if not <code>null</code> and a
 <code>PrintWriter</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getOutputStatement-java.lang.String-">getOutputStatement(String)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html#getOutputStream-java.lang.String-">getOutputStream(String)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader">ClassLoaderWriter</a></dt>
<dd>
<div class="block">Get the output stream for a class or resource handled
 by the underlying class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html#getOutputStream--">getOutputStream()</a></span> - Method in class org.apache.sling.scripting.core.servlet.<a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet">CaptureResponseWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getOwnThreadPoolSize--">getOwnThreadPoolSize()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Return the size for the optional thread pool for this queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getParameter-java.lang.String-">getParameter(String)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getParameterMap--">getParameterMap()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#PARAMETER_MAP"><code>ResourceMetadata.PARAMETER_MAP</code></a> property if not
 <code>null</code> and a <code>Map</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#getParent--">getParent()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">Returns the parent resource of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getParent--">getParent()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the parent resource or <code>null</code> if this resource
 represents the root of the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getParent-java.lang.String-">getParent(String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Utility method returns the parent path of the given <code>path</code>,
 which is normalized by <a href="org/apache/sling/api/resource/ResourceUtil.html#normalize-java.lang.String-"><code>ResourceUtil.normalize(String)</code></a> before resolving the
 parent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getParent-java.lang.String-int-">getParent(String, int)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Utility method returns the ancestor's path at the given <code>level</code>
 relative to <code>path</code>, which is normalized by <a href="org/apache/sling/api/resource/ResourceUtil.html#normalize-java.lang.String-"><code>ResourceUtil.normalize(String)</code></a>
 before resolving the ancestor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getParent-org.apache.sling.api.resource.Resource-">getParent(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since 2.1.0, use <a href="org/apache/sling/api/resource/Resource.html#getParent--"><code>Resource.getParent()</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getParent--">getParent()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getParent</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getParentLocation--">getParentLocation()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parent location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getParentLocation--">getParentLocation()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the parent location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getParentLocation--">getParentLocation()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns the parent location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getParentResourceType-org.apache.sling.api.resource.Resource-">getParentResourceType(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns the super type of the given resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getParentResourceType-java.lang.String-">getParentResourceType(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns the super type of the given resource type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#getPassword--">getPassword()</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the password stored as the <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#PASSWORD"><code>ResourceResolverFactory.PASSWORD</code></a> property or
 <code>null</code> if the password is not set in this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getPath--">getPath()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the absolute path of this resource in the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getPath--">getPath()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getPath</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#getPath--">getPath()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getPath--">getPath()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the absolute path of the item upon which the request operated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#getPath-javax.jcr.security.AccessControlList-">getPath(AccessControlList)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns the path of the node <code>AccessControlList</code> acl
 has been created for.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#getPath--">getPath()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getPath--">getPath()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the absolute path of the item upon which the request operated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getPath--">getPath()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns the absolute path of the item upon which the request operated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#getPathInfo-javax.servlet.http.HttpServletRequest-">getPathInfo(HttpServletRequest)</a></span> - Static method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Return the context path for r, using the appropriate request attribute if
 the request is an included one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getPid--">getPid()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the configuration pid of the thread pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobsIterator.html#getPosition--">getPosition()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobsIterator.html" title="interface in org.apache.sling.event.jobs">JobsIterator</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the current position within the iterator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#getPrincipalManager-javax.jcr.Session-">getPrincipalManager(Session)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns the <code>PrincipalManager</code> for the given
 <code>session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getPriority--">getPriority()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the configured priority of the thread pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getPriority--">getPriority()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getPriority--">getPriority()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the priority for the threads.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getPriority--">getPriority()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/QueueConfiguration.html#getThreadPriority--"><code>QueueConfiguration.getThreadPriority()</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#getPriority--">getPriority()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Return the priority of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getPriority--">getPriority()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return the priority of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#getPriority--">getPriority()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Return the priority of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html#getPrivilegeSetDisplayName-java.util.Locale-">getPrivilegeSetDisplayName(Locale)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo.AccessRights</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProcessingStarted--">getProcessingStarted()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains a calendar object
 specifying the date and time when this job has been started.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#getProgram-java.lang.String...-">getProgram(String...)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProgressETA--">getProgressETA()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">If the job is in processing, return the optional ETA for this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProgressLog--">getProgressLog()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This method returns the optional progress log from the last job
 processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProgressStepCount--">getProgressStepCount()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">If the job is in processing, return the optional progress step
 count if available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#getProperties--">getProperties()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Returns a Map containing all properties of this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getProperty-java.lang.String-java.lang.Class-">getProperty(String, Class&lt;Type&gt;)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the generic response property with the given name and type or
 <code>null</code> if no such property exists or the property is not of
 the requested type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the generic response property with the given name and type or
 <code>null</code> if no such property exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#getProperty-java.lang.Object-double-">getProperty(Object, double)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since 2.0.4, use <a href="org/apache/sling/commons/osgi/OsgiUtil.html#toDouble-java.lang.Object-double-"><code>OsgiUtil.toDouble(Object, double)</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Returns the value of a particular property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/PropertyProvider.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/PropertyProvider.html" title="interface in org.apache.sling.discovery">PropertyProvider</a></dt>
<dd>
<div class="block">Retrieves a property that is subsequently set on the local instance
 and broadcast to the <code>TopologyView</code> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">Get the value of a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProperty-java.lang.String-java.lang.Class-">getProperty(String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getProperty-java.lang.String-T-">getProperty(String, T)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">Get a named property and convert it into the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getProperty-java.lang.String-java.lang.Class-">getProperty(String, Class&lt;Type&gt;)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the generic response property with the given name and type or
 <code>null</code> if no such property exists or the property is not of
 the requested type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the generic response property with the given name and type or
 <code>null</code> if no such property exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistenceException.html#getPropertyName--">getPropertyName()</a></span> - Method in exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource">PersistenceException</a></dt>
<dd>
<div class="block">Get the property name related to this exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getPropertyNames--">getPropertyNames()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">Get all property names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QuerySyntaxException.html#getQuery--">getQuery()</a></span> - Method in exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QuerySyntaxException.html" title="class in org.apache.sling.api.resource">QuerySyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#getQueryString-javax.servlet.http.HttpServletRequest-">getQueryString(HttpServletRequest)</a></span> - Static method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Return the query string for r, using the appropriate request attribute if
 the request is an included one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getQueue-java.lang.String-">getQueue(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return a queue with a specific name (if running)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getQueueName--">getQueueName()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The name of the job queue processing this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/jmx/QueuesMBean.html#getQueueNames--">getQueueNames()</a></span> - Method in interface org.apache.sling.event.jobs.jmx.<a href="org/apache/sling/event/jobs/jmx/QueuesMBean.html" title="interface in org.apache.sling.event.jobs.jmx">QueuesMBean</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getQueues--">getQueues()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return an iterator for all available queues.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getQueueSize--">getQueueSize()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the configured queue size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getQueueSize--">getQueueSize()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getQueueSize--">getQueueSize()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the queue size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getRanking--">getRanking()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Get the ranking of this configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#getReadableResource-org.apache.sling.api.resource.Resource-">getReadableResource(Resource)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>
<div class="block">If supplied Resource can be read, return it (or a wrapped
  variant of it).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getReader--">getReader()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#READER"><code>SlingBindings.READER</code></a> property if not <code>null</code> and a
 <code>Reader</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#getReason-javax.servlet.http.HttpServletRequest-">getReason(HttpServletRequest)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Returns an informational message according to the value provided in the
 <code>j_reason</code> request parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#getRedirectUrl-javax.servlet.http.HttpServletRequest-org.apache.sling.servlets.post.AbstractPostResponse-">getRedirectUrl(HttpServletRequest, AbstractPostResponse)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>
<div class="block">compute redirect URL (SLING-126)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getReferer--">getReferer()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the referer as from the 'referer' request header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getReferer--">getReferer()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the referer as from the 'referer' request header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getReferer--">getReferer()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns the referer previously set by <a href="org/apache/sling/servlets/post/PostResponse.html#setReferer-java.lang.String-"><code>PostResponse.setReferer(String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#getReplaceSelectors--">getReplaceSelectors()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_REPLACE_SELECTORS"><code>RequestDispatcherOptions.OPT_REPLACE_SELECTORS</code></a> option or <code>null</code>
 if not set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#getReplaceSuffix--">getReplaceSuffix()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_REPLACE_SUFFIX"><code>RequestDispatcherOptions.OPT_REPLACE_SUFFIX</code></a> option or <code>null</code> if
 not set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getRepository--">getRepository()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the repository underlying this instance or <code>null</code> if
 no repository is currently being available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getRepository--">getRepository()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Returns the actual repository to which all JCR Repository interface
 methods implemented by this class are delegated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getRepository--">getRepository()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Returns the repository underlying this instance or <code>null</code> if
 no repository is currently being available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#getRepository-java.lang.String-java.util.Hashtable-">getRepository(String, Hashtable&lt;String, Object&gt;)</a></span> - Method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">First try to access the Repository via JNDI (unless jndiContext is null),
 and if not successful try RMI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getRepositoryAccessor--">getRepositoryAccessor()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a new instance of the <a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util"><code>RepositoryAccessor</code></a> class to access
 a repository over RMI or through JNDI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#getRepositoryFromURL-java.lang.String-">getRepositoryFromURL(String)</a></span> - Method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">Acquire a Repository from the given URL</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getRequest--">getRequest()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#REQUEST"><code>SlingBindings.REQUEST</code></a> property if not <code>null</code> and a
 <code>SlingHttpServletRequest</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#getRequest--">getRequest()</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api"><code>SlingHttpServletRequest</code></a> representing the input of the
 request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#getRequest--">getRequest()</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-">getRequestDispatcher(String, RequestDispatcherOptions)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns a <code>RequestDispatcher</code> object that acts as a wrapper
 for the resource located at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-">getRequestDispatcher(Resource, RequestDispatcherOptions)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns a <code>RequestDispatcher</code> object that acts as a wrapper
 for the resource located at the given resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher-org.apache.sling.api.resource.Resource-">getRequestDispatcher(Resource)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-"><code>SlingHttpServletRequest.getRequestDispatcher(Resource,RequestDispatcherOptions)</code></a>
 but using empty options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestDispatcher-org.apache.sling.api.resource.Resource-">getRequestDispatcher(Resource)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestDispatcher-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-">getRequestDispatcher(Resource, RequestDispatcherOptions)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestDispatcher-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-">getRequestDispatcher(String, RequestDispatcherOptions)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestParameter-java.lang.String-">getRequestParameter(String)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the value of a request parameter as a <a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request"><code>RequestParameter</code></a>,
 or <code>null</code> if the parameter does not exist.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestParameter-java.lang.String-">getRequestParameter(String)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestParameterList--">getRequestParameterList()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the request parameters as instances of the
 <a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request"><code>RequestParameter</code></a> interface in the order or the request where the
 query string parameters are first and the POST request parameters are
 second.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestParameterList--">getRequestParameterList()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestParameterMap--">getRequestParameterMap()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns a <code>Map</code> of the parameters of this request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestParameterMap--">getRequestParameterMap()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestParameters-java.lang.String-">getRequestParameters(String)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns an array of <a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request"><code>RequestParameter</code></a> objects containing all of
 the values the given request parameter has, or <code>null</code> if the
 parameter does not exist.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestParameters-java.lang.String-">getRequestParameters(String)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestPathInfo--">getRequestPathInfo()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request"><code>RequestPathInfo</code></a> pertaining to this request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestPathInfo--">getRequestPathInfo()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestProgressTracker--">getRequestProgressTracker()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request"><code>RequestProgressTracker</code></a> of this request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getRequestProgressTracker--">getRequestProgressTracker()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getRequestsCount--">getRequestsCount()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the number of requests collected since last resetting the
 statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#getRequestURI-javax.servlet.http.HttpServletRequest-">getRequestURI(HttpServletRequest)</a></span> - Static method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Return the request URI for r, using the appropriate request attribute if
 the request is an included one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getResolutionPath--">getResolutionPath()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH"><code>ResourceMetadata.RESOLUTION_PATH</code></a> property if not <code>null</code>
 and a <code>String</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#getResolutionPathInfo--">getResolutionPathInfo()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH_INFO"><code>ResourceMetadata.RESOLUTION_PATH_INFO</code></a> property if not
 <code>null</code> and a <code>String</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ParametrizableResourceProvider.html#getResource-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.util.Map-">getResource(ResourceResolver, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ParametrizableResourceProvider.html" title="interface in org.apache.sling.api.resource">ParametrizableResourceProvider</a></dt>
<dd>
<div class="block">Returns a resource from this resource provider or <code>null</code> if
 the resource provider cannot find it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceNotFoundException.html#getResource--">getResource()</a></span> - Method in exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceNotFoundException.html" title="class in org.apache.sling.api.resource">ResourceNotFoundException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#getResource-org.apache.sling.api.resource.ResourceResolver-javax.servlet.http.HttpServletRequest-java.lang.String-">getResource(ResourceResolver, HttpServletRequest, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since 2.2.0 (and JCR Resource 2.1.0), this method will not be invoked.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#getResource-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">getResource(ResourceResolver, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">Returns a resource from this resource provider or <code>null</code> if
 the resource provider cannot find it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getResource-java.lang.String-">getResource(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> object for data located at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getResource-org.apache.sling.api.resource.Resource-java.lang.String-">getResource(Resource, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> object for data located at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--">getResource()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the <code>Resource</code> wrapped by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getResource--">getResource()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#RESOURCE"><code>SlingBindings.RESOURCE</code></a> property if not <code>null</code> and a
 <code>Resource</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getResource--">getResource()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> object on whose behalf the servlet acts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getResource--">getResource()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html#getResource-javax.servlet.http.HttpServletRequest-">getResource(HttpServletRequest)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationFormServlet.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationFormServlet</a></dt>
<dd>
<div class="block">Returns the path to the resource to which the request should be
 redirected after successfully completing the form or an empty string if
 there is no <code>resource</code> request parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#getResource--">getResource()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Return the corresponding resource - depending on the task this might be null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/LauncherClassLoader.html#getResource-java.lang.String-">getResource(String)</a></span> - Method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/LauncherClassLoader.html" title="class in org.apache.sling.launchpad.base.shared">LauncherClassLoader</a></dt>
<dd>
<div class="block">Return an URL to the requested resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getResourceBundle-java.util.Locale-">getResourceBundle(Locale)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the resource bundle for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getResourceBundle-java.lang.String-java.util.Locale-">getResourceBundle(String, Locale)</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the resource bundle of the given base name for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getResourceBundle-java.util.Locale-">getResourceBundle(Locale)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getResourceBundle-java.lang.String-java.util.Locale-">getResourceBundle(String, Locale)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/ResourceBundleProvider.html#getResourceBundle-java.util.Locale-">getResourceBundle(Locale)</a></span> - Method in interface org.apache.sling.i18n.<a href="org/apache/sling/i18n/ResourceBundleProvider.html" title="interface in org.apache.sling.i18n">ResourceBundleProvider</a></dt>
<dd>
<div class="block">Returns a <code>ResourceBundle</code> for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/ResourceBundleProvider.html#getResourceBundle-java.lang.String-java.util.Locale-">getResourceBundle(String, Locale)</a></span> - Method in interface org.apache.sling.i18n.<a href="org/apache/sling/i18n/ResourceBundleProvider.html" title="interface in org.apache.sling.i18n">ResourceBundleProvider</a></dt>
<dd>
<div class="block">Returns a <code>ResourceBundle</code> for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#getResourceGroup--">getResourceGroup()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Return the corresponding resource - depending on the task this might be null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#getResourceId--">getResourceId()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Return just the resource id (everything in the url
 after the colon)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#getResourceIsMoved--">getResourceIsMoved()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Has this resource been moved or added?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getResourceMetadata--">getResourceMetadata()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the metadata of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getResourceMetadata--">getResourceMetadata()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getResourceMetadata</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#getResourceMetadata--">getResourceMetadata()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>
<div class="block">Returns a resource metadata object containing just the path of this
 resource as the <a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH"><code>ResourceMetadata.RESOLUTION_PATH</code></a> property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestPathInfo.html#getResourcePath--">getResourcePath()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request">RequestPathInfo</a></dt>
<dd>
<div class="block">Return the "resource path" part of the URL, what comes before selectors,
 extension and suffix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistenceException.html#getResourcePath--">getResourcePath()</a></span> - Method in exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource">PersistenceException</a></dt>
<dd>
<div class="block">Get the resource path related to this exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProviderFactory.html#getResourceProvider-java.util.Map-">getResourceProvider(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource">ResourceProviderFactory</a></dt>
<dd>
<div class="block">Returns a new <a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource"><code>ResourceProvider</code></a> instance with further
 configuration taken from the given <code>authenticationInfo</code> map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getResourceResolver--">getResourceResolver()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> from which this resource has been
 retrieved.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getResourceResolver-java.util.Map-">getResourceResolver(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Returns a new <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> instance with further
 configuration taken from the given <code>authenticationInfo</code> map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getResourceResolver--">getResourceResolver()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getResourceResolver</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#getResourceResolver--">getResourceResolver()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> with which this synthetic resource
 is related or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getResourceResolver--">getResourceResolver()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> which resolved the
 <a href="org/apache/sling/api/SlingHttpServletRequest.html#getResource--"><code>resource</code></a> of this request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getResourceResolver--">getResourceResolver()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceResolverFactory.html#getResourceResolver-javax.jcr.Session-">getResourceResolver(Session)</a></span> - Method in interface org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceResolverFactory.html" title="interface in org.apache.sling.jcr.resource">JcrResourceResolverFactory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a <code>ResourceResolver</code> for the given session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/ResourceGroup.html#getResources--">getResources()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/ResourceGroup.html" title="interface in org.apache.sling.installer.api.info">ResourceGroup</a></dt>
<dd>
<div class="block">Get all resources for this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getResourceSuperType--">getResourceSuperType()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns the super type of the resource if the resource defines its
 own super type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getResourceSuperType-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">getResourceSuperType(ResourceResolver, String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/resource/ResourceResolver.html#getParentResourceType-java.lang.String-"><code>ResourceResolver.getParentResourceType(String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getResourceSuperType--">getResourceSuperType()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getResourceSuperType</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#getResourceSuperType--">getResourceSuperType()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>
<div class="block">Synthetic resources by default do not have a resource super type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#getResourceSuperType-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">getResourceSuperType(ResourceResolver, String)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/resource/ResourceUtil.html#getResourceSuperType-org.apache.sling.api.resource.ResourceResolver-java.lang.String-"><code>ResourceUtil.getResourceSuperType(ResourceResolver, String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#getResourceSuperType-org.apache.sling.api.resource.Resource-">getResourceSuperType(Resource)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Call <a href="org/apache/sling/api/resource/ResourceUtil.html#findResourceSuperType-org.apache.sling.api.resource.Resource-"><code>ResourceUtil.findResourceSuperType(Resource)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/NonExistingResource.html#getResourceType--">getResourceType()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/NonExistingResource.html" title="class in org.apache.sling.api.resource">NonExistingResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getResourceType--">getResourceType()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">The resource type is meant to point to rendering/processing scripts,
 editing dialogs, etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getResourceType--">getResourceType()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>getResourceType</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#getResourceType--">getResourceType()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#getResourceType--">getResourceType()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Get the new resource type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getResponse--">getResponse()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#RESPONSE"><code>SlingBindings.RESPONSE</code></a> property if not <code>null</code> and a
 <code>SlingHttpServletResponse</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#getResponse--">getResponse()</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/SlingHttpServletResponse.html" title="interface in org.apache.sling.api"><code>SlingHttpServletResponse</code></a> representing the output of
 the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#getResponse--">getResponse()</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getResponseContentType--">getResponseContentType()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Returns the framework preferred content type for the response.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getResponseContentType--">getResponseContentType()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingHttpServletRequest.html#getResponseContentTypes--">getResponseContentTypes()</a></span> - Method in interface org.apache.sling.api.<a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api">SlingHttpServletRequest</a></dt>
<dd>
<div class="block">Gets a list of content types which the framework accepts for the
 response.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getResponseContentTypes--">getResponseContentTypes()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getResultMessage--">getResultMessage()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This method returns the message from the last job processing, regardless
 whether the processing failed, succeeded or was cancelled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getRetryCount--">getRetryCount()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">On first execution the value of this property is zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html#getRetryDelayInMs--">getRetryDelayInMs()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionResult</a></dt>
<dd>
<div class="block">Return the retry delay in ms</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getRetryDelayInMs--">getRetryDelayInMs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Return the retry delay in ms</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getRunModes--">getRunModes()</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">Return the set of activate run modes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/TimedEventStatusProvider.html#getScheduledEvent-java.lang.String-java.lang.String-java.lang.String-">getScheduledEvent(String, String, String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/TimedEventStatusProvider.html" title="interface in org.apache.sling.event">TimedEventStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return the scheduled event with the given id.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/TimedEventStatusProvider.html#getScheduledEvents-java.lang.String-java.util.Map...-">getScheduledEvents(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/TimedEventStatusProvider.html" title="interface in org.apache.sling.event">TimedEventStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return a list of currently scheduled events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getScheduledJobs--">getScheduledJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return all available job schedules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getScheduledJobs-java.lang.String-long-java.util.Map...-">getScheduledJobs(String, long, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return all matching available job schedules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#getScheduledJobs-java.lang.String-">getScheduledJobs(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#queryScheduledJobs-java.lang.String-java.util.Map...-"><code>JobStatusProvider.queryScheduledJobs(String, Map...)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#getScheduledJobs-java.lang.String-java.util.Map...-">getScheduledJobs(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/JobStatusProvider.html#queryScheduledJobs-java.lang.String-java.util.Map...-"><code>JobStatusProvider.queryScheduledJobs(String, Map...)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#getSchedules--">getSchedules()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Get all schedules for this job</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getScheme--">getScheme()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return the scheme from where the artifact is originated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#getScheme--">getScheme()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Return the scheme of the provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#getScript--">getScript()</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingScript.html" title="interface in org.apache.sling.api.scripting"><code>SlingScript</code></a> being called to handle the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/ScriptCache.html#getScript-java.lang.String-">getScript(String)</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/ScriptCache.html" title="interface in org.apache.sling.scripting.api">ScriptCache</a></dt>
<dd>
<div class="block">Retrieves the <a href="org/apache/sling/scripting/api/CachedScript.html" title="interface in org.apache.sling.scripting.api"><code>CachedScript</code></a> corresponding to the script accessible from the <code>scriptPath</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#getScript--">getScript()</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/ScriptEvaluationException.html#getScriptName--">getScriptName()</a></span> - Method in exception org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/ScriptEvaluationException.html" title="class in org.apache.sling.api.scripting">ScriptEvaluationException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/ScriptNameAware.html#getScriptName--">getScriptName()</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/ScriptNameAware.html" title="interface in org.apache.sling.scripting.api">ScriptNameAware</a></dt>
<dd>
<div class="block">Returns the name of the script provided by a marked <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptNameAwareReader.html#getScriptName--">getScriptName()</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptNameAwareReader.html" title="class in org.apache.sling.scripting.core">ScriptNameAwareReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/CachedScript.html#getScriptPath--">getScriptPath()</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/CachedScript.html" title="interface in org.apache.sling.scripting.api">CachedScript</a></dt>
<dd>
<div class="block">Returns the path of the script which was compiled and cached.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScript.html#getScriptResource--">getScriptResource()</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScript.html" title="interface in org.apache.sling.api.scripting">SlingScript</a></dt>
<dd>
<div class="block">Returns the Resource providing the script source code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getSearchPath--">getSearchPath()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns the search path used by the <a href="org/apache/sling/api/resource/ResourceResolver.html#getResource-java.lang.String-"><code>ResourceResolver.getResource(String)</code></a> method
 to search for resources by relative path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestPathInfo.html#getSelectors--">getSelectors()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request">RequestPathInfo</a></dt>
<dd>
<div class="block">Returns the selectors decoded from the request URL as an array of
 strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestPathInfo.html#getSelectorString--">getSelectorString()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request">RequestPathInfo</a></dt>
<dd>
<div class="block">Returns the selectors decoded from the request URL as string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#getService-java.lang.Class-">getService(Class&lt;ServiceType&gt;)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Lookup a single service</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#getService-java.lang.Class-">getService(Class&lt;ServiceType&gt;)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getServiceRegistrationInterfaces--">getServiceRegistrationInterfaces()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the service types to be used to register the repository service
 in <a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#registerService--"><code>AbstractSlingRepository.registerService()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getServiceRegistrationInterfaces--">getServiceRegistrationInterfaces()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Returns the service types to be used to register the repository service
 in <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#registerService--"><code>AbstractSlingRepositoryManager.registerService()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getServiceRegistrationProperties--">getServiceRegistrationProperties()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return the service registration properties to be used to register the
 repository service in <a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#registerService--"><code>AbstractSlingRepository.registerService()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getServiceRegistrationProperties--">getServiceRegistrationProperties()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Return the service registration properties to be used to register the
 repository service in <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#registerService--"><code>AbstractSlingRepositoryManager.registerService()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#getServiceRegistrationProperties--">getServiceRegistrationProperties()</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getServiceResourceResolver-java.util.Map-">getServiceResourceResolver(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Returns a new <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> instance with privileges assigned
 to the service provided by the calling bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#getServices-java.lang.Class-java.lang.String-">getServices(Class&lt;ServiceType&gt;, String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Lookup one or several services</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#getServices-java.lang.Class-java.lang.String-">getServices(Class&lt;ServiceType&gt;, String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/serviceusermapping/ServiceUserMapper.html#getServiceUserID-org.osgi.framework.Bundle-java.lang.String-">getServiceUserID(Bundle, String)</a></span> - Method in interface org.apache.sling.serviceusermapping.<a href="org/apache/sling/serviceusermapping/ServiceUserMapper.html" title="interface in org.apache.sling.serviceusermapping">ServiceUserMapper</a></dt>
<dd>
<div class="block">Returns the ID of a user to access the data store on behalf of the
 service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getServiceUserMapper--">getServiceUserMapper()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Returns the <code>ServiceUserMapper</code> service to map the service name to
 a service user name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#getServiceUserMapper--">getServiceUserMapper()</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestEvent.html#getServletContext--">getServletContext()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestEvent.html" title="class in org.apache.sling.api.request">SlingRequestEvent</a></dt>
<dd>
<div class="block">Gets the actual servlet context object as <code>ServletContext</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html#getServletContext--">getServletContext()</a></span> - Method in class org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/AbstractServiceReferenceConfig.html" title="class in org.apache.sling.engine.servlets">AbstractServiceReferenceConfig</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#getServletInfo--">getServletInfo()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Returns the simple class name of this servlet class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#getServletInfo--">getServletInfo()</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestUtil.html#getServletName-javax.servlet.Servlet-">getServletName(Servlet)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request">RequestUtil</a></dt>
<dd>
<div class="block">Utility method to return a name for the given servlet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestUtil.html#getServletName-javax.servlet.Servlet-">getServletName(Servlet)</a></span> - Static method in class org.apache.sling.engine.<a href="org/apache/sling/engine/RequestUtil.html" title="class in org.apache.sling.engine">RequestUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Utility method to return a name for the given servlet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#getServletPath-javax.servlet.http.HttpServletRequest-">getServletPath(HttpServletRequest)</a></span> - Static method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Return the servlet path for r, using the appropriate request attribute if
 the request is an included one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestEvent.html#getServletRequest--">getServletRequest()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestEvent.html" title="class in org.apache.sling.api.request">SlingRequestEvent</a></dt>
<dd>
<div class="block">Gets the actual request object as <code>ServletRequest</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#getShutdownWaitTimeMs--">getShutdownWaitTimeMs()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return the configured shutdown wait time in milliseconds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#getShutdownWaitTimeMs--">getShutdownWaitTimeMs()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#getShutdownWaitTimeMs--">getShutdownWaitTimeMs()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return the shutdown wait time in ms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getSize--">getSize()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns the size in bytes of the parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobsIterator.html#getSize--">getSize()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobsIterator.html" title="interface in org.apache.sling.event.jobs">JobsIterator</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the total number of jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#getSling--">getSling()</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/scripting/SlingBindings.html#SLING"><code>SlingBindings.SLING</code></a> property if not <code>null</code> and a
 <code>SlingScriptHelper</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingBridge.html#getSlingBridge-org.apache.sling.launchpad.base.shared.Notifiable-org.apache.felix.framework.Logger-org.apache.sling.launchpad.api.LaunchpadContentProvider-java.util.Map-javax.servlet.ServletContext-">getSlingBridge(Notifiable, Logger, LaunchpadContentProvider, Map&lt;String, String&gt;, ServletContext)</a></span> - Static method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingBridge.html" title="class in org.apache.sling.launchpad.base.webapp">SlingBridge</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getSlingDescription--">getSlingDescription()</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">Return the optional description of the instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#getSlingHome--">getSlingHome()</a></span> - Method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">Return the absolute path to sling home</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getSlingHome--">getSlingHome()</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">Returns the value of the <a href="org/apache/sling/settings/SlingSettingsService.html#SLING_HOME_URL"><code>SlingSettingsService.SLING_HOME_URL</code></a>
 property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getSlingHomePath--">getSlingHomePath()</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">Returns the value of the <a href="org/apache/sling/settings/SlingSettingsService.html#SLING_HOME"><code>SlingSettingsService.SLING_HOME</code></a>
 property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#getSlingId--">getSlingId()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">The identifier of the running Sling instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/SlingSettingsService.html#getSlingId--">getSlingId()</a></span> - Method in interface org.apache.sling.engine.<a href="org/apache/sling/engine/SlingSettingsService.html" title="interface in org.apache.sling.engine">SlingSettingsService</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The identifier of the running Sling instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getSlingId--">getSlingId()</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">The identifier of the running Sling instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#getSlingName--">getSlingName()</a></span> - Method in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">Return the optional name of the instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#getSlingRepositoryManager--">getSlingRepositoryManager()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#getSlingRequest--">getSlingRequest()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>
<div class="block">Return the original <a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api"><code>SlingHttpServletRequest</code></a> object wrapped by
 this.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html#getSlingResponse--">getSlingResponse()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletResponseWrapper</a></dt>
<dd>
<div class="block">Return the original <a href="org/apache/sling/api/SlingHttpServletResponse.html" title="interface in org.apache.sling.api"><code>SlingHttpServletResponse</code></a> object wrapped by
 this.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html#getSortedServiceReferences--">getSortedServiceReferences()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi">SortingServiceTracker</a></dt>
<dd>
<div class="block">Return a sorted list of the services references.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html#getSortedServices--">getSortedServices()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi">SortingServiceTracker</a></dt>
<dd>
<div class="block">Return a sorted list of the services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html#getSortKey--">getSortKey()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ChangeStateTask.html" title="class in org.apache.sling.installer.api.tasks">ChangeStateTask</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#getSortKey--">getSortKey()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Tasks are sorted according to this key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationUnit.html#getSource--">getSource()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationUnit.html" title="interface in org.apache.sling.commons.compiler">CompilationUnit</a></dt>
<dd>
<div class="block">Return an input stream for the contents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#getSource--">getSource()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#getSource--">getSource()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#getSource--">getSource()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/event/InstallationEvent.html#getSource--">getSource()</a></span> - Method in interface org.apache.sling.installer.api.event.<a href="org/apache/sling/installer/api/event/InstallationEvent.html" title="interface in org.apache.sling.installer.api.event">InstallationEvent</a></dt>
<dd>
<div class="block">Return the source of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#getSource--">getSource()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#getSourceVersion--">getSourceVersion()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getStandardDeviationDurationMsec--">getStandardDeviationDurationMsec()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the standard deviation of requests since resetting the
 statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getStandardDeviationPeakRecursionDepth--">getStandardDeviationPeakRecursionDepth()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the standard deviation of peak recursive execution depth since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#getStandardDeviationServletCallCount--">getStandardDeviationServletCallCount()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Returns the standard deviation servlet call counts since last
 resetting the statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html#getStartDate--">getStartDate()</a></span> - Method in interface org.apache.sling.event.jobs.jmx.<a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html" title="interface in org.apache.sling.event.jobs.jmx">StatisticsMBean</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#getStartTime--">getStartTime()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">The time this service has been started</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#getState-java.lang.String-">getState(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">For monitoring purposes and possible extensions from the different
 queue types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/Resource.html#getState--">getState()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/Resource.html" title="interface in org.apache.sling.installer.api.info">Resource</a></dt>
<dd>
<div class="block">Get the current state of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#getState--">getState()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Get the current state of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#getStateInfo--">getStateInfo()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Return some information about the current state of the queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getStatistics--">getStatistics()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return statistics information about all queues.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#getStatistics--">getStatistics()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Return statistics information about this queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getStatusCode--">getStatusCode()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the status code of this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getStatusCode--">getStatusCode()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns the status code of this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getStatusCode--">getStatusCode()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns the status code of this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#getStatusMessage--">getStatusMessage()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getStatusMessage--">getStatusMessage()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#getStatusMessage--">getStatusMessage()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns the status message or <code>null</code> if no has been set with
 the <a href="org/apache/sling/servlets/post/PostResponse.html#setStatus-int-java.lang.String-"><code>PostResponse.setStatus(int, String)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getString--">getString()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns the contents of the parameter as a String, using the default
 character encoding.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#getString-java.lang.String-">getString(String)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Returns the contents of the parameter as a String, using the specified
 encoding.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#getString-int-">getString(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the string associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#getString-java.lang.String-">getString(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the string associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestPathInfo.html#getSuffix--">getSuffix()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request">RequestPathInfo</a></dt>
<dd>
<div class="block">Returns the suffix part of the URL or <code>null</code> if the request
 URL does not contain a suffix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestPathInfo.html#getSuffixResource--">getSuffixResource()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request">RequestPathInfo</a></dt>
<dd>
<div class="block">Returns the resource addressed by the suffix or null if the request does
 not have a suffix or the suffix does not address an accessible resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getSupportedPrivileges-javax.jcr.Node-">getSupportedPrivileges(Node)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Return the supported Privileges for the specified node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#getSupportedPrivileges-javax.jcr.Session-java.lang.String-">getSupportedPrivileges(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>
<div class="block">Returns the supported privileges for the specified path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/jmx/InstallerMBean.html#getSuspendedSince--">getSuspendedSince()</a></span> - Method in interface org.apache.sling.installer.api.jmx.<a href="org/apache/sling/installer/api/jmx/InstallerMBean.html" title="interface in org.apache.sling.installer.api.jmx">InstallerMBean</a></dt>
<dd>
<div class="block">Determines the time since when the installer is in suspended state</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getTargetInstance--">getTargetInstance()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains the Sling instance ID
 of the instance where this job should be processed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#getTargetVersion--">getTargetVersion()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#getTemporaryAttribute-java.lang.String-">getTemporaryAttribute(String)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Get the value of a temporary attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getThreadPriority--">getThreadPriority()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Return the thread priority for the job thread</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getThreadResourceResolver--">getThreadResourceResolver()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a> for the current thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#getTopic--">getTopic()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The job topic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/TopicStatistics.html#getTopic--">getTopic()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs">TopicStatistics</a></dt>
<dd>
<div class="block">The topic this statistics is about.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getTopics--">getTopics()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">The list of topics this queue is bound to.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#getTopicStatistics--">getTopicStatistics()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Return statistics information about job topics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/DiscoveryService.html#getTopology--">getTopology()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/DiscoveryService.html" title="interface in org.apache.sling.discovery">DiscoveryService</a></dt>
<dd>
<div class="block">Returns the topology that was last discovered by this service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestEvent.html#getType--">getType()</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestEvent.html" title="class in org.apache.sling.api.request">SlingRequestEvent</a></dt>
<dd>
<div class="block">get the type of the event, eg.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.html#getType--">getType()</a></span> - Method in class org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.html" title="class in org.apache.sling.discovery">TopologyEvent</a></dt>
<dd>
<div class="block">Returns the type of this event</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#getType--">getType()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Return the queue type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.html#getType--">getType()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs">ScheduleInfo</a></dt>
<dd>
<div class="block">Return the scheduling type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/event/InstallationEvent.html#getType--">getType()</a></span> - Method in interface org.apache.sling.installer.api.event.<a href="org/apache/sling/installer/api/event/InstallationEvent.html" title="interface in org.apache.sling.installer.api.event">InstallationEvent</a></dt>
<dd>
<div class="block">Return the event type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#getType--">getType()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Return the type of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getType--">getType()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return the type of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#getType--">getType()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/InstallationState.html#getUntransformedResources--">getUntransformedResources()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/InstallationState.html" title="interface in org.apache.sling.installer.api.info">InstallationState</a></dt>
<dd>
<div class="block">Return all untransformed resources</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html#getURL--">getURL()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks">RegisteredResource</a></dt>
<dd>
<div class="block">Return this data's URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#getURL--">getURL()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Return this data's url.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#getUser--">getUser()</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the user name stored as the <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#USER"><code>ResourceResolverFactory.USER</code></a> property or
 <code>null</code> if the user is not set in this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#getUserID--">getUserID()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Get the user ID, if any, associated with this resource resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#getUserManager-javax.jcr.Session-">getUserManager(Session)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns the <code>UserManager</code> for the given
 <code>session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameterMap.html#getValue-java.lang.String-">getValue(String)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameterMap.html" title="interface in org.apache.sling.api.request">RequestParameterMap</a></dt>
<dd>
<div class="block">Returns the first value for the named parameter or null if none</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html#getValue--">getValue()</a></span> - Method in interface org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html" title="interface in org.apache.sling.commons.osgi">ManifestHeader.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html#getValue--">getValue()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.NameValuePair</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#getValue--">getValue()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/Injector.html#getValue-java.lang.Object-java.lang.String-java.lang.reflect.Type-java.lang.reflect.AnnotatedElement-org.apache.sling.models.spi.DisposalCallbackRegistry-">getValue(Object, String, Type, AnnotatedElement, DisposalCallbackRegistry)</a></span> - Method in interface org.apache.sling.models.spi.<a href="org/apache/sling/models/spi/Injector.html" title="interface in org.apache.sling.models.spi">Injector</a></dt>
<dd>
<div class="block">Produce a value for an injection point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#getValueMap--">getValueMap()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">This method calls <a href="org/apache/sling/api/adapter/Adaptable.html#adaptTo-java.lang.Class-"><code>Adaptable.adaptTo(Class)</code></a>
 with the <a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><code>ValueMap</code></a> class as an argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#getValueMap--">getValueMap()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns a value map for this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#getValueMap-org.apache.sling.api.resource.Resource-">getValueMap(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Returns an <code>ValueMap</code> object for the given
 <code>Resource</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#getValueMap--">getValueMap()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameterMap.html#getValues-java.lang.String-">getValues(String)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameterMap.html" title="interface in org.apache.sling.api.request">RequestParameterMap</a></dt>
<dd>
<div class="block">Returns all values for the named parameter or null if none</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#getVersion--">getVersion()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#getVersion--">getVersion()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#getVersion--">getVersion()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/info/Resource.html#getVersion--">getVersion()</a></span> - Method in interface org.apache.sling.installer.api.info.<a href="org/apache/sling/installer/api/info/Resource.html" title="interface in org.apache.sling.installer.api.info">Resource</a></dt>
<dd>
<div class="block">Return the version of the artifact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#getVersion--">getVersion()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Return the version of the artifact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#getVersion--">getVersion()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Get the version</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#getVersioningConfiguration-org.apache.sling.api.SlingHttpServletRequest-">getVersioningConfiguration(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Get the versioning configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html#getVia--">getVia()</a></span> - Method in class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html#getVia--">getVia()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Tries to get the via value from the annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html#getVia--">getVia()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor2</a></dt>
<dd>
<div class="block">Tries to get the via value from the annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationResult.html#getWarnings--">getWarnings()</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationResult.html" title="interface in org.apache.sling.commons.compiler">CompilationResult</a></dt>
<dd>
<div class="block">Return a list of warnings that occured during
 compilation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationInfo.html#getWorkspaceName--">getWorkspaceName()</a></span> - Method in class org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationInfo.html" title="class in org.apache.sling.engine.auth">AuthenticationInfo</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the name of the workspace the user contained in this instance
 wishes to connect to.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html#getWriter--">getWriter()</a></span> - Method in class org.apache.sling.scripting.core.servlet.<a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet">CaptureResponseWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/ResponseUtil.html#getXmlEscapingWriter-java.io.Writer-">getXmlEscapingWriter(Writer)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/ResponseUtil.html" title="class in org.apache.sling.api.request">ResponseUtil</a></dt>
<dd>
<div class="block">Return a Writer that writes escaped XML text to target</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/ResponseUtil.html#getXmlEscapingWriter-java.io.Writer-">getXmlEscapingWriter(Writer)</a></span> - Static method in class org.apache.sling.engine.<a href="org/apache/sling/engine/ResponseUtil.html" title="class in org.apache.sling.engine">ResponseUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return a Writer that writes escaped XML text to target</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#GT">GT</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '>'.</div>
</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/ErrorHandler.html#handleError-int-java.lang.String-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">handleError(int, String, SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in interface org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/ErrorHandler.html" title="interface in org.apache.sling.engine.servlets">ErrorHandler</a></dt>
<dd>
<div class="block">Called to render a response for a HTTP status code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/servlets/ErrorHandler.html#handleError-java.lang.Throwable-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">handleError(Throwable, SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in interface org.apache.sling.engine.servlets.<a href="org/apache/sling/engine/servlets/ErrorHandler.html" title="interface in org.apache.sling.engine.servlets">ErrorHandler</a></dt>
<dd>
<div class="block">Called to render a response for an uncaught <code>Throwable</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestUtil.html#handleIfModifiedSince-org.apache.sling.api.SlingHttpServletRequest-javax.servlet.http.HttpServletResponse-">handleIfModifiedSince(SlingHttpServletRequest, HttpServletResponse)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request">RequestUtil</a></dt>
<dd>
<div class="block">Checks if the request contains a if-last-modified-since header and if the the
 request's underlying resource has a jcr:lastModified property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#handleMethodNotImplemented-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">handleMethodNotImplemented(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Helper method which causes an appropriate HTTP response to be sent for an
 unhandled HTTP request method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#handleOperation-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.AbstractPostResponse-java.util.List-">handleOperation(SlingHttpServletRequest, AbstractPostResponse, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>
<div class="block">Extending Servlet should implement this operation to do the work</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html#handleOperation-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.AbstractPostResponse-java.util.List-">handleOperation(SlingHttpServletRequest, AbstractPostResponse, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">DeleteAcesServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html#handleOperation-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.AbstractPostResponse-java.util.List-">handleOperation(SlingHttpServletRequest, AbstractPostResponse, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">ModifyAceServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html#handleRedirect-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">handleRedirect(HttpServletRequest, HttpServletResponse)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/DefaultAuthenticationFeedbackHandler.html" title="class in org.apache.sling.auth.core.spi">DefaultAuthenticationFeedbackHandler</a></dt>
<dd>
<div class="block">Handles an optional request for a redirect after successful
 authentication and <code>true</code> if the request has been redirected.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateHandler.html#handleRemoval-java.lang.String-java.lang.String-java.lang.String-">handleRemoval(String, String, String)</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateHandler.html" title="interface in org.apache.sling.installer.api">UpdateHandler</a></dt>
<dd>
<div class="block">Handle the remove of a resource</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthenticationSupport.html#handleSecurity-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">handleSecurity(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthenticationSupport.html" title="interface in org.apache.sling.auth.core">AuthenticationSupport</a></dt>
<dd>
<div class="block">Handles security on behalf of a custom OSGi Http Service
 <code>HttpContext</code> instance extracting credentials from the request
 using any registered
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi"><code>AuthenticationHandler</code></a> services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEventListener.html#handleTopologyEvent-org.apache.sling.discovery.TopologyEvent-">handleTopologyEvent(TopologyEvent)</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEventListener.html" title="interface in org.apache.sling.discovery">TopologyEventListener</a></dt>
<dd>
<div class="block">Inform the service about an event in the topology - or in the discovery
 of the topology.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateHandler.html#handleUpdate-java.lang.String-java.lang.String-java.lang.String-java.util.Dictionary-java.util.Map-">handleUpdate(String, String, String, Dictionary&lt;String, Object&gt;, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateHandler.html" title="interface in org.apache.sling.installer.api">UpdateHandler</a></dt>
<dd>
<div class="block">Handle the update of a resource</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateHandler.html#handleUpdate-java.lang.String-java.lang.String-java.lang.String-java.io.InputStream-java.util.Map-">handleUpdate(String, String, String, InputStream, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateHandler.html" title="interface in org.apache.sling.installer.api">UpdateHandler</a></dt>
<dd>
<div class="block">Handle the update of a resource</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#has-java.lang.String-">has(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Determine if the JSONObject contains a specific key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ModifyingResourceProvider.html#hasChanges-org.apache.sling.api.resource.ResourceResolver-">hasChanges(ResourceResolver)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ModifyingResourceProvider.html" title="interface in org.apache.sling.api.resource">ModifyingResourceProvider</a></dt>
<dd>
<div class="block">Are there any transient changes?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#hasChanges--">hasChanges()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Are there any pending changes?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#hasChildren--">hasChildren()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">Checks to see if there are direct children of this resource by invoking
 <a href="org/apache/sling/api/resource/ResourceResolver.html#hasChildren-org.apache.sling.api.resource.Resource-"><code>ResourceResolver.hasChildren(Resource)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#hasChildren--">hasChildren()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Checks if the resource has any child resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#hasChildren-org.apache.sling.api.resource.Resource-">hasChildren(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Checks if the specified resource has any direct child resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#hasChildren--">hasChildren()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>hasChildren</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html#hasDefault--">hasDefault()</a></span> - Method in class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html#hasDefault--">hasDefault()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html#hasDefault--">hasDefault()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#hasItemPathPrefix-java.lang.String-">hasItemPathPrefix(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <code>name</code> starts with either
 of the prefixes
 <a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_RELATIVE_CURRENT"><code><code>./</code></code></a>,
 <a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_RELATIVE_PARENT"><code><code>../</code></code></a>
 and <a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_ABSOLUTE"><code><code>/</code></code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#HEADER_ACCEPT">HEADER_ACCEPT</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#HEADER_ETAG">HEADER_ETAG</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#HEADER_IF_MATCH">HEADER_IF_MATCH</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#HEADER_IF_MODIFIED_SINCE">HEADER_IF_MODIFIED_SINCE</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#HEADER_LAST_MODIFIED">HEADER_LAST_MODIFIED</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#hourly-int-">hourly(int)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job hourly at the given minute.</div>
</dd>
<dt><a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets"><span class="typeNameLink">HtmlResponse</span></a> - Class in <a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">use org.apache.sling.servlets.post.HtmlResponse instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#HtmlResponse--">HtmlResponse()</a></span> - Constructor for class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new html response with default settings, which is
 <code>null</code> for almost all properties except the
 <a href="org/apache/sling/api/servlets/HtmlResponse.html#isCreateRequest--"><code>HtmlResponse.isCreateRequest()</code></a> which defaults to <code>false</code>.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/HtmlResponse.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">HtmlResponse</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>HtmlResponse</code> is an <a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post"><code>AbstractPostResponse</code></a> preparing
 the response in HTML (actually XHTML) such that it can be interpreted
 as a plain response in a browser or as XML response in an Ajax request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/HtmlResponse.html#HtmlResponse--">HtmlResponse()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/HtmlResponse.html" title="class in org.apache.sling.servlets.post">HtmlResponse</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/http/HTTP.html" title="class in org.apache.sling.commons.json.http"><span class="typeNameLink">HTTP</span></a> - Class in <a href="org/apache/sling/commons/json/http/package-summary.html">org.apache.sling.commons.json.http</a></dt>
<dd>
<div class="block">Convert an HTTP header to a JSONObject and back.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/HTTP.html#HTTP--">HTTP()</a></span> - Constructor for class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/HTTP.html" title="class in org.apache.sling.commons.json.http">HTTP</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets"><span class="typeNameLink">HttpConstants</span></a> - Class in <a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a></dt>
<dd>
<div class="block">HTTP-related constants</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#HttpConstants--">HttpConstants()</a></span> - Constructor for class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/http/HTTPTokener.html" title="class in org.apache.sling.commons.json.http"><span class="typeNameLink">HTTPTokener</span></a> - Class in <a href="org/apache/sling/commons/json/http/package-summary.html">org.apache.sling.commons.json.http</a></dt>
<dd>
<div class="block">The HTTPTokener extends the JSONTokener to provide additional methods
 for the parsing of HTTP headers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/HTTPTokener.html#HTTPTokener-java.lang.String-">HTTPTokener(String)</a></span> - Constructor for class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/HTTPTokener.html" title="class in org.apache.sling.commons.json.http">HTTPTokener</a></dt>
<dd>
<div class="block">Construct an XMLTokener from a string.</div>
</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/SlingRepository.html#impersonateFromService-java.lang.String-javax.jcr.Credentials-java.lang.String-">impersonateFromService(String, Credentials, String)</a></span> - Method in interface org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/SlingRepository.html" title="interface in org.apache.sling.jcr.api">SlingRepository</a></dt>
<dd>
<div class="block">Impersonates the service session provided by the calling bundle (and further
 specialized by <code>subServiceName</code>) to a new session in accordance with
 the specified (new) <code>Credentials</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#impersonateFromService-java.lang.String-javax.jcr.Credentials-java.lang.String-">impersonateFromService(String, Credentials, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Default implementation of the <code>#impersonateFromService(Credentials, String, String)</code>
 method taking into account the bundle calling this method.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/ImplementationPicker.html" title="interface in org.apache.sling.models.spi"><span class="typeNameLink">ImplementationPicker</span></a> - Interface in <a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a></dt>
<dd>
<div class="block">Defines a strategy to choose an implementation for a model if multiple are registered 
 for the same interface or super class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImporter.html#importContent-javax.jcr.Node-java.lang.String-java.io.InputStream-org.apache.sling.jcr.contentloader.ImportOptions-org.apache.sling.jcr.contentloader.ContentImportListener-">importContent(Node, String, InputStream, ImportOptions, ContentImportListener)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImporter.html" title="interface in org.apache.sling.jcr.contentloader">ContentImporter</a></dt>
<dd>
<div class="block">Import content into the repository by parsing the provided
 content stream.</div>
</dd>
<dt><a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader"><span class="typeNameLink">ImportOptions</span></a> - Class in <a href="org/apache/sling/jcr/contentloader/package-summary.html">org.apache.sling.jcr.contentloader</a></dt>
<dd>
<div class="block">Encapsulates the options for the content import.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ImportOptions.html#ImportOptions--">ImportOptions()</a></span> - Constructor for class org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader">ImportOptions</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-java.lang.String-">include(String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-"><code>SlingScriptHelper.include(String,RequestDispatcherOptions)</code></a>, but using
 empty options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-java.lang.String-java.lang.String-">include(String, String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to include the result of processing the request for the
 given <code>path</code> and <code>requestDispatcherOptions</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-">include(String, RequestDispatcherOptions)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to include the result of processing the request for the
 given <code>path</code> and <code>options</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-org.apache.sling.api.resource.Resource-">include(Resource)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-"><code>SlingScriptHelper.include(Resource,RequestDispatcherOptions)</code></a>, but using
 empty options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-org.apache.sling.api.resource.Resource-java.lang.String-">include(Resource, String)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to include the result of processing the request for the
 given <code>resource</code> and <code>requestDispatcherOptions</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptHelper.html#include-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-">include(Resource, RequestDispatcherOptions)</a></span> - Method in interface org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting">SlingScriptHelper</a></dt>
<dd>
<div class="block">Helper method to include the result of processing the request for the
 given <code>resource</code> and <code>options</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#include-java.lang.String-">include(String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#include-java.lang.String-java.lang.String-">include(String, String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#include-java.lang.String-org.apache.sling.api.request.RequestDispatcherOptions-">include(String, RequestDispatcherOptions)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#include-org.apache.sling.api.resource.Resource-">include(Resource)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#include-org.apache.sling.api.resource.Resource-java.lang.String-">include(Resource, String)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#include-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-">include(Resource, RequestDispatcherOptions)</a></span> - Method in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#INCLUDE_CONTEXT_PATH">INCLUDE_CONTEXT_PATH</a></span> - Static variable in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Attribute name used by the RequestDispatcher to indicate the context path
 of the included request, as a String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#INCLUDE_PATH_INFO">INCLUDE_PATH_INFO</a></span> - Static variable in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Attribute name used by the RequestDispatcher to indicate the path info of
 the included request, as a String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#INCLUDE_QUERY_STRING">INCLUDE_QUERY_STRING</a></span> - Static variable in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Attribute name used by the RequestDispatcher to indicate the query string
 of the included request, as a String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#INCLUDE_REQUEST_URI">INCLUDE_REQUEST_URI</a></span> - Static variable in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Attribute name used by the RequestDispatcher to indicate the request URI
 of the included request, as a String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#INCLUDE_SERVLET_PATH">INCLUDE_SERVLET_PATH</a></span> - Static variable in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">Attribute name used by the RequestDispatcher to indicate the servlet path
 of the included request, as a String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#incrementProgressCount-int-">incrementProgressCount(int)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">Update the progress by additionally marking the provided
 number of steps as finished.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#info-java.lang.String-java.lang.Throwable-">info(String, Throwable)</a></span> - Static method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Loader.html#info-java.lang.String-">info(String)</a></span> - Method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared">Loader</a></dt>
<dd>
<div class="block">Meant to be overridden to display or log info</div>
</dd>
<dt><a href="org/apache/sling/installer/api/info/InfoProvider.html" title="interface in org.apache.sling.installer.api.info"><span class="typeNameLink">InfoProvider</span></a> - Interface in <a href="org/apache/sling/installer/api/info/package-summary.html">org.apache.sling.installer.api.info</a></dt>
<dd>
<div class="block">The info provider delivers information about the current state of the
 OSGi installer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#init-org.apache.sling.commons.osgi.ManifestHeader.NameValuePair:A-org.apache.sling.commons.osgi.ManifestHeader.NameValuePair:A-">init(ManifestHeader.NameValuePair[], ManifestHeader.NameValuePair[])</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#init--">init()</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>
<div class="block">Initializes this servlet by loading the framework configuration
 properties, starting the OSGi framework (Apache Felix) and exposing the
 system bundle context and the <code>Felix</code> instance as servlet
 context attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#init--">init()</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>
<div class="block">Launches the SLing framework if the sling.home setting can be derived
 from the configuration or the SerlvetContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#initProgress-int-long-">initProgress(int, long)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">Indicate that the job executor is able to report the progress.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotation.html" title="annotation in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">InjectAnnotation</span></a> - Annotation Type in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block">Declares an annotation as a custom inject annotation.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">InjectAnnotationProcessor</span></a> - Interface in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific"><code>InjectAnnotationProcessor2</code></a> instead</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">InjectAnnotationProcessor2</span></a> - Interface in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block">Processor for injector-specific annotations.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.html" title="interface in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">InjectAnnotationProcessorFactory</span></a> - Interface in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.html" title="interface in org.apache.sling.models.spi.injectorspecific"><code>StaticInjectAnnotationProcessorFactory</code></a> preferably or in case of a dependency to the adaptable <a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory2.html" title="interface in org.apache.sling.models.spi.injectorspecific"><code>InjectAnnotationProcessorFactory2</code></a></span></div>
</div>
</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory2.html" title="interface in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">InjectAnnotationProcessorFactory2</span></a> - Interface in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block">Factory for <a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html" title="interface in org.apache.sling.models.spi.injectorspecific"><code>InjectAnnotationProcessor2</code></a> that is evaluated at runtime for each
 sling model adaption and may depend on the adaptable.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/InjectionStrategy.html" title="enum in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">InjectionStrategy</span></a> - Enum in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/spi/Injector.html" title="interface in org.apache.sling.models.spi"><span class="typeNameLink">Injector</span></a> - Interface in <a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a></dt>
<dd>
<div class="block">Service interface for pluggable value injectors.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api"><span class="typeNameLink">InstallableResource</span></a> - Class in <a href="org/apache/sling/installer/api/package-summary.html">org.apache.sling.installer.api</a></dt>
<dd>
<div class="block">A piece of data that can be installed by the <a href="org/apache/sling/installer/api/OsgiInstaller.html" title="interface in org.apache.sling.installer.api"><code>OsgiInstaller</code></a>
 Currently the OSGi installer supports bundles and configurations,
 but it can be extended by additional task factories supporting
 other formats.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#InstallableResource-java.lang.String-java.io.InputStream-java.util.Dictionary-java.lang.String-java.lang.String-java.lang.Integer-">InstallableResource(String, InputStream, Dictionary&lt;String, Object&gt;, String, String, Integer)</a></span> - Constructor for class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Create a data object - this is a simple constructor just using the
 values as they are provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#INSTALLATION_HINT">INSTALLATION_HINT</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Optional parameter in the dictionary if a resource (not a dict) is installed.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/InstallationContext.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">InstallationContext</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">Context for the installation tasks.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/event/InstallationEvent.html" title="interface in org.apache.sling.installer.api.event"><span class="typeNameLink">InstallationEvent</span></a> - Interface in <a href="org/apache/sling/installer/api/event/package-summary.html">org.apache.sling.installer.api.event</a></dt>
<dd>
<div class="block">Optional listener which can be used to monitor the activities
 of the installer.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/event/InstallationEvent.TYPE.html" title="enum in org.apache.sling.installer.api.event"><span class="typeNameLink">InstallationEvent.TYPE</span></a> - Enum in <a href="org/apache/sling/installer/api/event/package-summary.html">org.apache.sling.installer.api.event</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/event/InstallationListener.html" title="interface in org.apache.sling.installer.api.event"><span class="typeNameLink">InstallationListener</span></a> - Interface in <a href="org/apache/sling/installer/api/event/package-summary.html">org.apache.sling.installer.api.event</a></dt>
<dd>
<div class="block">Optional listener which can be used to monitor the activities
 of the installer.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/info/InstallationState.html" title="interface in org.apache.sling.installer.api.info"><span class="typeNameLink">InstallationState</span></a> - Interface in <a href="org/apache/sling/installer/api/info/package-summary.html">org.apache.sling.installer.api.info</a></dt>
<dd>
<div class="block">The state of the OSGi installer at a given time.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/jmx/InstallerMBean.html" title="interface in org.apache.sling.installer.api.jmx"><span class="typeNameLink">InstallerMBean</span></a> - Interface in <a href="org/apache/sling/installer/api/jmx/package-summary.html">org.apache.sling.installer.api.jmx</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Loader.html#installLauncherJar-java.net.URL-">installLauncherJar(URL)</a></span> - Method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared">Loader</a></dt>
<dd>
<div class="block">Copies the contents of the launcher JAR as indicated by the URL to the
 sling home directory.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks"><span class="typeNameLink">InstallTask</span></a> - Class in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">Base class for tasks that can be executed by the
 <a href="org/apache/sling/installer/api/OsgiInstaller.html" title="interface in org.apache.sling.installer.api"><code>OsgiInstaller</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#InstallTask-org.apache.sling.installer.api.tasks.TaskResourceGroup-">InstallTask(TaskResourceGroup)</a></span> - Constructor for class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Constructor for the task</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/InstallTaskFactory.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">InstallTaskFactory</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">The install task factory creates a task for a given
 resource.</div>
</dd>
<dt><a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">InstanceDescription</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">An InstanceDescription represents and contains information about an
 instance that is part of a TopologyView.</div>
</dd>
<dt><a href="org/apache/sling/discovery/InstanceFilter.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">InstanceFilter</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">Used to filter InstanceDescriptions in a TopologyView.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#INTERNAL_CONTINUE_RESOLVING">INTERNAL_CONTINUE_RESOLVING</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns whether the resource resolver should continue to search for a
 resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html#internalGetAcl-javax.jcr.Session-java.lang.String-">internalGetAcl(Session, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractGetAclServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#internalPut-java.lang.String-java.lang.Object-">internalPut(String, Object)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/factory/InvalidAdaptableException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">InvalidAdaptableException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Exception which is triggered whenever a Sling Model could not be
 instantiated because it could not be adapted from the given adaptable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/InvalidAdaptableException.html#InvalidAdaptableException-java.lang.String-">InvalidAdaptableException(String)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/InvalidAdaptableException.html" title="class in org.apache.sling.models.factory">InvalidAdaptableException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/factory/InvalidModelException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">InvalidModelException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Thrown in case the given model type could not be validated through the model validation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/InvalidModelException.html#InvalidModelException-java.lang.String-">InvalidModelException(String)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/InvalidModelException.html" title="class in org.apache.sling.models.factory">InvalidModelException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html" title="class in org.apache.sling.api.scripting"><span class="typeNameLink">InvalidServiceFilterSyntaxException</span></a> - Exception in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block">Thrown when an invalid service filter is used</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html#InvalidServiceFilterSyntaxException-java.lang.String-java.lang.String-">InvalidServiceFilterSyntaxException(String, String)</a></span> - Constructor for exception org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html" title="class in org.apache.sling.api.scripting">InvalidServiceFilterSyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html#InvalidServiceFilterSyntaxException-java.lang.String-java.lang.String-java.lang.Throwable-">InvalidServiceFilterSyntaxException(String, String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/InvalidServiceFilterSyntaxException.html" title="class in org.apache.sling.api.scripting">InvalidServiceFilterSyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/SessionProxyHandler.SessionProxyInvocationHandler.html#invoke-java.lang.Object-java.lang.reflect.Method-java.lang.Object:A-">invoke(Object, Method, Object[])</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/SessionProxyHandler.SessionProxyInvocationHandler.html" title="class in org.apache.sling.jcr.base">SessionProxyHandler.SessionProxyInvocationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#isA-org.apache.sling.api.resource.Resource-java.lang.String-">isA(Resource, String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/resource/ResourceResolver.html#isResourceType-org.apache.sling.api.resource.Resource-java.lang.String-"><code>ResourceResolver.isResourceType(Resource, String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/jmx/InstallerMBean.html#isActive--">isActive()</a></span> - Method in interface org.apache.sling.installer.api.jmx.<a href="org/apache/sling/installer/api/jmx/InstallerMBean.html" title="interface in org.apache.sling.installer.api.jmx">InstallerMBean</a></dt>
<dd>
<div class="block">Indicates that whether the installer is currently active</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#isAjaxRequest-javax.servlet.http.HttpServletRequest-">isAjaxRequest(HttpServletRequest)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the request is to be considered an AJAX
 request placed using the <code>XMLHttpRequest</code> browser host object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#isAllow-javax.jcr.security.AccessControlEntry-">isAllow(AccessControlEntry)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns true if the AccessControlEntry represents 'allowed' rights or false
 it it represents 'denied' rights.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#isAsynchronousTask--">isAsynchronousTask()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">If this an asynchronous task it should return <code>true</code>
 The OSGi installer will set the attribute <a href="org/apache/sling/installer/api/tasks/InstallTask.html#ASYNC_ATTR_NAME"><code>InstallTask.ASYNC_ATTR_NAME</code></a>
 with an integer value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#isAutoCheckin--">isAutoCheckin()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ImportOptions.html#isAutoCheckout--">isAutoCheckout()</a></span> - Method in class org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader">ImportOptions</a></dt>
<dd>
<div class="block">Specifies whether versionable nodes is automatically checked out when
 necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#isAutoCheckout--">isAutoCheckout()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html#isBinaryResponse--">isBinaryResponse()</a></span> - Method in class org.apache.sling.scripting.core.servlet.<a href="org/apache/sling/scripting/core/servlet/CaptureResponseWrapper.html" title="class in org.apache.sling.scripting.core.servlet">CaptureResponseWrapper</a></dt>
<dd>
<div class="block">Returns true if the response is binary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#isBrowserRequest-javax.servlet.http.HttpServletRequest-">isBrowserRequest(HttpServletRequest)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given request can be assumed to be sent
 by a client browser such as Firefix, Internet Explorer, etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#isBundle--">isBundle()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#isBundle--">isBundle()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#isBundle--">isBundle()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ImportOptions.html#isCheckin--">isCheckin()</a></span> - Method in class org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader">ImportOptions</a></dt>
<dd>
<div class="block">Specifies whether versionable nodes is automatically checked in at the
 end of the import operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#isCheckinOnNewVersionableNode--">isCheckinOnNewVersionableNode()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#isCreateRequest--">isCreateRequest()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns <code>true</code> if this was a create request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#isCreateRequest--">isCreateRequest()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this was a create request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#isCreateRequest--">isCreateRequest()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this was a create request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyView.html#isCurrent--">isCurrent()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyView.html" title="interface in org.apache.sling.discovery">TopologyView</a></dt>
<dd>
<div class="block">Checks if this TopologyView is currently valid - or if the
 service knows of a topology change just going on (or another
 uncertainty about the topology such as IOException etc)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#isDaemon--">isDaemon()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return whether or not the thread pool creates daemon threads.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#isDaemon--">isDaemon()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#isDaemon--">isDaemon()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Return if daemon threads should be created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#isDisableLoginAdministrative--">isDisableLoginAdministrative()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Returns whether to disable the
 <code>SlingRepository.loginAdministrative</code> method or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#isEmpty-javax.jcr.security.AccessControlList-">isEmpty(AccessControlList)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if <code>AccessControlList</code> acl
 does not yet define any entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementsException.html#isEmpty--">isEmpty()</a></span> - Method in exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementsException.html" title="class in org.apache.sling.models.factory">MissingElementsException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestParameter.html#isFormField--">isFormField()</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request">RequestParameter</a></dt>
<dd>
<div class="block">Determines whether or not this instance represents a simple form field or
 an uploaded file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#isGenerateDebugInfo--">isGenerateDebugInfo()</a></span> - Method in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ImportOptions.html#isIgnoredImportProvider-java.lang.String-">isIgnoredImportProvider(String)</a></span> - Method in class org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader">ImportOptions</a></dt>
<dd>
<div class="block">Check if the import provider for the given file extension should
 be ignored.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#isIncluded-javax.servlet.http.HttpServletRequest-">isIncluded(HttpServletRequest)</a></span> - Static method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>
<div class="block">True if r is an included request, in which case it has the
 INCLUDE_REQUEST_URI attribute</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#isJobEvent-org.osgi.service.event.Event-">isJobEvent(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#isJobEvent-org.osgi.service.event.Event-"><code>JobUtil.isJobEvent(Event)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#isJobEvent-org.osgi.service.event.Event-">isJobEvent(Event)</a></span> - Static method in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#isJobProcessingEnabled--">isJobProcessingEnabled()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method always returns true</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#isKeepJobs--">isKeepJobs()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Whether successful jobs are kept for a complete history</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#isLeader--">isLeader()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">If an instance is part of a cluster, it can potentially be a leader of that cluster -
 this information is queried here.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/DynamicResourceProvider.html#isLive--">isLive()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/DynamicResourceProvider.html" title="interface in org.apache.sling.api.resource">DynamicResourceProvider</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this resource provider has not been closed
 yet and can still be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#isLive--">isLive()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this resource resolver has not been closed
 yet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/DynamicClassLoader.html#isLive--">isLive()</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/DynamicClassLoader.html" title="interface in org.apache.sling.commons.classloader">DynamicClassLoader</a></dt>
<dd>
<div class="block">Is this class loader still alive/valid?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#isLocal--">isLocal()</a></span> - Method in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Determines whether this InstanceDescription is representing the local instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#isLocal-org.osgi.service.event.Event-">isLocal(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Event handlers should rather filter just for the property
             being available (remote) or missing (local)</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#isLocalQueue--">isLocalQueue()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This information is not used anymore</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#isMethodValid-java.lang.reflect.Method-java.lang.String-">isMethodValid(Method, String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if <code>method</code> is not
 <code>null</code> and the method is not defined in the class named by
 <code>className</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ModelFactory.html#isModelClass-java.lang.Object-java.lang.Class-">isModelClass(Object, Class&lt;?&gt;)</a></span> - Method in interface org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ModelFactory.html" title="interface in org.apache.sling.models.factory">ModelFactory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/models/factory/ModelFactory.html#isModelClass-java.lang.Class-"><code>ModelFactory.isModelClass(Class)</code></a> instead!</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ModelFactory.html#isModelClass-java.lang.Class-">isModelClass(Class&lt;?&gt;)</a></span> - Method in interface org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ModelFactory.html" title="interface in org.apache.sling.models.factory">ModelFactory</a></dt>
<dd>
<div class="block">Checks if a given type can be instantiated though Sling Models.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#isNonExistingResource-org.apache.sling.api.resource.Resource-">isNonExistingResource(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the resource <code>res</code> is a
 non-existing resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#isNull-int-">isNull(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Determine if the value is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#isNull-java.lang.String-">isNull(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Determine if the value associated with the key is null or if there is
  no value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html#isOptional--">isOptional()</a></span> - Method in class org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.html" title="class in org.apache.sling.models.spi.injectorspecific">AbstractInjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html#isOptional--">isOptional()</a></span> - Method in interface org.apache.sling.models.spi.injectorspecific.<a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific">InjectAnnotationProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">use <a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor2.html#getInjectionStrategy--"><code>InjectAnnotationProcessor2.getInjectionStrategy()</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ImportOptions.html#isOverwrite--">isOverwrite()</a></span> - Method in class org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader">ImportOptions</a></dt>
<dd>
<div class="block">Specifies whether imported nodes should overwrite existing nodes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.html#isPreferRunOnCreationInstance--">isPreferRunOnCreationInstance()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs">QueueConfiguration</a></dt>
<dd>
<div class="block">Prefer to run the job on the same instance it was created on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ImportOptions.html#isPropertyOverwrite--">isPropertyOverwrite()</a></span> - Method in class org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ImportOptions.html" title="class in org.apache.sling.jcr.contentloader">ImportOptions</a></dt>
<dd>
<div class="block">Specifies whether imported properties should overwrite existing properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#isRedirectValid-javax.servlet.http.HttpServletRequest-java.lang.String-">isRedirectValid(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given redirect <code>target</code> is
 valid according to the following list of requirements:
 
 The <code>target</code> is neither <code>null</code> nor an empty
 string
 The <code>target</code> is not an URL which is identified by the
 character sequence <code>://</code> separating the scheme from the host
 The <code>target</code> is normalized such that it contains no
 consecutive slashes and no path segment contains a single or double dot
 The <code>target</code> must be prefixed with the servlet context
 path
 If a <code>ResourceResolver</code> is available as a request
 attribute the <code>target</code> (without the servlet context path
 prefix) must resolve to an existing resource
 If a <code>ResourceResolver</code> is <i>not</i> available as a
 request attribute the <code>target</code> must be an absolute path
 starting with a slash character does not contain any of the characters
 <code>&lt;</code>, <code>&gt;</code>, <code>'</code>, or <code>"</code>
 in plain or URL encoding
 </div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#isRedirectValid-javax.servlet.http.HttpServletRequest-java.lang.String-">isRedirectValid(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method has been introduced after Bundle release 1.0.6
             but has been replaced with
             <a href="org/apache/sling/auth/core/AuthUtil.html#isRedirectValid-javax.servlet.http.HttpServletRequest-java.lang.String-"><code>AuthUtil.isRedirectValid(HttpServletRequest, String)</code></a>.
             Use the latter method.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#isResourceType-java.lang.String-">isResourceType(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this resource is of the given resource type
 or if any of the super resource types equals the given resource type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#isResourceType-java.lang.String-">isResourceType(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the resource type or any of the resource's
 super type(s) equals the given resource type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#isResourceType-org.apache.sling.api.resource.Resource-java.lang.String-">isResourceType(Resource, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the resource type or any of the resource's
 super type(s) equals the given resource type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#isResourceType-java.lang.String-">isResourceType(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>isResourceType</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#isSafeReferer--">isSafeReferer()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html#isSendError-org.apache.sling.api.SlingHttpServletRequest-">isSendError(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html" title="class in org.apache.sling.servlets.post">PostResponseWithErrorHandling</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#isSessionSaveRequired-javax.jcr.Session-org.apache.sling.api.SlingHttpServletRequest-">isSessionSaveRequired(Session, SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Check whether commit to the resource resolver should be called.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html#isSetStatus-org.apache.sling.api.SlingHttpServletRequest-">isSetStatus(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">AbstractAccessPostServlet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#isShutdownGraceful--">isShutdownGraceful()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return whether or not the thread pool is configured to shutdown gracefully.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#isShutdownGraceful--">isShutdownGraceful()</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html#isShutdownGraceful--">isShutdownGraceful()</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads">ThreadPoolConfig</a></dt>
<dd>
<div class="block">Should this pool shutdown graceful.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#isSingleValueDescriptor-java.lang.String-">isSingleValueDescriptor(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#isSingleValueDescriptor-java.lang.String-">isSingleValueDescriptor(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#isSkipCheckin-org.apache.sling.api.SlingHttpServletRequest-">isSkipCheckin(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Check if checkin should be skipped</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#isSkipSessionHandling-org.apache.sling.api.SlingHttpServletRequest-">isSkipSessionHandling(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Check whether changes should be written back</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html#isSnapshot--">isSnapshot()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#isSnapshot--">isSnapshot()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#isSnapshot--">isSnapshot()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#isStandardDescriptor-java.lang.String-">isStandardDescriptor(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#isStandardDescriptor-java.lang.String-">isStandardDescriptor(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#isStarResource-org.apache.sling.api.resource.Resource-">isStarResource(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the resource <code>res</code> is a "star
 resource".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#isStopped--">isStopped()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">If a job is stoppable, it should periodically check this method
 and stop processing if the method return <code>true</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#isSuccessful--">isSuccessful()</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns <code>true</code> if no <a href="org/apache/sling/api/servlets/HtmlResponse.html#getError--"><code>error</code></a> is set and if
 the <a href="org/apache/sling/api/servlets/HtmlResponse.html#getStatusCode--"><code>status code</code></a> is one of the 2xx codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#isSuccessful--">isSuccessful()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Returns <code>true</code> if no <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getError--"><code>error</code></a> is set and if
 the <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#getStatusCode--"><code>status code</code></a> is one of the 2xx codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#isSuccessful--">isSuccessful()</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Returns <code>true</code> if no <a href="org/apache/sling/servlets/post/PostResponse.html#getError--"><code>error</code></a> is set and if
 the <a href="org/apache/sling/servlets/post/PostResponse.html#getStatusCode--"><code>status code</code></a> is one of the 2xx codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#isSuspended--">isSuspended()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Is the queue currently suspended?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#isSuspended--">isSuspended()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Is the processing currently suspended?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#isSyntheticResource-org.apache.sling.api.resource.Resource-">isSyntheticResource(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the resource <code>res</code> is a synthetic
 resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#isTidy--">isTidy()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Checks if the output is nicely formatted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html#isUsed--">isUsed()</a></span> - Method in interface org.apache.sling.commons.threads.jmx.<a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx">ThreadPoolMBean</a></dt>
<dd>
<div class="block">Return whether or not the thread pool is in use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/serviceusermapping/ServiceUserValidator.html#isValid-java.lang.String-java.lang.String-java.lang.String-">isValid(String, String, String)</a></span> - Method in interface org.apache.sling.serviceusermapping.<a href="org/apache/sling/serviceusermapping/ServiceUserValidator.html" title="interface in org.apache.sling.serviceusermapping">ServiceUserValidator</a></dt>
<dd>
<div class="block">Validates the configured service user ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#isValidateRequest-javax.servlet.http.HttpServletRequest-">isValidateRequest(HttpServletRequest)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the the client just asks for validation of
 submitted username/password credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#isValidateRequest-javax.servlet.http.HttpServletRequest-">isValidateRequest(HttpServletRequest)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#isValidateRequest-javax.servlet.http.HttpServletRequest-"><code>AuthUtil.isValidateRequest(HttpServletRequest)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#isVersionable-javax.jcr.Node-">isVersionable(Node)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_ABSOLUTE">ITEM_PREFIX_ABSOLUTE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Prefix for properties addressing repository items with an absolute path
 (value is "/").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_RELATIVE_CURRENT">ITEM_PREFIX_RELATIVE_CURRENT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Prefix for properties addressing repository items with a path relative to
 the current request item (value is "./").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_RELATIVE_PARENT">ITEM_PREFIX_RELATIVE_PARENT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Prefix for properties addressing repository items with a path relative to
 the parent of the request item (value is "../").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.html#iterator--">iterator()</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi">RankedServices</a></dt>
<dd>
<div class="block">Iterates all services registered in OSGi, sorted by service ranking.</div>
</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="org/apache/sling/commons/compiler/JavaCompiler.html" title="interface in org.apache.sling.commons.compiler"><span class="typeNameLink">JavaCompiler</span></a> - Interface in <a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a></dt>
<dd>
<div class="block">The <code>JavaCompiler</code> provides platform independant Java
 compilation support.</div>
</dd>
<dt><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource"><span class="typeNameLink">JcrModifiablePropertyMap</span></a> - Class in <a href="org/apache/sling/jcr/resource/package-summary.html">org.apache.sling.jcr.resource</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Resources should be adapted to a modifiable value map instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#JcrModifiablePropertyMap-javax.jcr.Node-">JcrModifiablePropertyMap(Node)</a></span> - Constructor for class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#JcrModifiablePropertyMap-javax.jcr.Node-java.lang.ClassLoader-">JcrModifiablePropertyMap(Node, ClassLoader)</a></span> - Constructor for class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructor</div>
</dd>
<dt><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource"><span class="typeNameLink">JcrPropertyMap</span></a> - Class in <a href="org/apache/sling/jcr/resource/package-summary.html">org.apache.sling.jcr.resource</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">A (JCR) resource should be adapted to a <a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><code>ValueMap</code></a>.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#JcrPropertyMap-javax.jcr.Node-">JcrPropertyMap(Node)</a></span> - Constructor for class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Create a new JCR property map based on a node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#JcrPropertyMap-javax.jcr.Node-java.lang.ClassLoader-">JcrPropertyMap(Node, ClassLoader)</a></span> - Constructor for class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Create a new JCR property map based on a node.</div>
</dd>
<dt><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource"><span class="typeNameLink">JcrResourceConstants</span></a> - Class in <a href="org/apache/sling/jcr/resource/package-summary.html">org.apache.sling.jcr.resource</a></dt>
<dd>
<div class="block">The <code>JcrResourceConstants</code> interface provides constant values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#JcrResourceConstants--">JcrResourceConstants()</a></span> - Constructor for class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/resource/JcrResourceResolverFactory.html" title="interface in org.apache.sling.jcr.resource"><span class="typeNameLink">JcrResourceResolverFactory</span></a> - Interface in <a href="org/apache/sling/jcr/resource/package-summary.html">org.apache.sling.jcr.resource</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Since 2.1. Use the
             <a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolverFactory</code></a></span></div>
</div>
</dd>
<dt><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource"><span class="typeNameLink">JcrResourceUtil</span></a> - Class in <a href="org/apache/sling/jcr/resource/package-summary.html">org.apache.sling.jcr.resource</a></dt>
<dd>
<div class="block">The <code>JcrResourceUtil</code> class provides helper methods used
 throughout this bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#JcrResourceUtil--">JcrResourceUtil()</a></span> - Constructor for class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#JNDI_PREFIX">JNDI_PREFIX</a></span> - Static variable in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">Prefix for JNDI Repository URLs</div>
</dd>
<dt><a href="org/apache/sling/commons/scheduler/Job.html" title="interface in org.apache.sling.commons.scheduler"><span class="typeNameLink">Job</span></a> - Interface in <a href="org/apache/sling/commons/scheduler/package-summary.html">org.apache.sling.commons.scheduler</a></dt>
<dd>
<div class="block">A job is executed by the <a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler"><code>Scheduler</code></a> service.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">Job</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">A job


 Property Types

 In general all scalar types and all serializable classes are supported as
 property types.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/Job.JobState.html" title="enum in org.apache.sling.event.jobs"><span class="typeNameLink">Job.JobState</span></a> - Enum in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">The current job state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#JOB_ID">JOB_ID</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobBuilder.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">JobBuilder</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">This is a builder interface to build jobs and scheduled jobs.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">JobBuilder.ScheduleBuilder</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">This is a builder interface for creating schedule information</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobConsumer</span></a> - Interface in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>
<div class="block">A job consumer consumes a job.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html" title="interface in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobConsumer.AsyncHandler</span></a> - Interface in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>
<div class="block">If the consumer decides to process the job asynchronously, this handler
 interface can be used to notify finished processing.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobConsumer.JobResult.html" title="enum in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobConsumer.JobResult</span></a> - Enum in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>
<div class="block">The result of the job processing.</div>
</dd>
<dt><a href="org/apache/sling/commons/scheduler/JobContext.html" title="interface in org.apache.sling.commons.scheduler"><span class="typeNameLink">JobContext</span></a> - Interface in <a href="org/apache/sling/commons/scheduler/package-summary.html">org.apache.sling.commons.scheduler</a></dt>
<dd>
<div class="block">The context for a <a href="org/apache/sling/commons/scheduler/Job.html" title="interface in org.apache.sling.commons.scheduler"><code>Job</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobExecutionContext</span></a> - Interface in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html" title="interface in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobExecutionContext.ResultBuilder</span></a> - Interface in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html" title="interface in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobExecutionResult</span></a> - Interface in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>
<div class="block">The status of a job after it has been processed by a <a href="org/apache/sling/event/jobs/consumer/JobExecutor.html" title="interface in org.apache.sling.event.jobs.consumer"><code>JobExecutor</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/JobExecutor.html" title="interface in org.apache.sling.event.jobs.consumer"><span class="typeNameLink">JobExecutor</span></a> - Interface in <a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a></dt>
<dd>
<div class="block">A job executor consumes a job.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">JobManager</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">The job manager is the heart of the job event handling.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobManager.QueryType.html" title="enum in org.apache.sling.event.jobs"><span class="typeNameLink">JobManager.QueryType</span></a> - Enum in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">The requested job types for the query.</div>
</dd>
<dt><a href="org/apache/sling/event/JobProcessor.html" title="interface in org.apache.sling.event"><span class="typeNameLink">JobProcessor</span></a> - Interface in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use org.apache.sling.event.jobs.JobProcessor</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobProcessor.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">JobProcessor</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer"><code>JobConsumer</code></a> interface instead.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobsIterator.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">JobsIterator</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/JobManager.html#findJobs-org.apache.sling.event.jobs.JobManager.QueryType-java.lang.String-long-java.util.Map...-"><code>JobManager.findJobs(org.apache.sling.event.jobs.JobManager.QueryType, java.lang.String, long, java.util.Map&lt;java.lang.String, java.lang.Object&gt;...)</code></a> methods instead.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/event/JobsIterator.html" title="interface in org.apache.sling.event"><span class="typeNameLink">JobsIterator</span></a> - Interface in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event"><span class="typeNameLink">JobStatusProvider</span></a> - Interface in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs"><span class="typeNameLink">JobUtil</span></a> - Class in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/JobUtil.JobPriority.html" title="enum in org.apache.sling.event.jobs"><span class="typeNameLink">JobUtil.JobPriority</span></a> - Enum in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#join-org.apache.sling.commons.json.JSONArray-java.lang.String-">join(JSONArray, String)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Make a string from the contents of this JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#join-java.lang.String-">join(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Make a string from the contents of this JSONArray 
 using <a href="org/apache/sling/commons/json/io/JSONRenderer.html#join-org.apache.sling.commons.json.JSONArray-java.lang.String-"><code>JSONRenderer.join(org.apache.sling.commons.json.JSONArray, java.lang.String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html#json">json</a></span> - Variable in class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json"><span class="typeNameLink">JSONArray</span></a> - Class in <a href="org/apache/sling/commons/json/package-summary.html">org.apache.sling.commons.json</a></dt>
<dd>
<div class="block">A JSONArray is an ordered sequence of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#JSONArray--">JSONArray()</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Construct an empty JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#JSONArray-org.apache.sling.commons.json.JSONTokener-">JSONArray(JSONTokener)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Construct a JSONArray from a JSONTokener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#JSONArray-java.lang.String-">JSONArray(String)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Construct a JSONArray from a source sJSON text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#JSONArray-java.util.Collection-">JSONArray(Collection&lt;?&gt;)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Construct a JSONArray from a Collection.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/JSONException.html" title="class in org.apache.sling.commons.json"><span class="typeNameLink">JSONException</span></a> - Exception in <a href="org/apache/sling/commons/json/package-summary.html">org.apache.sling.commons.json</a></dt>
<dd>
<div class="block">The JSONException is thrown by the JSON.org classes then things are amiss.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONException.html#JSONException-java.lang.String-">JSONException(String)</a></span> - Constructor for exception org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONException.html" title="class in org.apache.sling.commons.json">JSONException</a></dt>
<dd>
<div class="block">Constructs a JSONException with an explanatory message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONException.html#JSONException-java.lang.Throwable-">JSONException(Throwable)</a></span> - Constructor for exception org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONException.html" title="class in org.apache.sling.commons.json">JSONException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONException.html#JSONException-java.lang.String-java.lang.Throwable-">JSONException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONException.html" title="class in org.apache.sling.commons.json">JSONException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr"><span class="typeNameLink">JsonItemWriter</span></a> - Class in <a href="org/apache/sling/commons/json/jcr/package-summary.html">org.apache.sling.commons.json.jcr</a></dt>
<dd>
<div class="block">Dumps JCR Items as JSON data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#JsonItemWriter-java.util.Set-">JsonItemWriter(Set&lt;String&gt;)</a></span> - Constructor for class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Create a JsonItemWriter</div>
</dd>
<dt><a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html" title="class in org.apache.sling.commons.json.jcr"><span class="typeNameLink">JsonJcrNode</span></a> - Class in <a href="org/apache/sling/commons/json/jcr/package-summary.html">org.apache.sling.commons.json.jcr</a></dt>
<dd>
<div class="block">This class makes it easy to create a JSON object out of a JCR node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html#JsonJcrNode-javax.jcr.Node-">JsonJcrNode(Node)</a></span> - Constructor for class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html" title="class in org.apache.sling.commons.json.jcr">JsonJcrNode</a></dt>
<dd>
<div class="block">Creates a JSONObject out of <code>node</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html#JsonJcrNode-javax.jcr.Node-java.util.Set-">JsonJcrNode(Node, Set&lt;String&gt;)</a></span> - Constructor for class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonJcrNode.html" title="class in org.apache.sling.commons.json.jcr">JsonJcrNode</a></dt>
<dd>
<div class="block">Creates a <code>JSONObject</code> out of <code>node</code>.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json"><span class="typeNameLink">JSONObject</span></a> - Class in <a href="org/apache/sling/commons/json/package-summary.html">org.apache.sling.commons.json</a></dt>
<dd>
<div class="block">A JSONObject is an unordered collection of name/value pairs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#JSONObject--">JSONObject()</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Construct an empty JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#JSONObject-org.apache.sling.commons.json.JSONObject-java.lang.String:A-">JSONObject(JSONObject, String[])</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Construct a JSONObject from a subset of another JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#JSONObject-org.apache.sling.commons.json.JSONTokener-">JSONObject(JSONTokener)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Construct a JSONObject from a JSONTokener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#JSONObject-java.util.Map-">JSONObject(Map&lt;String, ?&gt;)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Construct a JSONObject from a Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#JSONObject-java.lang.Object-java.lang.String:A-">JSONObject(Object, String[])</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Construct a JSONObject from an Object, using reflection to find the
 public members.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#JSONObject-java.lang.String-">JSONObject(String)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Construct a JSONObject from a string.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/sling/JsonObjectCreator.html" title="class in org.apache.sling.commons.json.sling"><span class="typeNameLink">JsonObjectCreator</span></a> - Class in <a href="org/apache/sling/commons/json/sling/package-summary.html">org.apache.sling.commons.json.sling</a></dt>
<dd>
<div class="block">Creates a JSONObject from a resource</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/JsonObjectCreator.html#JsonObjectCreator--">JsonObjectCreator()</a></span> - Constructor for class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/JsonObjectCreator.html" title="class in org.apache.sling.commons.json.sling">JsonObjectCreator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io"><span class="typeNameLink">JSONRenderer</span></a> - Class in <a href="org/apache/sling/commons/json/io/package-summary.html">org.apache.sling.commons.json.io</a></dt>
<dd>
<div class="block">Various JSON-to-String primitives, used by other classes
  when outputting/formatting JSON.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#JSONRenderer--">JSONRenderer()</a></span> - Constructor for class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io"><span class="typeNameLink">JSONRenderer.Options</span></a> - Class in <a href="org/apache/sling/commons/json/io/package-summary.html">org.apache.sling.commons.json.io</a></dt>
<dd>
<div class="block">Rendering options</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">JSONResponse</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>JSONResponse</code> is an <a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post"><code>AbstractPostResponse</code></a> preparing
 the response in JSON.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#JSONResponse--">JSONResponse()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/JSONResponse.JSONResponseException.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">JSONResponse.JSONResponseException</span></a> - Exception in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.JSONResponseException.html#JSONResponseException-java.lang.String-java.lang.Throwable-">JSONResponseException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.JSONResponseException.html" title="class in org.apache.sling.servlets.post">JSONResponse.JSONResponseException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.JSONResponseException.html#JSONResponseException-java.lang.Throwable-">JSONResponseException(Throwable)</a></span> - Constructor for exception org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.JSONResponseException.html" title="class in org.apache.sling.servlets.post">JSONResponse.JSONResponseException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/JSONString.html" title="interface in org.apache.sling.commons.json"><span class="typeNameLink">JSONString</span></a> - Interface in <a href="org/apache/sling/commons/json/package-summary.html">org.apache.sling.commons.json</a></dt>
<dd>
<div class="block">The <code>JSONString</code> interface allows a <code>toJSONString()</code>
 method so that a class can change the behavior of
 <code>JSONObject.toString()</code>, <code>JSONArray.toString()</code>,
 and <code>JSONWriter.value(</code>Object<code>)</code>.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/io/JSONStringer.html" title="class in org.apache.sling.commons.json.io"><span class="typeNameLink">JSONStringer</span></a> - Class in <a href="org/apache/sling/commons/json/io/package-summary.html">org.apache.sling.commons.json.io</a></dt>
<dd>
<div class="block">JSONStringer provides a quick and convenient way of producing JSON text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONStringer.html#JSONStringer--">JSONStringer()</a></span> - Constructor for class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONStringer.html" title="class in org.apache.sling.commons.json.io">JSONStringer</a></dt>
<dd>
<div class="block">Make a fresh JSONStringer.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json"><span class="typeNameLink">JSONTokener</span></a> - Class in <a href="org/apache/sling/commons/json/package-summary.html">org.apache.sling.commons.json</a></dt>
<dd>
<div class="block">A JSONTokener takes a source string and extracts characters and tokens from
 it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#JSONTokener-java.lang.String-">JSONTokener(String)</a></span> - Constructor for class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Construct a JSONTokener from a string.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io"><span class="typeNameLink">JSONWriter</span></a> - Class in <a href="org/apache/sling/commons/json/io/package-summary.html">org.apache.sling.commons.json.io</a></dt>
<dd>
<div class="block">JSONWriter provides a quick and convenient way of producing JSON text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#JSONWriter-java.io.Writer-">JSONWriter(Writer)</a></span> - Constructor for class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Make a fresh JSONWriter.</div>
</dd>
</dl>
<a name="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#key-java.lang.String-">key(String)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Append a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_ADDITIONAL_CLASS_LOADER">KEY_ADDITIONAL_CLASS_LOADER</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key for the additional class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_CLASS_LOADER">KEY_CLASS_LOADER</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key for the class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_CLASS_LOADER_WRITER">KEY_CLASS_LOADER_WRITER</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key for the class loader writer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_FORCE_COMPILATION">KEY_FORCE_COMPILATION</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key to force the compilation - even if the class files are more recent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_GENERATE_DEBUG_INFO">KEY_GENERATE_DEBUG_INFO</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key for the generate debug info flag.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_IGNORE_WARNINGS">KEY_IGNORE_WARNINGS</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key to ignore warnings - if this option is turned on, the
 resulting compilation result does not get the warnings issued
 by the compiler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_SOURCE_VERSION">KEY_SOURCE_VERSION</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key for the source version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#KEY_TARGET_VERSION">KEY_TARGET_VERSION</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">The key for the target version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#keys--">keys()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an enumeration of the keys of the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#keys--">keys()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#keySet--">keySet()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#keySet--">keySet()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#keySet--">keySet()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#keySet--">keySet()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#keySet--">keySet()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QueriableResourceProvider.html#LANGUAGES">LANGUAGES</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QueriableResourceProvider.html" title="interface in org.apache.sling.api.resource">QueriableResourceProvider</a></dt>
<dd>
<div class="block">The name of the service registration property containing the supported
 languages of the resource provider (value is "provider.query.languages").</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/shared/Launcher.html" title="interface in org.apache.sling.launchpad.base.shared"><span class="typeNameLink">Launcher</span></a> - Interface in <a href="org/apache/sling/launchpad/base/shared/package-summary.html">org.apache.sling.launchpad.base.shared</a></dt>
<dd>
<div class="block">The <code>Launcher</code> interface is implemented by the delegate classes
 inside the Launcher JAR and are used by the actual Main class or servlet to
 configure and start the framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#LAUNCHER_JAR_REL_PATH">LAUNCHER_JAR_REL_PATH</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the file providing the Launcher JAR.</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/shared/LauncherClassLoader.html" title="class in org.apache.sling.launchpad.base.shared"><span class="typeNameLink">LauncherClassLoader</span></a> - Class in <a href="org/apache/sling/launchpad/base/shared/package-summary.html">org.apache.sling.launchpad.base.shared</a></dt>
<dd>
<div class="block">The <code>LauncherClassLoader</code> extends the standard Java VM
 <code>URLClassLoader</code> such, that classes and resources which are
 contained in the launcher JAR File are never looked up in the parent class
 loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#length--">length()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the number of elements in the JSONArray, included nulls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#length--">length()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get the number of keys stored in the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResource.html#listChildren--">listChildren()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResource.html" title="class in org.apache.sling.api.resource">AbstractResource</a></dt>
<dd>
<div class="block">Returns an iterator on the direct child resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#listChildren--">listChildren()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">Returns an iterator of the direct children of this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#listChildren-org.apache.sling.api.resource.Resource-">listChildren(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">Returns an <code>Iterator</code> of <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> objects loaded from
 the children of the given <code>Resource</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#listChildren-org.apache.sling.api.resource.Resource-">listChildren(Resource)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns an <code>Iterator</code> of <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> objects loaded from
 the children of the given <code>Resource</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#listChildren-org.apache.sling.api.resource.Resource-">listChildren(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since 2.1.0, use <a href="org/apache/sling/api/resource/Resource.html#listChildren--"><code>Resource.listChildren()</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#listChildren--">listChildren()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns the value of calling <code>listChildren</code> on the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/LauncherClassLoader.html#loadClass-java.lang.String-boolean-">loadClass(String, boolean)</a></span> - Method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/LauncherClassLoader.html" title="class in org.apache.sling.launchpad.base.shared">LauncherClassLoader</a></dt>
<dd>
<div class="block">Load the name class and optionally resolve it, if found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/CompilationResult.html#loadCompiledClass-java.lang.String-">loadCompiledClass(String)</a></span> - Method in interface org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/CompilationResult.html" title="interface in org.apache.sling.commons.compiler">CompilationResult</a></dt>
<dd>
<div class="block">Try to load the compiled class.</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared"><span class="typeNameLink">Loader</span></a> - Class in <a href="org/apache/sling/launchpad/base/shared/package-summary.html">org.apache.sling.launchpad.base.shared</a></dt>
<dd>
<div class="block">The <code>Loader</code> class provides utility methods for the actual
 launchers to help launching the framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Loader.html#Loader-java.io.File-">Loader(File)</a></span> - Constructor for class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared">Loader</a></dt>
<dd>
<div class="block">Creates a loader instance to load from the given launchpad home folder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Loader.html#loadLauncher-java.lang.String-">loadLauncher(String)</a></span> - Method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared">Loader</a></dt>
<dd>
<div class="block">Creates an URLClassLoader from a _launcher JAR_ file in the given
 launchpadHome directory and loads and returns the launcher class
 identified by the launcherClassName.</div>
</dd>
<dt><a href="org/apache/sling/i18n/LocaleResolver.html" title="interface in org.apache.sling.i18n"><span class="typeNameLink">LocaleResolver</span></a> - Interface in <a href="org/apache/sling/i18n/package-summary.html">org.apache.sling.i18n</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">The <a href="org/apache/sling/i18n/RequestLocaleResolver.html" title="interface in org.apache.sling.i18n"><code>RequestLocaleResolver</code></a> should be used instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#lock--">lock()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Make this object read-only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#log-java.lang.String-">log(String)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Creates an entry with the given message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#log-java.lang.String-java.lang.Object...-">log(String, Object...)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Creates an entry with a message constructed from the given
 <code>MessageFormat</code> format evaluated using the given formatting
 arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#LOG">LOG</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing a logger which may be
 used for logging purposes (value is "log").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#log-java.lang.String-java.lang.Object...-">log(String, Object...)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">Log a message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallationContext.html#log-java.lang.String-java.lang.Object...-">log(String, Object...)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallationContext.html" title="interface in org.apache.sling.installer.api.tasks">InstallationContext</a></dt>
<dd>
<div class="block">Make an entry into the audit log - this should be invoked
 by the tasks whenever something has been installed/uninstalled etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#log-int-java.lang.String-">log(int, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#log-int-java.lang.String-java.lang.Throwable-">log(int, String, Throwable)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#log-int-java.lang.String-java.lang.Throwable-">log(int, String, Throwable)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Logs a message with optional <code>Throwable</code> stack trace to the
 log service or <code>stderr</code> if no log service is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#log">log</a></span> - Variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">default log</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/auth/Authenticator.html#login-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">login(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.api.auth.<a href="org/apache/sling/api/auth/Authenticator.html" title="interface in org.apache.sling.api.auth">Authenticator</a></dt>
<dd>
<div class="block">Tries to login a request user for the current request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/Authenticator.html#login-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">login(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/Authenticator.html" title="interface in org.apache.sling.engine.auth">Authenticator</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Finds an <a href="org/apache/sling/engine/auth/AuthenticationHandler.html" title="interface in org.apache.sling.engine.auth"><code>AuthenticationHandler</code></a> for the given request and call its
 <a href="org/apache/sling/engine/auth/AuthenticationHandler.html#requestAuthentication-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.requestAuthentication(HttpServletRequest, HttpServletResponse)</code></a>
 method to initiate an authentication process with the client to login to
 Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#login--">login()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Logs in as an anonymous user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#login-javax.jcr.Credentials-">login(Credentials)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#login-java.lang.String-">login(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#login-javax.jcr.Credentials-java.lang.String-">login(Credentials, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#login--">login()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Same as calling <code>login(null, null)</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#login-javax.jcr.Credentials-">login(Credentials)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Same as calling <code>login(credentials, null)</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#login-java.lang.String-">login(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Same as calling <code>login(null, workspace)</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#login-javax.jcr.Credentials-java.lang.String-">login(Credentials, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Logs into the repository at the given <code>workspace</code> with the given
 <code>credentials</code> and returns the session returned from
 the repository.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/auth/Authenticator.html#LOGIN_RESOURCE">LOGIN_RESOURCE</a></span> - Static variable in interface org.apache.sling.api.auth.<a href="org/apache/sling/api/auth/Authenticator.html" title="interface in org.apache.sling.api.auth">Authenticator</a></dt>
<dd>
<div class="block">Name of the request attribute which may be set by the application to
 indicate to the <a href="org/apache/sling/api/auth/Authenticator.html#login-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>Authenticator.login(HttpServletRequest, HttpServletResponse)</code></a>
 method to which resource access should actually be authenticated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/SlingRepository.html#loginAdministrative-java.lang.String-">loginAdministrative(String)</a></span> - Method in interface org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/SlingRepository.html" title="interface in org.apache.sling.jcr.api">SlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of 2.2 (bundle version 2.2.0) because of inherent security
             issues. Services requiring specific permissions should use
             the <a href="org/apache/sling/jcr/api/SlingRepository.html#loginService-java.lang.String-java.lang.String-"><code>SlingRepository.loginService(String, String)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#loginAdministrative-java.lang.String-">loginAdministrative(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#loginAdministrative-java.lang.String-">loginAdministrative(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Login as an administrative user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#loginAdministrativeInternal-java.lang.String-">loginAdministrativeInternal(String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Actual (unprotected) implementation of administrative login.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/LoginException.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">LoginException</span></a> - Exception in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">Exception thrown by
 <code><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getAdministrativeResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getAdministrativeResourceResolver(java.util.Map)</code></a></code>
 ,
 <code><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getResourceResolver(java.util.Map)</code></a></code>
 , and <code><a href="org/apache/sling/api/resource/ResourceResolver.html#clone-java.util.Map-"><code>ResourceResolver.clone(java.util.Map)</code></a></code> if a resource
 resolver cannot be created because the credential data is not valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/LoginException.html#LoginException--">LoginException()</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/LoginException.html" title="class in org.apache.sling.api.resource">LoginException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with <code>null</code> as its
 detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/LoginException.html#LoginException-java.lang.String-">LoginException(String)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/LoginException.html" title="class in org.apache.sling.api.resource">LoginException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with the specified detail
 message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/LoginException.html#LoginException-java.lang.String-java.lang.Throwable-">LoginException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/LoginException.html" title="class in org.apache.sling.api.resource">LoginException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with the specified detail message
 and root cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/LoginException.html#LoginException-java.lang.Throwable-">LoginException(Throwable)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/LoginException.html" title="class in org.apache.sling.api.resource">LoginException</a></dt>
<dd>
<div class="block">Constructs a new instance of this class with the specified root cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/SlingRepository.html#loginService-java.lang.String-java.lang.String-">loginService(String, String)</a></span> - Method in interface org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/SlingRepository.html" title="interface in org.apache.sling.jcr.api">SlingRepository</a></dt>
<dd>
<div class="block">Returns a session to the given workspace with privileges assigned to the
 service provided by the calling bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#loginService-java.lang.String-java.lang.String-">loginService(String, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This method always throws <code>LoginException</code> because it does
 not directly have the calling bundle at its disposition to decide
 on the required service name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#loginService-java.lang.String-java.lang.String-">loginService(String, String)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository2</a></dt>
<dd>
<div class="block">Actual implementation of the <a href="org/apache/sling/jcr/base/AbstractSlingRepository2.html#loginService-java.lang.String-java.lang.String-"><code>AbstractSlingRepository2.loginService(String, String)</code></a> method
 taking into account the bundle calling this method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/auth/Authenticator.html#logout-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">logout(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.api.auth.<a href="org/apache/sling/api/auth/Authenticator.html" title="interface in org.apache.sling.api.auth">Authenticator</a></dt>
<dd>
<div class="block">Logs out if the current request is authenticated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#logTimer-java.lang.String-">logTimer(String)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Logs an entry with the message set to the name of the timer and the
 number of milliseconds elapsed since the timer start.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#logTimer-java.lang.String-java.lang.String-java.lang.Object...-">logTimer(String, String, Object...)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Logs an entry with the message constructed from the given
 <code>MessageFormat</code> pattern evaluated using the given arguments
 and the number of milliseconds elapsed since the timer start.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#LT">LT</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '<'.</div>
</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app"><span class="typeNameLink">Main</span></a> - Class in <a href="org/apache/sling/launchpad/app/package-summary.html">org.apache.sling.launchpad.app</a></dt>
<dd>
<div class="block">The <code>Main</code> is the externally visible Standalone Java Application
 launcher for Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#Main-java.util.Map-">Main(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">Creates an instance of this main loader class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">The main entry point to the Sling Launcher Standalone Java Application.</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app"><span class="typeNameLink">MainDelegate</span></a> - Class in <a href="org/apache/sling/launchpad/base/app/package-summary.html">org.apache.sling.launchpad.base.app</a></dt>
<dd>
<div class="block">The <code>Main</code> class is a simple Java Application which interprests
 the command line and creates the <code>Sling</code> launcher class and thus starts
 the OSGi framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/app/MainDelegate.html#MainDelegate--">MainDelegate()</a></span> - Constructor for class org.apache.sling.launchpad.base.app.<a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app">MainDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/osgi/ManifestHeader.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">ManifestHeader</span></a> - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">This is a helper class to parse manifest header entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.html#ManifestHeader--">ManifestHeader()</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.html" title="class in org.apache.sling.commons.osgi">ManifestHeader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/osgi/ManifestHeader.Entry.html" title="interface in org.apache.sling.commons.osgi"><span class="typeNameLink">ManifestHeader.Entry</span></a> - Interface in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">A header can have several entries separated by comma.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">ManifestHeader.NameValuePair</span></a> - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">Directives and attributes are simple name/value pairs.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">ManifestHeader.PathImpl</span></a> - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#map-java.lang.String-">map(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns a path mapped from the (resource) path applying the reverse
 mapping used by the <a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-java.lang.String-"><code>ResourceResolver.resolve(String)</code></a> such that when the path is
 given to the <a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-java.lang.String-"><code>ResourceResolver.resolve(String)</code></a> method the same resource is
 returned.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#map-javax.servlet.http.HttpServletRequest-java.lang.String-">map(HttpServletRequest, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Returns an URL mapped from the (resource) path applying the reverse
 mapping used by the <a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-"><code>ResourceResolver.resolve(HttpServletRequest, String)</code></a> such
 that when the path is given to the
 <a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-"><code>ResourceResolver.resolve(HttpServletRequest, String)</code></a> method the same resource is
 returned.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#mayService-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">mayService(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>
<div class="block">Tries to handle the request by calling a Java method implemented for the
 respective HTTP request method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#mayService-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">mayService(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Tries to handle the request by calling a Java method implemented for the
 respective HTTP request method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html#message-java.lang.String-">message(String)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext.ResultBuilder</a></dt>
<dd>
<div class="block">Add an optional processing message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_CONNECT">METHOD_CONNECT</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_DELETE">METHOD_DELETE</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_GET">METHOD_GET</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_HEAD">METHOD_HEAD</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_OPTIONS">METHOD_OPTIONS</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_POST">METHOD_POST</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_PUT">METHOD_PUT</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HttpConstants.html#METHOD_TRACE">METHOD_TRACE</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HttpConstants.html" title="class in org.apache.sling.api.servlets">HttpConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/mime/MimeTypeProvider.html" title="interface in org.apache.sling.commons.mime"><span class="typeNameLink">MimeTypeProvider</span></a> - Interface in <a href="org/apache/sling/commons/mime/package-summary.html">org.apache.sling.commons.mime</a></dt>
<dd>
<div class="block">The <code>MimeTypeProvider</code> interface defines an API for services
 which are asked for MIME type mappings for unknown MIME types or extensions.</div>
</dd>
<dt><a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime"><span class="typeNameLink">MimeTypeService</span></a> - Interface in <a href="org/apache/sling/commons/mime/package-summary.html">org.apache.sling.commons.mime</a></dt>
<dd>
<div class="block">The <code>MimeTypeService</code> defines the service applications can call to
 resolve file names to MIME types and derive default file name extensions from
 MIME types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#MIN_POLL">MIN_POLL</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The minimum number of seconds allowed for any of the two poll times</div>
</dd>
<dt><a href="org/apache/sling/models/factory/MissingElementException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">MissingElementException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Exception which is used whenever one element (field, method or constructor) could not be set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementException.html#MissingElementException-java.lang.reflect.AnnotatedElement-java.lang.Throwable-">MissingElementException(AnnotatedElement, Throwable)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementException.html" title="class in org.apache.sling.models.factory">MissingElementException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/factory/MissingElementsException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">MissingElementsException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Exception which is triggered whenever a Sling Model cannot be instantiated
 due to some missing elements (i.e.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/MissingElementsException.html#MissingElementsException-java.lang.String-">MissingElementsException(String)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/MissingElementsException.html" title="class in org.apache.sling.models.factory">MissingElementsException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#mode">mode</a></span> - Variable in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">The current mode.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/Model.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Model</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Mark a class as adaptable via Sling Models.</div>
</dd>
<dt><a href="org/apache/sling/models/factory/ModelClassException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">ModelClassException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Exception which is triggered when the Model class could not be instantiated due to
 not having a model annotation, some reflection error, invalid constructors or 
 because some exception within the post construct method was triggered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ModelClassException.html#ModelClassException-java.lang.String-">ModelClassException(String)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ModelClassException.html" title="class in org.apache.sling.models.factory">ModelClassException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ModelClassException.html#ModelClassException-java.lang.String-java.lang.Throwable-">ModelClassException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ModelClassException.html" title="class in org.apache.sling.models.factory">ModelClassException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/factory/ModelFactory.html" title="interface in org.apache.sling.models.factory"><span class="typeNameLink">ModelFactory</span></a> - Interface in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">The ModelFactory instantiates Sling Model classes similar to #adaptTo but will throw an exception in case
 instantiation fails for some reason.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/ModelValidation.html" title="interface in org.apache.sling.models.spi"><span class="typeNameLink">ModelValidation</span></a> - Interface in <a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads"><span class="typeNameLink">ModifiableThreadPoolConfig</span></a> - Class in <a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a></dt>
<dd>
<div class="block">This is a modifiable thread pool configuration that can be instantiated
 and then configured to create a new thread pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#ModifiableThreadPoolConfig--">ModifiableThreadPoolConfig()</a></span> - Constructor for class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Create a new default configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#ModifiableThreadPoolConfig-org.apache.sling.commons.threads.ThreadPoolConfig-">ModifiableThreadPoolConfig(ThreadPoolConfig)</a></span> - Constructor for class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Clone an existing configuration</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ModifiableValueMap.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ModifiableValueMap</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ModifiableValueMap</code> is an extension
 of the <a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><code>ValueMap</code></a> which allows to modify and
 persist properties.</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/ModifiableValueMapDecorator.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">ModifiableValueMapDecorator</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block"><code>ModifiableValueMapDecorator</code> decorates another <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>
 to provide a basic implementation for the additional methods
 of a <a href="org/apache/sling/api/resource/ModifiableValueMap.html" title="interface in org.apache.sling.api.resource"><code>ModifiableValueMap</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ModifiableValueMapDecorator.html#ModifiableValueMapDecorator-java.util.Map-">ModifiableValueMapDecorator(Map&lt;String, Object&gt;)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ModifiableValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ModifiableValueMapDecorator</a></dt>
<dd>
<div class="block">Creates a new wrapper around a given map.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">Modification</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#Modification-org.apache.sling.servlets.post.ModificationType-java.lang.String-java.lang.String-">Modification(ModificationType, String, String)</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#MODIFICATION_TIME">MODIFICATION_TIME</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns the last modification time of this resource in the repository in
 milliseconds (value is "sling.modificationTime").</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/ModificationType.html" title="enum in org.apache.sling.servlets.post"><span class="typeNameLink">ModificationType</span></a> - Enum in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html#modifiedService-org.osgi.framework.ServiceReference-java.lang.Object-">modifiedService(ServiceReference, Object)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi">SortingServiceTracker</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/ModifyAce.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager"><span class="typeNameLink">ModifyAce</span></a> - Interface in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a></dt>
<dd>
<div class="block">The <code>ModifyAce</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/ModifyAce.html#modifyAce-javax.jcr.Session-java.lang.String-java.lang.String-java.util.Map-java.lang.String-">modifyAce(Session, String, String, Map&lt;String, String&gt;, String)</a></span> - Method in interface org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/ModifyAce.html" title="interface in org.apache.sling.jcr.jackrabbit.accessmanager">ModifyAce</a></dt>
<dd>
<div class="block">Add or modify the access control entry for the specified user 
 or group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html#modifyAce-javax.jcr.Session-java.lang.String-java.lang.String-java.util.Map-java.lang.String-">modifyAce(Session, String, String, Map&lt;String, String&gt;, String)</a></span> - Method in class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">ModifyAceServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post"><span class="typeNameLink">ModifyAceServlet</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a></dt>
<dd>
<div class="block">
 Sling Post Servlet implementation for modifying the ACEs for a principal on a JCR
 resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html#ModifyAceServlet--">ModifyAceServlet()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.post.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager.post">ModifyAceServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/ModifyingResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ModifyingResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">A modifying resource provider is an extension of a resource provider which
 is only supported if the resource provider has been created through
 a <a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource"><code>ResourceProviderFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#monthly-int-int-int-">monthly(int, int, int)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job monthly, the time needs to be specified in addition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#more--">more()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Determine if the source string still contains characters that next()
 can consume.</div>
</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html#name-java.lang.String-">name(String)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler">ScheduleOptions</a></dt>
<dd>
<div class="block">Sets the name of the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/SlingRequestProcessor.html#NAME">NAME</a></span> - Static variable in interface org.apache.sling.engine.<a href="org/apache/sling/engine/SlingRequestProcessor.html" title="interface in org.apache.sling.engine">SlingRequestProcessor</a></dt>
<dd>
<div class="block">The name of the <code>SlingRequestProcessor</code> service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#names--">names()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Produce a JSONArray containing the names of the elements of this
 JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#NAMESPACE_PREFIX">NAMESPACE_PREFIX</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The namespace prefix used throughout Sling (value is "sling").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#NAMESPACE_URI_ROOT">NAMESPACE_URI_ROOT</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The namespace URI prefix to be used by Sling projects to define
 namespaces (value is "http://sling.apache.org/").</div>
</dd>
<dt><a href="org/apache/sling/jcr/api/NamespaceMapper.html" title="interface in org.apache.sling.jcr.api"><span class="typeNameLink">NamespaceMapper</span></a> - Interface in <a href="org/apache/sling/jcr/api/package-summary.html">org.apache.sling.jcr.api</a></dt>
<dd>
<div class="block">This interface is used to customize the namespace mapping of
 a session.</div>
</dd>
<dt><a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">NamespaceMappingSupport</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of API version 2.4 (bundle version 2.3)</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html#NamespaceMappingSupport--">NamespaceMappingSupport()</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base">NamespaceMappingSupport</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html#NameValuePair-java.lang.String-java.lang.String-">NameValuePair(String, String)</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.NameValuePair.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.NameValuePair</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#NEW_PASSWORD">NEW_PASSWORD</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Name of the authentication information property providing the new password of
 the user for which to create a resource resolver and change the password during login.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#next--">next()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the next character in the source string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#next-char-">next(char)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Consume the next character, and check that it matches a specified
 character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#next-int-">next(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the next n characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#nextCDATA--">nextCDATA()</a></span> - Method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">Get the text in the CDATA block.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#nextClean--">nextClean()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the next char in the string, skipping whitespace
 and comments (slashslash, slashstar, and hash).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#nextContent--">nextContent()</a></span> - Method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">Get the next XML outer token, trimming whitespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#nextEntity-char-">nextEntity(char)</a></span> - Method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">Return the next entity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#nextMeta--">nextMeta()</a></span> - Method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">Returns the next XML meta token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#nextString-char-">nextString(char)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Return the characters up to the next close quote character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#nextTo-char-">nextTo(char)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the text up but not including the specified character or the
 end of line, whichever comes first.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#nextTo-java.lang.String-">nextTo(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the text up but not including one of the specified delimeter
 characters or the end of line, whichever comes first.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/HTTPTokener.html#nextToken--">nextToken()</a></span> - Method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/HTTPTokener.html" title="class in org.apache.sling.commons.json.http">HTTPTokener</a></dt>
<dd>
<div class="block">Get the next token or string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#nextToken--">nextToken()</a></span> - Method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">Get the next XML Token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#nextValue--">nextValue()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Get the next value.</div>
</dd>
<dt><a href="org/apache/sling/api/auth/NoAuthenticationHandlerException.html" title="class in org.apache.sling.api.auth"><span class="typeNameLink">NoAuthenticationHandlerException</span></a> - Exception in <a href="org/apache/sling/api/auth/package-summary.html">org.apache.sling.api.auth</a></dt>
<dd>
<div class="block">The <code>NoAuthenticationHandlerException</code> is thrown to indicate that
 the
 <a href="org/apache/sling/api/auth/Authenticator.html#login-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>Authenticator.login(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)</code></a>
 method could not find a way to authenticate the request user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/auth/NoAuthenticationHandlerException.html#NoAuthenticationHandlerException--">NoAuthenticationHandlerException()</a></span> - Constructor for exception org.apache.sling.api.auth.<a href="org/apache/sling/api/auth/NoAuthenticationHandlerException.html" title="class in org.apache.sling.api.auth">NoAuthenticationHandlerException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/auth/NoAuthenticationHandlerException.html" title="class in org.apache.sling.engine.auth"><span class="typeNameLink">NoAuthenticationHandlerException</span></a> - Exception in <a href="org/apache/sling/engine/auth/package-summary.html">org.apache.sling.engine.auth</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">see <a href="org/apache/sling/engine/auth/Authenticator.html" title="interface in org.apache.sling.engine.auth"><code>Authenticator</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/NoAuthenticationHandlerException.html#NoAuthenticationHandlerException--">NoAuthenticationHandlerException()</a></span> - Constructor for exception org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/NoAuthenticationHandlerException.html" title="class in org.apache.sling.engine.auth">NoAuthenticationHandlerException</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/NodeNameGenerator.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">NodeNameGenerator</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">Service interface which allows for custom node name generation for * resources.</div>
</dd>
<dt><a href="org/apache/sling/jcr/base/NodeTypeLoader.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">NodeTypeLoader</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block">The <code>NodeTypeSupport</code> contains utility methods to register node
 types from a <a href="http://jackrabbit.apache.org/doc/nodetype/cnd.html">CND
 nodetype definition</a> file given as an URL or InputStream with the
 repository.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NodeTypeLoader.html#NodeTypeLoader--">NodeTypeLoader()</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NodeTypeLoader.html" title="class in org.apache.sling.jcr.base">NodeTypeLoader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/NonExistingResource.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">NonExistingResource</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">Simple helper class representing nonexisting resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/NonExistingResource.html#NonExistingResource-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">NonExistingResource(ResourceResolver, String)</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/NonExistingResource.html" title="class in org.apache.sling.api.resource">NonExistingResource</a></dt>
<dd>
<div class="block">Create a new non existing resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#NOPSTATUS_VALUE_DEFAULT">NOPSTATUS_VALUE_DEFAULT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">The default response status sent back by a <a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_NOP"><code>SlingPostConstants.OPERATION_NOP</code></a> if the
 <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_NOP_STATUS"><code>SlingPostConstants.RP_NOP_STATUS</code></a> parameter is not provided or the parameter value
 cannot be converted into a valid response status code (value is 200).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#normalize-java.lang.String-">normalize(String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Resolves relative path segments '.' and '..' in the absolute path.</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/shared/Notifiable.html" title="interface in org.apache.sling.launchpad.base.shared"><span class="typeNameLink">Notifiable</span></a> - Interface in <a href="org/apache/sling/launchpad/base/shared/package-summary.html">org.apache.sling.launchpad.base.shared</a></dt>
<dd>
<div class="block">The <code>Notifiable</code> interface is implemented by the real main class
 and Sling Servlet for them to be notified from the launcher JAR when the
 framework has been stopped or updated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#NOTIFICATION_PROPERTY_JOB_ID">NOTIFICATION_PROPERTY_JOB_ID</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use NotificationConstants#NOTIFICATION_PROPERTY_JOB_ID</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#NOTIFICATION_PROPERTY_JOB_ID">NOTIFICATION_PROPERTY_JOB_ID</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Property containing the unique job ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#NOTIFICATION_PROPERTY_JOB_NAME">NOTIFICATION_PROPERTY_JOB_NAME</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#NOTIFICATION_PROPERTY_JOB_TOPIC">NOTIFICATION_PROPERTY_JOB_TOPIC</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use NotificationConstants#NOTIFICATION_PROPERTY_JOB_TOPIC</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#NOTIFICATION_PROPERTY_JOB_TOPIC">NOTIFICATION_PROPERTY_JOB_TOPIC</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Property containing the job topic.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs"><span class="typeNameLink">NotificationConstants</span></a> - Class in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">This class contains constants for event notifications.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#NOW--">NOW()</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Create a schedule options to fire a job immediately and only once.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#NOW-int-long-">NOW(int, long)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Create a schedule options to fire a job immediately more than once.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#NT_SLING_CHUNK_MIXIN">NT_SLING_CHUNK_MIXIN</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Constant for the sling:chunks mixin.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#NT_SLING_CHUNK_NODETYPE">NT_SLING_CHUNK_NODETYPE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Constant for the sling:chunk node type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#NT_SLING_CHUNK_OFFSET">NT_SLING_CHUNK_OFFSET</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Constant for the sling:offset property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#NT_SLING_CHUNKS_LENGTH">NT_SLING_CHUNKS_LENGTH</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Constant for the sling:length property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#NT_SLING_FILE_LENGTH">NT_SLING_FILE_LENGTH</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Constant for the sling:fileLength property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#NT_SLING_FOLDER">NT_SLING_FOLDER</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">Constant for the sling:Folder node type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#NT_SLING_ORDERED_FOLDER">NT_SLING_ORDERED_FOLDER</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">Constant for the sling:OrderedFolder node type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#NULL">NULL</a></span> - Static variable in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">It is sometimes more convenient and less ambiguous to have a
 <code>NULL</code> object than to use Java's <code>null</code> value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#numberToString-java.lang.Number-">numberToString(Number)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Produce a string from a Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#numberToString-java.lang.Number-">numberToString(Number)</a></span> - Static method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Produce a string from a Number.</div>
</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/sling/oak/server/OakSlingRepository.html" title="class in org.apache.sling.oak.server"><span class="typeNameLink">OakSlingRepository</span></a> - Class in <a href="org/apache/sling/oak/server/package-summary.html">org.apache.sling.oak.server</a></dt>
<dd>
<div class="block">A Sling repository implementation that wraps the Oak OSGi repository
 implementation from the Oak project.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepository.html#OakSlingRepository-org.apache.sling.jcr.base.AbstractSlingRepositoryManager-org.osgi.framework.Bundle-java.lang.String-">OakSlingRepository(AbstractSlingRepositoryManager, Bundle, String)</a></span> - Constructor for class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepository.html" title="class in org.apache.sling.oak.server">OakSlingRepository</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server"><span class="typeNameLink">OakSlingRepositoryManager</span></a> - Class in <a href="org/apache/sling/oak/server/package-summary.html">org.apache.sling.oak.server</a></dt>
<dd>
<div class="block">A Sling repository implementation that wraps the Oak OSGi repository
 implementation from the Oak project.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#OakSlingRepositoryManager--">OakSlingRepositoryManager()</a></span> - Constructor for class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#object--">object()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Begin appending a new object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html#ok--">ok()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.AsyncHandler.html" title="interface in org.apache.sling.event.jobs.consumer">JobConsumer.AsyncHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#onChange-java.lang.String-java.lang.String...-">onChange(String, String...)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Records a generic change of the given <code>type</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/HtmlResponse.html#onChange-java.lang.String-java.lang.String...-">onChange(String, String...)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/HtmlResponse.html" title="class in org.apache.sling.servlets.post">HtmlResponse</a></dt>
<dd>
<div class="block">Records a generic change of the given <code>type</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#onChange-java.lang.String-java.lang.String...-">onChange(String, String...)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onChange-org.apache.sling.servlets.post.ModificationType-java.lang.String-">onChange(ModificationType, String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onChange-org.apache.sling.servlets.post.ModificationType-java.lang.String-java.lang.String-">onChange(ModificationType, String, String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#onChange-java.lang.String-java.lang.String...-">onChange(String, String...)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Records a generic change of the given <code>type</code> with arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onCheckin-java.lang.String-">onCheckin(String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">A versionable Node has been checked in.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onCheckin-java.lang.String-">onCheckin(String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onCheckout-java.lang.String-">onCheckout(String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">A versionable Node has been checked out.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onCheckout-java.lang.String-">onCheckout(String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#onCopied-java.lang.String-java.lang.String-">onCopied(String, String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Records a 'copied' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#onCopied-java.lang.String-java.lang.String-">onCopied(String, String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Records a 'copied' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onCopied-java.lang.String-java.lang.String-">onCopied(String, String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>
<div class="block">Records a 'copied' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#onCopied-java.lang.String-java.lang.String-">onCopied(String, String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Records a 'copied' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onCopy-java.lang.String-java.lang.String-">onCopy(String, String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">An Item has been copied to a new location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onCreate-java.lang.String-">onCreate(String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">A Node has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#onCreated-java.lang.String-">onCreated(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Records a 'created' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#onCreated-java.lang.String-">onCreated(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Records a 'created' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onCreated-java.lang.String-">onCreated(String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>
<div class="block">Records a 'created' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#onCreated-java.lang.String-">onCreated(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Records a 'created' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onDelete-java.lang.String-">onDelete(String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">An Item has been deleted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#onDeleted-java.lang.String-">onDeleted(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Records a 'deleted' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#onDeleted-java.lang.String-">onDeleted(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Records a 'deleted' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onDeleted-java.lang.String-">onDeleted(String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>
<div class="block">Records a 'deleted' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#onDeleted-java.lang.String-">onDeleted(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Records a 'deleted' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/DisposalCallback.html#onDisposed--">onDisposed()</a></span> - Method in interface org.apache.sling.models.spi.<a href="org/apache/sling/models/spi/DisposalCallback.html" title="interface in org.apache.sling.models.spi">DisposalCallback</a></dt>
<dd>
<div class="block">Callback method for when an object is destroyed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestListener.html#onEvent-org.apache.sling.api.request.SlingRequestEvent-">onEvent(SlingRequestEvent)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestListener.html" title="interface in org.apache.sling.api.request">SlingRequestListener</a></dt>
<dd>
<div class="block">This method is called from the Sling application for every
 <code>EventType</code> appearing during the dispatching of
 a Sling request</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/event/InstallationListener.html#onEvent-org.apache.sling.installer.api.event.InstallationEvent-">onEvent(InstallationEvent)</a></span> - Method in interface org.apache.sling.installer.api.event.<a href="org/apache/sling/installer/api/event/InstallationListener.html" title="interface in org.apache.sling.installer.api.event">InstallationListener</a></dt>
<dd>
<div class="block">Receive an installation event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html#onInstancesOnly-java.lang.String:A-">onInstancesOnly(String[])</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler">ScheduleOptions</a></dt>
<dd>
<div class="block">List of Sling IDs this job should be run on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html#onLeaderOnly-boolean-">onLeaderOnly(boolean)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler">ScheduleOptions</a></dt>
<dd>
<div class="block">Flag indicating whether the job should only be run on the leader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#onModified-java.lang.String-">onModified(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Records a 'modified' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#onModified-java.lang.String-">onModified(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Records a 'modified' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onModified-java.lang.String-">onModified(String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>
<div class="block">Records a 'modified' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#onModified-java.lang.String-">onModified(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Records a 'modified' change</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onModify-java.lang.String-">onModify(String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">Content has been updated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onMove-java.lang.String-java.lang.String-">onMove(String, String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">An Item has been moved to a new location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#onMoved-java.lang.String-java.lang.String-">onMoved(String, String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Records a 'moved' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#onMoved-java.lang.String-java.lang.String-">onMoved(String, String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Records a 'moved' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onMoved-java.lang.String-java.lang.String-">onMoved(String, String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>
<div class="block">Records a 'moved' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#onMoved-java.lang.String-java.lang.String-">onMoved(String, String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Records a 'moved' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onOrder-java.lang.String-java.lang.String-">onOrder(String, String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>
<div class="block">Records a 'order' change.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/contentloader/ContentImportListener.html#onReorder-java.lang.String-java.lang.String-">onReorder(String, String)</a></span> - Method in interface org.apache.sling.jcr.contentloader.<a href="org/apache/sling/jcr/contentloader/ContentImportListener.html" title="interface in org.apache.sling.jcr.contentloader">ContentImportListener</a></dt>
<dd>
<div class="block">A child Node has been reordered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#onRestore-java.lang.String-java.lang.String-">onRestore(String, String)</a></span> - Static method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html#onSingleInstanceOnly-boolean-">onSingleInstanceOnly(boolean)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler">ScheduleOptions</a></dt>
<dd>
<div class="block">Flag indicating whether the job should only be run on a single instance in a cluster
 This defaults to false.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_CHECKIN">OPERATION_CHECKIN</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined checkin operation (value is "checkin").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_CHECKOUT">OPERATION_CHECKOUT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined checkout operation (value is "checkout").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_COPY">OPERATION_COPY</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined copy operation (value is "copy").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_DELETE">OPERATION_DELETE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined delete operation (value is "delete").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_IMPORT">OPERATION_IMPORT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined import operation (value is "import").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_MODIFY">OPERATION_MODIFY</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined modify operation (value is "modify").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_MOVE">OPERATION_MOVE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined move operation (value is "move")</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_NOP">OPERATION_NOP</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined null operation (value is "nop").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_RESTORE">OPERATION_RESTORE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the predefined restore operation (value is "restore").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#opt-int-">opt(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional object value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#opt-java.lang.String-">opt(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional value associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_ADD_SELECTORS">OPT_ADD_SELECTORS</a></span> - Static variable in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">When dispatching, add the value provided by this option to the
 <a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request"><code>RequestPathInfo</code></a> selectors.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_FORCE_RESOURCE_TYPE">OPT_FORCE_RESOURCE_TYPE</a></span> - Static variable in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">When dispatching, use the value provided by this option as the resource
 type, instead of the one defined by the
 <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_REPLACE_SELECTORS">OPT_REPLACE_SELECTORS</a></span> - Static variable in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">When dispatching, replace <a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request"><code>RequestPathInfo</code></a> selectors by the value
 provided by this option.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_REPLACE_SUFFIX">OPT_REPLACE_SUFFIX</a></span> - Static variable in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">When dispatching, replace the <a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request"><code>RequestPathInfo</code></a> suffix by the value
 provided by this option</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optBoolean-int-">optBoolean(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional boolean value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optBoolean-int-boolean-">optBoolean(int, boolean)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional boolean value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optBoolean-java.lang.String-">optBoolean(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional boolean associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optBoolean-java.lang.String-boolean-">optBoolean(String, boolean)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional boolean associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optDouble-int-">optDouble(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional double value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optDouble-int-double-">optDouble(int, double)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional double value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optDouble-java.lang.String-">optDouble(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional double associated with a key,
 or NaN if there is no such key or if its value is not a number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optDouble-java.lang.String-double-">optDouble(String, double)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional double associated with a key, or the
 defaultValue if there is no such key or if its value is not a number.</div>
</dd>
<dt><a href="org/apache/sling/api/servlets/OptingServlet.html" title="interface in org.apache.sling.api.servlets"><span class="typeNameLink">OptingServlet</span></a> - Interface in <a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a></dt>
<dd>
<div class="block">The <code>OptingServlet</code> interface may be implemented by
 <code>Servlets</code> used by Sling which may choose to not handle all
 requests for which they would be selected based on their registration
 properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optInt-int-">optInt(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional int value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optInt-int-int-">optInt(int, int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional int value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optInt-java.lang.String-">optInt(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional int value associated with a key,
 or zero if there is no such key or if the value is not a number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optInt-java.lang.String-int-">optInt(String, int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional int value associated with a key,
 or the default if there is no such key or if the value is not a number.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/Optional.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Optional</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Marker annotation for optional injections.</div>
</dd>
<dt><a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler"><span class="typeNameLink">Options</span></a> - Class in <a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a></dt>
<dd>
<div class="block">Options for the compilation process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#Options--">Options()</a></span> - Constructor for class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">Default options with the following presets:
 - generate debug info : true</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#Options-org.apache.sling.commons.compiler.Options-">Options(Options)</a></span> - Constructor for class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>
<div class="block">Create a new options object based on an existing one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#options--">options()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Return an Options object with default values</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optJSONArray-int-">optJSONArray(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional JSONArray associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optJSONArray-java.lang.String-">optJSONArray(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional JSONArray associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optJSONObject-int-">optJSONObject(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional JSONObject associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optJSONObject-java.lang.String-">optJSONObject(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional JSONObject associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optLong-int-">optLong(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional long value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optLong-int-long-">optLong(int, long)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional long value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optLong-java.lang.String-">optLong(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional long value associated with a key,
 or zero if there is no such key or if the value is not a number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optLong-java.lang.String-long-">optLong(String, long)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional long value associated with a key,
 or the default if there is no such key or if the value is not a number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optString-int-">optString(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional string value associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#optString-int-java.lang.String-">optString(int, String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Get the optional string associated with an index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optString-java.lang.String-">optString(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional string associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#optString-java.lang.String-java.lang.String-">optString(String, String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Get an optional string associated with a key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ORDER_AFTER">ORDER_AFTER</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Possible value of the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER"><code>SlingPostConstants.RP_ORDER</code></a> parameter indicating that the
 node by moved immediately after the sibbling whose name is contained in
 the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER"><code>SlingPostConstants.RP_ORDER</code></a> parameter (value is "after ").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ORDER_BEFORE">ORDER_BEFORE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Possible value of the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER"><code>SlingPostConstants.RP_ORDER</code></a> parameter indicating that the
 node by moved immediately before the sibbling whose name is contained in
 the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER"><code>SlingPostConstants.RP_ORDER</code></a> parameter (value is "before ").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ORDER_FIRST">ORDER_FIRST</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Possible value of the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER"><code>SlingPostConstants.RP_ORDER</code></a> parameter indicating that the
 node by moved to the first position amongst its sibblings (value is
 "first").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#ORDER_LAST">ORDER_LAST</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Possible value of the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER"><code>SlingPostConstants.RP_ORDER</code></a> parameter indicating that the
 node by moved to the last position amongst its sibblings (value is
 "last").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#orderNode-org.apache.sling.api.SlingHttpServletRequest-javax.jcr.Item-java.util.List-">orderNode(SlingHttpServletRequest, Item, List&lt;Modification&gt;)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Orders the given node according to the specified command.</div>
</dd>
<dt><a href="org/apache/sling/adapter/package-summary.html">org.apache.sling.adapter</a> - package org.apache.sling.adapter</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a> - package org.apache.sling.api</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/adapter/package-summary.html">org.apache.sling.api.adapter</a> - package org.apache.sling.api.adapter</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/auth/package-summary.html">org.apache.sling.api.auth</a> - package org.apache.sling.api.auth</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a> - package org.apache.sling.api.request</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a> - package org.apache.sling.api.resource</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a> - package org.apache.sling.api.scripting</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/security/package-summary.html">org.apache.sling.api.security</a> - package org.apache.sling.api.security</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a> - package org.apache.sling.api.servlets</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a> - package org.apache.sling.api.wrappers</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/auth/core/package-summary.html">org.apache.sling.auth.core</a> - package org.apache.sling.auth.core</dt>
<dd>
<div class="block">Provides the authentication helper service as well as a number
 of utility functions in the <a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core"><code>AuthUtil</code></a>
 class.</div>
</dd>
<dt><a href="org/apache/sling/auth/core/spi/package-summary.html">org.apache.sling.auth.core.spi</a> - package org.apache.sling.auth.core.spi</dt>
<dd>
<div class="block">Provides API to be implemented by provides of authentication
 mechanisms.</div>
</dd>
<dt><a href="org/apache/sling/commons/classloader/package-summary.html">org.apache.sling.commons.classloader</a> - package org.apache.sling.commons.classloader</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/compiler/package-summary.html">org.apache.sling.commons.compiler</a> - package org.apache.sling.commons.compiler</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/package-summary.html">org.apache.sling.commons.json</a> - package org.apache.sling.commons.json</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/http/package-summary.html">org.apache.sling.commons.json.http</a> - package org.apache.sling.commons.json.http</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/io/package-summary.html">org.apache.sling.commons.json.io</a> - package org.apache.sling.commons.json.io</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/jcr/package-summary.html">org.apache.sling.commons.json.jcr</a> - package org.apache.sling.commons.json.jcr</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/sling/package-summary.html">org.apache.sling.commons.json.sling</a> - package org.apache.sling.commons.json.sling</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/util/package-summary.html">org.apache.sling.commons.json.util</a> - package org.apache.sling.commons.json.util</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/xml/package-summary.html">org.apache.sling.commons.json.xml</a> - package org.apache.sling.commons.json.xml</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/log/logback/package-summary.html">org.apache.sling.commons.log.logback</a> - package org.apache.sling.commons.log.logback</dt>
<dd>
<div class="block">Provides configuration support for the Logback based logging in Sling</div>
</dd>
<dt><a href="org/apache/sling/commons/mime/package-summary.html">org.apache.sling.commons.mime</a> - package org.apache.sling.commons.mime</dt>
<dd>
<div class="block">Provides the <a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime"><code>MimeTypeService</code></a>
 service used by client to resolve MIME type information as well as the
 <a href="org/apache/sling/commons/mime/MimeTypeProvider.html" title="interface in org.apache.sling.commons.mime"><code>MimeTypeProvider</code></a> service
 interface for providers to extend the MIME type setup provided by the
 <a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime"><code>MimeTypeService</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a> - package org.apache.sling.commons.osgi</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/osgi/bundleversion/package-summary.html">org.apache.sling.commons.osgi.bundleversion</a> - package org.apache.sling.commons.osgi.bundleversion</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/scheduler/package-summary.html">org.apache.sling.commons.scheduler</a> - package org.apache.sling.commons.scheduler</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a> - package org.apache.sling.commons.threads</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/threads/jmx/package-summary.html">org.apache.sling.commons.threads.jmx</a> - package org.apache.sling.commons.threads.jmx</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a> - package org.apache.sling.discovery</dt>
<dd>
<div class="block">Provides a service to interface which may be implemented by applications
 to get notified on cluster topology changes.</div>
</dd>
<dt><a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a> - package org.apache.sling.engine</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/auth/package-summary.html">org.apache.sling.engine.auth</a> - package org.apache.sling.engine.auth</dt>
<dd>
<div class="block">Provides the original authentication handler service API initially
 bundled with the Sling Engine bundle.</div>
</dd>
<dt><a href="org/apache/sling/engine/jmx/package-summary.html">org.apache.sling.engine.jmx</a> - package org.apache.sling.engine.jmx</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/servlets/package-summary.html">org.apache.sling.engine.servlets</a> - package org.apache.sling.engine.servlets</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a> - package org.apache.sling.event</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/dea/package-summary.html">org.apache.sling.event.dea</a> - package org.apache.sling.event.dea</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a> - package org.apache.sling.event.jobs</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/jobs/consumer/package-summary.html">org.apache.sling.event.jobs.consumer</a> - package org.apache.sling.event.jobs.consumer</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/event/jobs/jmx/package-summary.html">org.apache.sling.event.jobs.jmx</a> - package org.apache.sling.event.jobs.jmx</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/i18n/package-summary.html">org.apache.sling.i18n</a> - package org.apache.sling.i18n</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/package-summary.html">org.apache.sling.installer.api</a> - package org.apache.sling.installer.api</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/event/package-summary.html">org.apache.sling.installer.api.event</a> - package org.apache.sling.installer.api.event</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/info/package-summary.html">org.apache.sling.installer.api.info</a> - package org.apache.sling.installer.api.info</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/jmx/package-summary.html">org.apache.sling.installer.api.jmx</a> - package org.apache.sling.installer.api.jmx</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a> - package org.apache.sling.installer.api.tasks</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/factories/configuration/package-summary.html">org.apache.sling.installer.factories.configuration</a> - package org.apache.sling.installer.factories.configuration</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a> - package org.apache.sling.jackrabbit.usermanager</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/api/package-summary.html">org.apache.sling.jcr.api</a> - package org.apache.sling.jcr.api</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a> - package org.apache.sling.jcr.base</dt>
<dd>
<div class="block">The <code>org.apache.sling.jcr.base</code> package provides basic support
 to expose JCR repositories in Sling.</div>
</dd>
<dt><a href="org/apache/sling/jcr/base/util/package-summary.html">org.apache.sling.jcr.base.util</a> - package org.apache.sling.jcr.base.util</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/contentloader/package-summary.html">org.apache.sling.jcr.contentloader</a> - package org.apache.sling.jcr.contentloader</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a> - package org.apache.sling.jcr.jackrabbit.accessmanager</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/post/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager.post</a> - package org.apache.sling.jcr.jackrabbit.accessmanager.post</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/registration/package-summary.html">org.apache.sling.jcr.registration</a> - package org.apache.sling.jcr.registration</dt>
<dd>
<div class="block">The <code>org.apache.sling.jcr.registration</code> package exports
 the <a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration"><code>AbstractRegistrationSupport</code></a>
 class which may be extended by service exposing JCR Repository services
 in any one non-OSGi registry such as RMI or JNDI.</div>
</dd>
<dt><a href="org/apache/sling/jcr/resource/package-summary.html">org.apache.sling.jcr.resource</a> - package org.apache.sling.jcr.resource</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/app/package-summary.html">org.apache.sling.launchpad.app</a> - package org.apache.sling.launchpad.app</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/base/app/package-summary.html">org.apache.sling.launchpad.base.app</a> - package org.apache.sling.launchpad.base.app</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/base/shared/package-summary.html">org.apache.sling.launchpad.base.shared</a> - package org.apache.sling.launchpad.base.shared</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/base/webapp/package-summary.html">org.apache.sling.launchpad.base.webapp</a> - package org.apache.sling.launchpad.base.webapp</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/webapp/package-summary.html">org.apache.sling.launchpad.webapp</a> - package org.apache.sling.launchpad.webapp</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a> - package org.apache.sling.models.annotations</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a> - package org.apache.sling.models.annotations.injectorspecific</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a> - package org.apache.sling.models.factory</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/spi/package-summary.html">org.apache.sling.models.spi</a> - package org.apache.sling.models.spi</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a> - package org.apache.sling.models.spi.injectorspecific</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/oak/server/package-summary.html">org.apache.sling.oak.server</a> - package org.apache.sling.oak.server</dt>
<dd>
<div class="block">Contains in implementation of a SlingRepository based on Apache Oak.</div>
</dd>
<dt><a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a> - package org.apache.sling.scripting.api</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/scripting/core/package-summary.html">org.apache.sling.scripting.core</a> - package org.apache.sling.scripting.core</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/scripting/core/servlet/package-summary.html">org.apache.sling.scripting.core.servlet</a> - package org.apache.sling.scripting.core.servlet</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/serviceusermapping/package-summary.html">org.apache.sling.serviceusermapping</a> - package org.apache.sling.serviceusermapping</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a> - package org.apache.sling.servlets.post</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/resolver/jmx/package-summary.html">org.apache.sling.servlets.resolver.jmx</a> - package org.apache.sling.servlets.resolver.jmx</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/settings/package-summary.html">org.apache.sling.settings</a> - package org.apache.sling.settings</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/log/logback/OsgiAction.html" title="class in org.apache.sling.commons.log.logback"><span class="typeNameLink">OsgiAction</span></a> - Class in <a href="org/apache/sling/commons/log/logback/package-summary.html">org.apache.sling.commons.log.logback</a></dt>
<dd>
<div class="block">The action class needs to be referred in external files hence adding a marker
 class in public package which extends the internal class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/log/logback/OsgiAction.html#OsgiAction--">OsgiAction()</a></span> - Constructor for class org.apache.sling.commons.log.logback.<a href="org/apache/sling/commons/log/logback/OsgiAction.html" title="class in org.apache.sling.commons.log.logback">OsgiAction</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/log/logback/OsgiAppenderRefAction.html" title="class in org.apache.sling.commons.log.logback"><span class="typeNameLink">OsgiAppenderRefAction</span></a> - Class in <a href="org/apache/sling/commons/log/logback/package-summary.html">org.apache.sling.commons.log.logback</a></dt>
<dd>
<div class="block">The action class needs to be referred in external files hence adding a marker
 class in public package which extends the internal class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/log/logback/OsgiAppenderRefAction.html#OsgiAppenderRefAction--">OsgiAppenderRefAction()</a></span> - Constructor for class org.apache.sling.commons.log.logback.<a href="org/apache/sling/commons/log/logback/OsgiAppenderRefAction.html" title="class in org.apache.sling.commons.log.logback">OsgiAppenderRefAction</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/OsgiInstaller.html" title="interface in org.apache.sling.installer.api"><span class="typeNameLink">OsgiInstaller</span></a> - Interface in <a href="org/apache/sling/installer/api/package-summary.html">org.apache.sling.installer.api</a></dt>
<dd>
<div class="block">Service for installing/updating/removing installable resources
 <a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api"><code>InstallableResource</code></a> in an OSGi framework.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/OSGiService.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">OSGiService</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject an OSGi service</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">OsgiUtil</span></a> - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use PropertiesUtil and ServiceUtil instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#OsgiUtil--">OsgiUtil()</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#OUT">OUT</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing the
 <code>java.io.PrintWriter</code> object to return the response content
 (value is "out").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#OWNS_ROOTS">OWNS_ROOTS</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">The name of the service registration property containing the a boolean
 flag whether this provider owns the tree registered by the roots.</div>
</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#PAR_J_VALIDATE">PAR_J_VALIDATE</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">The name of the request parameter indicating that the submitted username
 and password should just be checked and a status code be set for success
 (200/OK) or failure (403/FORBIDDEN).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#PARAMETER_MAP">PARAMETER_MAP</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Returns a map containing parameters added to path after semicolon.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ParametrizableResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ParametrizableResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">This extension allows resource provider implementations to support
 semicolon-separated parameters added to the URI, eg.: <code>/content/test;v='1.0'</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.html" title="class in org.apache.sling.commons.osgi">ManifestHeader</a></dt>
<dd>
<div class="block">Parse headers
 Like this: path; path; dir1:=dirval1; dir2:=dirval2; attr1=attrval1; attr2=attrval2,
            path; path; dir1:=dirval1; dir2:=dirval2; attr1=attrval1; attr2=attrval2
 The returned object maintains the order of entries (paths), directives and attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestUtil.html#parserAcceptHeader-java.lang.String-">parserAcceptHeader(String)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request">RequestUtil</a></dt>
<dd>
<div class="block">Parses an <code>Accept-*</code> header of the form:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestUtil.html#parserAcceptHeader-java.lang.String-">parserAcceptHeader(String)</a></span> - Static method in class org.apache.sling.engine.<a href="org/apache/sling/engine/RequestUtil.html" title="class in org.apache.sling.engine">RequestUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Parses an <code>Accept-*</code> header of the form:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestUtil.html#parserHeader-java.lang.String-">parserHeader(String)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request">RequestUtil</a></dt>
<dd>
<div class="block">Parses a header of the form:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestUtil.html#parserHeader-java.lang.String-">parserHeader(String)</a></span> - Static method in class org.apache.sling.engine.<a href="org/apache/sling/engine/RequestUtil.html" title="class in org.apache.sling.engine">RequestUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Parses a header of the form:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#PASSWORD">PASSWORD</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Name of the authentication information property providing the password of
 the user for which to create a resource resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#PATCH_ADD">PATCH_ADD</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Indicates a value to be added to the named multi-value property if the
 property is being #<a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_PATCH"><code>patched</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#PATCH_REMOVE">PATCH_REMOVE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Indicates a value to be removed from the named multi-value property if
 the property is being #<a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_PATCH"><code>patched</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/Path.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Path</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Provide path(s) on an &#64;Inject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#PATH_PROPERTY">PATH_PROPERTY</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">The name of the service registration property listing one or more URL
 paths for which the authentication handler is to be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationHandler.html#PATH_PROPERTY">PATH_PROPERTY</a></span> - Static variable in interface org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationHandler.html" title="interface in org.apache.sling.engine.auth">AuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">An authentication handler is associated with url paths.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html#PathImpl-java.lang.String-">PathImpl(String)</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ManifestHeader.PathImpl.html" title="class in org.apache.sling.commons.osgi">ManifestHeader.PathImpl</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/PersistableValueMap.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">PersistableValueMap</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use the <a href="org/apache/sling/api/resource/ModifiableValueMap.html" title="interface in org.apache.sling.api.resource"><code>ModifiableValueMap</code></a> instead.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">PersistenceException</span></a> - Exception in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">This exception will be thrown during the try to persist
 changes to a <a href="org/apache/sling/api/resource/PersistableValueMap.html" title="interface in org.apache.sling.api.resource"><code>PersistableValueMap</code></a>, a
 <code>ModifiableValueMap#update()</code> or
 the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistenceException.html#PersistenceException--">PersistenceException()</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource">PersistenceException</a></dt>
<dd>
<div class="block">Create a new persistence exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistenceException.html#PersistenceException-java.lang.String-">PersistenceException(String)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource">PersistenceException</a></dt>
<dd>
<div class="block">Create a new persistence exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistenceException.html#PersistenceException-java.lang.String-java.lang.Throwable-">PersistenceException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource">PersistenceException</a></dt>
<dd>
<div class="block">Create a new persistence exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistenceException.html#PersistenceException-java.lang.String-java.lang.Throwable-java.lang.String-java.lang.String-">PersistenceException(String, Throwable, String, String)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistenceException.html" title="class in org.apache.sling.api.resource">PersistenceException</a></dt>
<dd>
<div class="block">Create a new persistence exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/ImplementationPicker.html#pick-java.lang.Class-java.lang.Class:A-java.lang.Object-">pick(Class&lt;?&gt;, Class&lt;?&gt;[], Object)</a></span> - Method in interface org.apache.sling.models.spi.<a href="org/apache/sling/models/spi/ImplementationPicker.html" title="interface in org.apache.sling.models.spi">ImplementationPicker</a></dt>
<dd>
<div class="block">Select an implementation for the adapter class to which the adaptable should be adapted to.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#pingAndCheck--">pingAndCheck()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Ping our current repository and check that admin login (required by Sling) works.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#pingRepository-javax.jcr.Repository-">pingRepository(Repository)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Checks that the given <code>repository</code> is still available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_CHANGE_LOG">PN_CHANGE_LOG</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">human readable changelog</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_ERROR">PN_ERROR</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The Throwable caught while processing the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_ERROR">PN_ERROR</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the error property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setError-java.lang.Throwable-"><code>AbstractPostResponse.setError(Throwable)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_IS_CREATED">PN_IS_CREATED</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Indicating whether request processing created new data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_IS_CREATED">PN_IS_CREATED</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the create status property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setCreateRequest-boolean-"><code>AbstractPostResponse.setCreateRequest(boolean)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_LOCATION">PN_LOCATION</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">externally mapped location url of the modified path</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_LOCATION">PN_LOCATION</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the location property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setLocation-java.lang.String-"><code>AbstractPostResponse.setLocation(String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_PARENT_LOCATION">PN_PARENT_LOCATION</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">externally mapped location url of the parent of the modified path</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_PARENT_LOCATION">PN_PARENT_LOCATION</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the parent location property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setParentLocation-java.lang.String-"><code>AbstractPostResponse.setParentLocation(String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_PATH">PN_PATH</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">the path of the modified item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_PATH">PN_PATH</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the path property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setPath-java.lang.String-"><code>AbstractPostResponse.setPath(String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_REFERER">PN_REFERER</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">the referrer of the request</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_REFERER">PN_REFERER</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the referer property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setReferer-java.lang.String-"><code>AbstractPostResponse.setReferer(String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_STATUS_CODE">PN_STATUS_CODE</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">status code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_STATUS_CODE">PN_STATUS_CODE</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the status code property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setStatus-int-java.lang.String-"><code>AbstractPostResponse.setStatus(int, String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_STATUS_MESSAGE">PN_STATUS_MESSAGE</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">some human readable status message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_STATUS_MESSAGE">PN_STATUS_MESSAGE</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the status message property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setStatus-int-java.lang.String-"><code>AbstractPostResponse.setStatus(int, String)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#PN_TITLE">PN_TITLE</a></span> - Static variable in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">some human readable title like: 200 Created /foo/bar</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#PN_TITLE">PN_TITLE</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Name of the title property set by <a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setTitle-java.lang.String-"><code>AbstractPostResponse.setTitle(String)</code></a></div>
</dd>
<dt><a href="org/apache/sling/models/factory/PostConstructException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">PostConstructException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Exception which is triggered, whenever the post-construct method has thrown an exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/PostConstructException.html#PostConstructException-java.lang.String-java.lang.Throwable-">PostConstructException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/PostConstructException.html" title="class in org.apache.sling.models.factory">PostConstructException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">PostOperation</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>PostOperation</code> interface defines the service API to be
 implemented by service providers extending the Sling POST servlet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfoPostProcessor.html#postProcess-org.apache.sling.auth.core.spi.AuthenticationInfo-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">postProcess(AuthenticationInfo, HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfoPostProcessor.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationInfoPostProcessor</a></dt>
<dd>
<div class="block">Perform some post-processing on the AuthenticationInfo object.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">PostResponse</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>PostResponse</code> interface defines the API of a response
 container which can (and should) be used by <a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post"><code>PostOperation</code></a> services to
 prepare responses to be sent back to the client.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/PostResponseCreator.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">PostResponseCreator</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">Service interface which allows for alternate implementations of the
 PostResponse interface to be created as needed.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">PostResponseWithErrorHandling</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html#PostResponseWithErrorHandling--">PostResponseWithErrorHandling()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponseWithErrorHandling.html" title="class in org.apache.sling.servlets.post">PostResponseWithErrorHandling</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#prettyPrint-org.apache.sling.commons.json.JSONObject-org.apache.sling.commons.json.io.JSONRenderer.Options-">prettyPrint(JSONObject, JSONRenderer.Options)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Make a prettyprinted JSON text of this JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#prettyPrint-org.apache.sling.commons.json.JSONArray-org.apache.sling.commons.json.io.JSONRenderer.Options-">prettyPrint(JSONArray, JSONRenderer.Options)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Pretty-print a JSONArray</div>
</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager"><span class="typeNameLink">PrivilegesInfo</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a></dt>
<dd>
<div class="block">Helper class to assist in the usage of access control from scripts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html#PrivilegesInfo--">PrivilegesInfo()</a></span> - Constructor for class org.apache.sling.jcr.jackrabbit.accessmanager.<a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager">PrivilegesInfo</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.AccessRights.html" title="class in org.apache.sling.jcr.jackrabbit.accessmanager"><span class="typeNameLink">PrivilegesInfo.AccessRights</span></a> - Class in <a href="org/apache/sling/jcr/jackrabbit/accessmanager/package-summary.html">org.apache.sling.jcr.jackrabbit.accessmanager</a></dt>
<dd>
<div class="block">Wrapper class that holds the set of Privileges that are granted 
 and/or denied for a specific principal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.html#process-org.apache.sling.event.jobs.Job-">process(Job)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer">JobConsumer</a></dt>
<dd>
<div class="block">Execute the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutor.html#process-org.apache.sling.event.jobs.Job-org.apache.sling.event.jobs.consumer.JobExecutionContext-">process(Job, JobExecutionContext)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutor.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutor</a></dt>
<dd>
<div class="block">Execute the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobProcessor.html#process-org.osgi.service.event.Event-">process(Event)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobProcessor.html" title="interface in org.apache.sling.event.jobs">JobProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Execute the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostProcessor.html#process-org.apache.sling.api.SlingHttpServletRequest-java.util.List-">process(SlingHttpServletRequest, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostProcessor.html" title="interface in org.apache.sling.servlets.post">SlingPostProcessor</a></dt>
<dd>
<div class="block">Process the current request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#processJob-org.osgi.service.event.Event-org.apache.sling.event.JobProcessor-">processJob(Event, JobProcessor)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#processJob-org.osgi.service.event.Event-org.apache.sling.event.jobs.JobProcessor-"><code>JobUtil.processJob(Event, org.apache.sling.event.jobs.JobProcessor)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#processJob-org.osgi.service.event.Event-org.apache.sling.event.jobs.JobProcessor-">processJob(Event, JobProcessor)</a></span> - Static method in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer"><code>JobConsumer</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/SlingRequestProcessor.html#processRequest-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-org.apache.sling.api.resource.ResourceResolver-">processRequest(HttpServletRequest, HttpServletResponse, ResourceResolver)</a></span> - Method in interface org.apache.sling.engine.<a href="org/apache/sling/engine/SlingRequestProcessor.html" title="interface in org.apache.sling.engine">SlingRequestProcessor</a></dt>
<dd>
<div class="block">Process an HTTP request through the Sling request processing engine.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#PROP_CONTROL_ACTION">PROP_CONTROL_ACTION</a></span> - Static variable in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">The name of the configuration property indicating the
 <a href="org/apache/sling/launchpad/app/ControlAction.html" title="enum in org.apache.sling.launchpad.app"><code>ControlAction</code></a> to be taken in the <a href="org/apache/sling/launchpad/app/Main.html#doControlAction--"><code>Main.doControlAction()</code></a>
 method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/Main.html#PROP_CONTROL_SOCKET">PROP_CONTROL_SOCKET</a></span> - Static variable in class org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/Main.html" title="class in org.apache.sling.launchpad.app">Main</a></dt>
<dd>
<div class="block">The name of the configuration property indicating the socket to use for
 the control connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostOperation.html#PROP_OPERATION_NAME">PROP_OPERATION_NAME</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post">PostOperation</a></dt>
<dd>
<div class="block">The name of the service registration property indicating the name(s) of
 the operation provided by the operation implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostOperation.html#PROP_OPERATION_NAME">PROP_OPERATION_NAME</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostOperation.html" title="interface in org.apache.sling.servlets.post">SlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the service registration property indicating the name(s) of
 the operation provided by the operation implementation (value is
 "sling.post.operation").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.html#properties-java.util.Map-">properties(Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder</a></dt>
<dd>
<div class="block">Set the optional configuration properties for the job.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">PropertiesUtil</span></a> - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">The <code>PropertiesUtil</code> is a utility class providing some
 usefull utility methods for converting property types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#PropertiesUtil--">PropertiesUtil()</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_ADAPTABLE_CLASSES">PROPERTY_ADAPTABLE_CLASSES</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The event property listing the fully qualified names of
 classes which can be adapted by this adapter factory (value is
 "adaptables").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_ADAPTER_CLASSES">PROPERTY_ADAPTER_CLASSES</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The event property listing the fully qualified names of
 classes to which this factory can adapt adaptables (value is "adapters").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_ADDED_ATTRIBUTES">PROPERTY_ADDED_ATTRIBUTES</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the added attribute names
 of a resource for an <a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_CHANGED"><code>SlingConstants.TOPIC_RESOURCE_CHANGED</code></a> event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_ADMIN_PASS">PROPERTY_ADMIN_PASS</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_ADMIN_USER">PROPERTY_ADMIN_USER</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#PROPERTY_ADMIN_USER">PROPERTY_ADMIN_USER</a></span> - Static variable in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_ANONYMOUS_PASS">PROPERTY_ANONYMOUS_PASS</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_ANONYMOUS_USER">PROPERTY_ANONYMOUS_USER</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/dea/DEAConstants.html#PROPERTY_APPLICATION">PROPERTY_APPLICATION</a></span> - Static variable in class org.apache.sling.event.dea.<a href="org/apache/sling/event/dea/DEAConstants.html" title="class in org.apache.sling.event.dea">DEAConstants</a></dt>
<dd>
<div class="block">This event property specifies the application node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_APPLICATION">PROPERTY_APPLICATION</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_BLOCK_POLICY">PROPERTY_BLOCK_POLICY</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the block policy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html#PROPERTY_BUNDLE_LOCATION">PROPERTY_BUNDLE_LOCATION</a></span> - Static variable in class org.apache.sling.installer.factories.configuration.<a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html" title="class in org.apache.sling.installer.factories.configuration">ConfigurationConstants</a></dt>
<dd>
<div class="block">This property defines the value to be used as a bundle location if a configuration
 is created by the installer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_CHANGED_ATTRIBUTES">PROPERTY_CHANGED_ATTRIBUTES</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the changed attribute names
 of a resource for an <a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_CHANGED"><code>SlingConstants.TOPIC_RESOURCE_CHANGED</code></a> event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_DAEMON">PROPERTY_DAEMON</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the daemon flag.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_DEFAULT_WORKSPACE">PROPERTY_DEFAULT_WORKSPACE</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#PROPERTY_DEFAULT_WORKSPACE">PROPERTY_DEFAULT_WORKSPACE</a></span> - Static variable in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#PROPERTY_DESCRIPTION">PROPERTY_DESCRIPTION</a></span> - Static variable in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Property containing a description for the instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/dea/DEAConstants.html#PROPERTY_DISTRIBUTE">PROPERTY_DISTRIBUTE</a></span> - Static variable in class org.apache.sling.event.dea.<a href="org/apache/sling/event/dea/DEAConstants.html" title="class in org.apache.sling.event.dea">DEAConstants</a></dt>
<dd>
<div class="block">This event property indicates, if the event should be distributed in the cluster.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_DISTRIBUTE">PROPERTY_DISTRIBUTE</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">s</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#PROPERTY_ENDPOINTS">PROPERTY_ENDPOINTS</a></span> - Static variable in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Property containing endpoints to connect to the instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#PROPERTY_EVENT_ID">PROPERTY_EVENT_ID</a></span> - Static variable in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#JOB_ID"><code>JobUtil.JOB_ID</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/TimedEventStatusProvider.html#PROPERTY_EVENT_ID">PROPERTY_EVENT_ID</a></span> - Static variable in interface org.apache.sling.event.<a href="org/apache/sling/event/TimedEventStatusProvider.html" title="interface in org.apache.sling.event">TimedEventStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This is a unique identifier which can be used to cancel the job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_FINISHED_DATE">PROPERTY_FINISHED_DATE</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property contains the finished date once a job is marked as finished.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_APPLICATION">PROPERTY_JOB_APPLICATION</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.html#PROPERTY_JOB_ASYNC_HANDLER">PROPERTY_JOB_ASYNC_HANDLER</a></span> - Static variable in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer">JobConsumer</a></dt>
<dd>
<div class="block">Job property containing an asynchronous handler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_CREATED">PROPERTY_JOB_CREATED</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains a calendar object
 specifying the date and time when this job has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_CREATED">PROPERTY_JOB_CREATED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_CREATED_APPLICATION">PROPERTY_JOB_CREATED_APPLICATION</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_CREATED_INSTANCE">PROPERTY_JOB_CREATED_INSTANCE</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains the Sling instance ID
 of the instance where this job has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_DESCRIPTION">PROPERTY_JOB_DESCRIPTION</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This is an optional property containing a human readable description for
 the job</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_ID">PROPERTY_JOB_ID</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_NAME"><code>JobUtil.PROPERTY_JOB_NAME</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_NAME">PROPERTY_JOB_NAME</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Jobs should be started via <a href="org/apache/sling/event/jobs/JobManager.html#addJob-java.lang.String-java.lang.String-java.util.Map-"><code>JobManager.addJob(String, String, java.util.Map)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_PARALLEL">PROPERTY_JOB_PARALLEL</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_PARALLEL"><code>JobUtil.PROPERTY_JOB_PARALLEL</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_PARALLEL">PROPERTY_JOB_PARALLEL</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_PRIORITY">PROPERTY_JOB_PRIORITY</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_PRIORITY"><code>JobUtil.PROPERTY_JOB_PRIORITY</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_PRIORITY">PROPERTY_JOB_PRIORITY</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_PRIORITY">PROPERTY_JOB_PRIORITY</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_PROGRESS_ETA">PROPERTY_JOB_PROGRESS_ETA</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property contains the optional ETA for a job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_PROGRESS_LOG">PROPERTY_JOB_PROGRESS_LOG</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property contains the optional output log of a job consumer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_PROGRESS_STEP">PROPERTY_JOB_PROGRESS_STEP</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property contains optional progress information about a job,
 the number of completed steps.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_PROGRESS_STEPS">PROPERTY_JOB_PROGRESS_STEPS</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property contains optional progress information about a job,
 the number of steps the job consumer will perform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_QUEUE_NAME">PROPERTY_JOB_QUEUE_NAME</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_QUEUE_NAME"><code>JobUtil.PROPERTY_JOB_QUEUE_NAME</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_QUEUE_NAME">PROPERTY_JOB_QUEUE_NAME</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The name of the job queue processing this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_QUEUE_NAME">PROPERTY_JOB_QUEUE_NAME</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_QUEUE_ORDERED">PROPERTY_JOB_QUEUE_ORDERED</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_QUEUE_ORDERED"><code>JobUtil.PROPERTY_JOB_QUEUE_ORDERED</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_QUEUE_ORDERED">PROPERTY_JOB_QUEUE_ORDERED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_RETRIES">PROPERTY_JOB_RETRIES</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RETRIES"><code>JobUtil.PROPERTY_JOB_RETRIES</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_RETRIES">PROPERTY_JOB_RETRIES</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The property to track the retry maximum retry count for jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RETRIES">PROPERTY_JOB_RETRIES</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_RETRY_COUNT">PROPERTY_JOB_RETRY_COUNT</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RETRY_COUNT"><code>JobUtil.PROPERTY_JOB_RETRY_COUNT</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_RETRY_COUNT">PROPERTY_JOB_RETRY_COUNT</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The property to track the retry count for jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RETRY_COUNT">PROPERTY_JOB_RETRY_COUNT</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_RETRY_DELAY">PROPERTY_JOB_RETRY_DELAY</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RETRY_DELAY"><code>JobUtil.PROPERTY_JOB_RETRY_DELAY</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_RETRY_DELAY">PROPERTY_JOB_RETRY_DELAY</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">The property to set a retry delay.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RETRY_DELAY">PROPERTY_JOB_RETRY_DELAY</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs"><code>Job</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_RUN_LOCAL">PROPERTY_JOB_RUN_LOCAL</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RUN_LOCAL"><code>JobUtil.PROPERTY_JOB_RUN_LOCAL</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_RUN_LOCAL">PROPERTY_JOB_RUN_LOCAL</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_STARTED_TIME">PROPERTY_JOB_STARTED_TIME</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains a calendar object
 specifying the date and time when this job has been started.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_TARGET_INSTANCE">PROPERTY_JOB_TARGET_INSTANCE</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property is set by the job handling and contains the Sling instance ID
 of the instance where this job should be processed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_JOB_TITLE">PROPERTY_JOB_TITLE</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This is an optional property containing a human readable title for
 the job</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_JOB_TOPIC">PROPERTY_JOB_TOPIC</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_TOPIC"><code>JobUtil.PROPERTY_JOB_TOPIC</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_JOB_TOPIC">PROPERTY_JOB_TOPIC</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Jobs should be started via <a href="org/apache/sling/event/jobs/JobManager.html#addJob-java.lang.String-java.lang.String-java.util.Map-"><code>JobManager.addJob(String, String, java.util.Map)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_KEEP_ALIVE_TIME">PROPERTY_KEEP_ALIVE_TIME</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the keep alive time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_LOGIN_ADMIN_ENABLED">PROPERTY_LOGIN_ADMIN_ENABLED</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#PROPERTY_LOGIN_ADMIN_ENABLED">PROPERTY_LOGIN_ADMIN_ENABLED</a></span> - Static variable in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_MAX_POOL_SIZE">PROPERTY_MAX_POOL_SIZE</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the max pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_MIN_POOL_SIZE">PROPERTY_MIN_POOL_SIZE</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the min pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_NAME">PROPERTY_NAME</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the thread pool name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/InstanceDescription.html#PROPERTY_NAME">PROPERTY_NAME</a></span> - Static variable in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/InstanceDescription.html" title="interface in org.apache.sling.discovery">InstanceDescription</a></dt>
<dd>
<div class="block">Property containing a name for the instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_NOTIFICATION_JOB">PROPERTY_NOTIFICATION_JOB</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_NOTIFICATION_JOB"><code>JobUtil.PROPERTY_NOTIFICATION_JOB</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#PROPERTY_NOTIFICATION_JOB">PROPERTY_NOTIFICATION_JOB</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_PATH">PROPERTY_PATH</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the resource path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html#PROPERTY_PERSISTENCE">PROPERTY_PERSISTENCE</a></span> - Static variable in class org.apache.sling.installer.factories.configuration.<a href="org/apache/sling/installer/factories/configuration/ConfigurationConstants.html" title="class in org.apache.sling.installer.factories.configuration">ConfigurationConstants</a></dt>
<dd>
<div class="block">This property defines if a configuration should be persisted by the
 installer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_POLL_ACTIVE">PROPERTY_POLL_ACTIVE</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#PROPERTY_POLL_INACTIVE">PROPERTY_POLL_INACTIVE</a></span> - Static variable in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_PRIORITY">PROPERTY_PRIORITY</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/PropertyProvider.html#PROPERTY_PROPERTIES">PROPERTY_PROPERTIES</a></span> - Static variable in interface org.apache.sling.discovery.<a href="org/apache/sling/discovery/PropertyProvider.html" title="interface in org.apache.sling.discovery">PropertyProvider</a></dt>
<dd>
<div class="block">The name of the service registration property containing the names
 of the properties provided by this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_QUEUE_SIZE">PROPERTY_QUEUE_SIZE</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the queue size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_REMOVED_ATTRIBUTES">PROPERTY_REMOVED_ATTRIBUTES</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the removed attribute names
 of a resource for an <a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_CHANGED"><code>SlingConstants.TOPIC_RESOURCE_CHANGED</code></a> event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProviderFactory.html#PROPERTY_REQUIRED">PROPERTY_REQUIRED</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource">ResourceProviderFactory</a></dt>
<dd>
<div class="block">A required resource provider factory is accessed directly when a new
 resource resolver is created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_RESOURCE_SUPER_TYPE">PROPERTY_RESOURCE_SUPER_TYPE</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the resource super type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#PROPERTY_RESOURCE_TYPE">PROPERTY_RESOURCE_TYPE</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">This is the suggested property to be used for setting the resource type
 of a resource during either creation (<a href="org/apache/sling/api/resource/ResourceResolver.html#create-org.apache.sling.api.resource.Resource-java.lang.String-java.util.Map-"><code>ResourceResolver.create(Resource, String, Map)</code></a>)
 or modifying (<a href="org/apache/sling/api/resource/ModifiableValueMap.html" title="interface in org.apache.sling.api.resource"><code>ModifiableValueMap</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_RESOURCE_TYPE">PROPERTY_RESOURCE_TYPE</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the resource type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.html#PROPERTY_RESULT_MESSAGE">PROPERTY_RESULT_MESSAGE</a></span> - Static variable in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.html" title="interface in org.apache.sling.event.jobs">Job</a></dt>
<dd>
<div class="block">This property contains the optional result message of a job consumer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_CONCURRENT">PROPERTY_SCHEDULER_CONCURRENT</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the configuration property to define if the job can be run concurrently.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_EXPRESSION">PROPERTY_SCHEDULER_EXPRESSION</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the configuration property to define the cron expression for a job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_IMMEDIATE">PROPERTY_SCHEDULER_IMMEDIATE</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the configuration property to define if a periodically job
 should be scheduled immediate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_NAME">PROPERTY_SCHEDULER_NAME</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the configuration property to define the job name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_PERIOD">PROPERTY_SCHEDULER_PERIOD</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the configuration property to define the period for a job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_RUN_ON">PROPERTY_SCHEDULER_RUN_ON</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the configuration property to define the instances this job should run on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_TIMES">PROPERTY_SCHEDULER_TIMES</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Name of the optional configuration property to define the number of times the job
 should be executed when <a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_PERIOD"><code>Scheduler.PROPERTY_SCHEDULER_PERIOD</code></a> is defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateHandler.html#PROPERTY_SCHEMES">PROPERTY_SCHEMES</a></span> - Static variable in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateHandler.html" title="interface in org.apache.sling.installer.api">UpdateHandler</a></dt>
<dd>
<div class="block">Required configuration property defining the schemes, this handler is handling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#PROPERTY_SCRIPT_ENGINE_FACTORY_EXTENSIONS">PROPERTY_SCRIPT_ENGINE_FACTORY_EXTENSIONS</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The event property listing the script engine factory extensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#PROPERTY_SCRIPT_ENGINE_FACTORY_LANGUAGE_NAME">PROPERTY_SCRIPT_ENGINE_FACTORY_LANGUAGE_NAME</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The event property listing the script engine factory language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#PROPERTY_SCRIPT_ENGINE_FACTORY_LANGUAGE_VERSION">PROPERTY_SCRIPT_ENGINE_FACTORY_LANGUAGE_VERSION</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The event property listing the script engine factory language version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#PROPERTY_SCRIPT_ENGINE_FACTORY_MIME_TYPES">PROPERTY_SCRIPT_ENGINE_FACTORY_MIME_TYPES</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The event property listing the script engine factory mime types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#PROPERTY_SCRIPT_ENGINE_FACTORY_NAME">PROPERTY_SCRIPT_ENGINE_FACTORY_NAME</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The event property listing the script engine factory name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#PROPERTY_SCRIPT_ENGINE_FACTORY_VERSION">PROPERTY_SCRIPT_ENGINE_FACTORY_VERSION</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The event property listing the script engine factory name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_SHUTDOWN_GRACEFUL">PROPERTY_SHUTDOWN_GRACEFUL</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the shutdown graceful flag.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#PROPERTY_SHUTDOWN_WAIT_TIME">PROPERTY_SHUTDOWN_WAIT_TIME</a></span> - Static variable in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Configuration property for the shutdown wait time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_TIMED_EVENT_DATE">PROPERTY_TIMED_EVENT_DATE</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_TIMED_EVENT_ID">PROPERTY_TIMED_EVENT_ID</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_TIMED_EVENT_PERIOD">PROPERTY_TIMED_EVENT_PERIOD</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_TIMED_EVENT_SCHEDULE">PROPERTY_TIMED_EVENT_SCHEDULE</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#PROPERTY_TIMED_EVENT_TOPIC">PROPERTY_TIMED_EVENT_TOPIC</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.html#PROPERTY_TOPICS">PROPERTY_TOPICS</a></span> - Static variable in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer">JobConsumer</a></dt>
<dd>
<div class="block">Service registration property defining the jobs this consumer is able to process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutor.html#PROPERTY_TOPICS">PROPERTY_TOPICS</a></span> - Static variable in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutor.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutor</a></dt>
<dd>
<div class="block">Service registration property defining the jobs this executor is able to process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#PROPERTY_USERID">PROPERTY_USERID</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the event property holding the userid.</div>
</dd>
<dt><a href="org/apache/sling/discovery/PropertyProvider.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">PropertyProvider</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">The <code>PropertyProvider</code> service interface may be implemented by
 components that wish to define properties on the local instance which then
 are broadcast to the <code>TopologyView</code> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#PROVIDER_CONTEXT">PROVIDER_CONTEXT</a></span> - Static variable in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>
<div class="block">Allowed value for the <a href="org/apache/sling/api/security/ResourceAccessSecurity.html#CONTEXT"><code>ResourceAccessSecurity.CONTEXT</code></a> service registration property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Sets or resets a property with the given <code>key</code> to a new
 <code>value</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-boolean-">put(boolean)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Append a boolean value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-java.util.Collection-">put(Collection&lt;?&gt;)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put a value in the JSONArray, where the value will be a
 JSONArray which is produced from a Collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-double-">put(double)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Append a double value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-">put(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Append an int value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-long-">put(long)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Append an long value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-java.util.Map-">put(Map&lt;String, ?&gt;)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put a value in the JSONArray, where the value will be a
 JSONObject which is produced from a Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-java.lang.Object-">put(Object)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Append an object value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-boolean-">put(int, boolean)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put or replace a boolean value in the JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-java.util.Collection-">put(int, Collection&lt;?&gt;)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put a value in the JSONArray, where the value will be a
 JSONArray which is produced from a Collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-double-">put(int, double)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put or replace a double value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-int-">put(int, int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put or replace an int value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-long-">put(int, long)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put or replace a long value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-java.util.Map-">put(int, Map&lt;String, ?&gt;)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put a value in the JSONArray, where the value will be a
 JSONObject which is produced from a Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#put-int-java.lang.Object-">put(int, Object)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Put or replace an object value in the JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-java.util.Collection-">put(String, Collection&lt;?&gt;)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/value pair in the JSONObject, where the value will be a
 JSONArray which is produced from a Collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-boolean-">put(String, boolean)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/boolean pair in the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-double-">put(String, double)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/double pair in the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-int-">put(String, int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/int pair in the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-long-">put(String, long)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/long pair in the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-java.util.Map-">put(String, Map&lt;String, ?&gt;)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/value pair in the JSONObject, where the value will be a
 JSONObject which is produced from a Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/value pair in the JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#putAll-java.util.Map-">putAll(Map&lt;? extends String, ? extends Object&gt;)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#putAll-java.util.Map-">putAll(Map&lt;? extends String, ?&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#putAll-java.util.Map-">putAll(Map&lt;? extends String, ?&gt;)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#putAll-java.util.Map-">putAll(Map&lt;? extends String, ? extends Object&gt;)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#putAll-java.util.Map-">putAll(Map&lt;? extends String, ? extends Object&gt;)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#putAll-java.util.Map-">putAll(Map&lt;? extends String, ? extends Object&gt;)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#putOpt-java.lang.String-java.lang.Object-">putOpt(String, Object)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Put a key/value pair in the JSONObject, but only if the
 key and the value are both non-null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/ScriptCache.html#putScript-org.apache.sling.scripting.api.CachedScript-">putScript(CachedScript)</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/ScriptCache.html" title="interface in org.apache.sling.scripting.api">ScriptCache</a></dt>
<dd>
<div class="block">Stores a <a href="org/apache/sling/scripting/api/CachedScript.html" title="interface in org.apache.sling.scripting.api"><code>CachedScript</code></a> in the cache.</div>
</dd>
</dl>
<a name="I:Q">
<!--   -->
</a>
<h2 class="title">Q</h2>
<dl>
<dt><a href="org/apache/sling/api/resource/QueriableResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">QueriableResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">A queriable resource provider is an extension of a resource provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#query-javax.jcr.Session-java.lang.String-java.lang.String-">query(Session, String, String)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Helper method to execute a JCR query.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#queryAllJobs-java.lang.String-java.util.Map...-">queryAllJobs(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return all jobs either running or scheduled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#queryCurrentJobs-java.lang.String-java.util.Map...-">queryCurrentJobs(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return the jobs which are currently in processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#queryJobs-org.apache.sling.event.jobs.JobManager.QueryType-java.lang.String-java.util.Map...-">queryJobs(JobManager.QueryType, String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobManager.html#findJobs-org.apache.sling.event.jobs.JobManager.QueryType-java.lang.String-long-java.util.Map...-"><code>JobManager.findJobs(QueryType, String, long, Map...)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#queryJobs-org.apache.sling.event.jobs.JobManager.QueryType-java.lang.String-long-java.util.Map...-">queryJobs(JobManager.QueryType, String, long, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobManager.html#findJobs-org.apache.sling.event.jobs.JobManager.QueryType-java.lang.String-long-java.util.Map...-"><code>JobManager.findJobs(QueryType, String, long, Map...)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QueriableResourceProvider.html#queryResources-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.lang.String-">queryResources(ResourceResolver, String, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QueriableResourceProvider.html" title="interface in org.apache.sling.api.resource">QueriableResourceProvider</a></dt>
<dd>
<div class="block">Queries the storage using the given query formulated in the given
 language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#queryResources-java.lang.String-java.lang.String-">queryResources(String, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Queries the storage using the given query formulated in the given
 language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#queryScheduledJobs-java.lang.String-java.util.Map...-">queryScheduledJobs(String, Map&lt;String, Object&gt;...)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return a list of currently scheduled jobs.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/QuerySyntaxException.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">QuerySyntaxException</span></a> - Exception in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>QuerySyntaxException</code> is thrown by the
 <a href="org/apache/sling/api/resource/ResourceResolver.html#findResources-java.lang.String-java.lang.String-"><code>ResourceResolver.findResources(String, String)</code></a> and
 <a href="org/apache/sling/api/resource/ResourceResolver.html#queryResources-java.lang.String-java.lang.String-"><code>ResourceResolver.queryResources(String, String)</code></a> methods if the query
 syntax is wrong or the requested query language is not available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QuerySyntaxException.html#QuerySyntaxException-java.lang.String-java.lang.String-java.lang.String-">QuerySyntaxException(String, String, String)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QuerySyntaxException.html" title="class in org.apache.sling.api.resource">QuerySyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/QuerySyntaxException.html#QuerySyntaxException-java.lang.String-java.lang.String-java.lang.String-java.lang.Throwable-">QuerySyntaxException(String, String, String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/QuerySyntaxException.html" title="class in org.apache.sling.api.resource">QuerySyntaxException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#QUEST">QUEST</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '?'.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">Queue</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">This is a job queue processing job events.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/QueueConfiguration.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">QueueConfiguration</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">The configuration of a queue.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/QueueConfiguration.ThreadPriority.html" title="enum in org.apache.sling.event.jobs"><span class="typeNameLink">QueueConfiguration.ThreadPriority</span></a> - Enum in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">The thread priority.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/QueueConfiguration.Type.html" title="enum in org.apache.sling.event.jobs"><span class="typeNameLink">QueueConfiguration.Type</span></a> - Enum in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">The queue type.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/jmx/QueuesMBean.html" title="interface in org.apache.sling.event.jobs.jmx"><span class="typeNameLink">QueuesMBean</span></a> - Interface in <a href="org/apache/sling/event/jobs/jmx/package-summary.html">org.apache.sling.event.jobs.jmx</a></dt>
<dd>
<div class="block">A Marker interface to allow the implementation to register as a service with
 the JMX whiteboard.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#QUOT">QUOT</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '"'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#quote-java.lang.String-">quote(String)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Quote the supplied string for JSON</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#quote-java.io.Writer-java.lang.String-">quote(Writer, String)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Quote the supplied string for JSON, to the supplied Writer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#quote-java.lang.String-">quote(String)</a></span> - Static method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Produce a string in double quotes with backslash sequences in all the
 right places.</div>
</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">RankedServices</span></a>&lt;<a href="org/apache/sling/commons/osgi/RankedServices.html" title="type parameter in RankedServices">T</a>&gt; - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">Helper class that collects all services registered via OSGi bind/unbind methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.html#RankedServices--">RankedServices()</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi">RankedServices</a></dt>
<dd>
<div class="block">Instantiate without change listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.html#RankedServices-org.apache.sling.commons.osgi.RankedServices.ChangeListener-">RankedServices(RankedServices.ChangeListener)</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi">RankedServices</a></dt>
<dd>
<div class="block">Instantiate with change listener.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/RankedServices.ChangeListener.html" title="interface in org.apache.sling.commons.osgi"><span class="typeNameLink">RankedServices.ChangeListener</span></a> - Interface in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">Notification for changes on services list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#READER">READER</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing the
 <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> object (value is "reader").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#recursionLevelActive-int-int-">recursionLevelActive(int, int)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">true if the current recursion level is active</div>
</dd>
<dt><a href="org/apache/sling/api/request/RecursionTooDeepException.html" title="class in org.apache.sling.api.request"><span class="typeNameLink">RecursionTooDeepException</span></a> - Exception in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">The <code>RecursionTooDeepException</code> is thrown by the Sling
 implementation if to many recursive content inclusions take place.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RecursionTooDeepException.html#RecursionTooDeepException-java.lang.String-">RecursionTooDeepException(String)</a></span> - Constructor for exception org.apache.sling.api.request.<a href="org/apache/sling/api/request/RecursionTooDeepException.html" title="class in org.apache.sling.api.request">RecursionTooDeepException</a></dt>
<dd>
<div class="block">Creates a new instance of this class reporting the exception occurred
 while trying to include the output for rendering the resource at the
 given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthenticationSupport.html#REDIRECT_PARAMETER">REDIRECT_PARAMETER</a></span> - Static variable in interface org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthenticationSupport.html" title="interface in org.apache.sling.auth.core">AuthenticationSupport</a></dt>
<dd>
<div class="block">The name of the request parameter indicating where to redirect to after
 successful authentication (and optional impersonation).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#references">references</a></span> - Variable in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>
<div class="block">The list of references - we don't need to synchronize this as we are
 running in one single request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/RefreshableResourceProvider.html#refresh--">refresh()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/RefreshableResourceProvider.html" title="interface in org.apache.sling.api.resource">RefreshableResourceProvider</a></dt>
<dd>
<div class="block">The provider is updated to reflect the latest state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#refresh--">refresh()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">The resolver is updated to reflect the latest state.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/RefreshableResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">RefreshableResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">A resource provider might return the state when it was created and not
 update to the latest state.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/RegisteredResource.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">RegisteredResource</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">A resource that's been registered in the OSGi controller.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/mime/MimeTypeService.html#registerMimeType-java.lang.String-java.lang.String...-">registerMimeType(String, String...)</a></span> - Method in interface org.apache.sling.commons.mime.<a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime">MimeTypeService</a></dt>
<dd>
<div class="block">Dynamically register a new mime type with one or more file name
 extensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/mime/MimeTypeService.html#registerMimeType-java.io.InputStream-">registerMimeType(InputStream)</a></span> - Method in interface org.apache.sling.commons.mime.<a href="org/apache/sling/commons/mime/MimeTypeService.html" title="interface in org.apache.sling.commons.mime">MimeTypeService</a></dt>
<dd>
<div class="block">Register MIME types stored in the given input stream formatted as a
 regular MIME type file format: One entry per line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NodeTypeLoader.html#registerNodeType-javax.jcr.Session-java.net.URL-">registerNodeType(Session, URL)</a></span> - Static method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NodeTypeLoader.html" title="class in org.apache.sling.jcr.base">NodeTypeLoader</a></dt>
<dd>
<div class="block">Registers node types from the CND file accessible by the <code>URL</code>
 with the node type manager available from the given <code>session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NodeTypeLoader.html#registerNodeType-javax.jcr.Session-java.io.InputStream-">registerNodeType(Session, InputStream)</a></span> - Static method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NodeTypeLoader.html" title="class in org.apache.sling.jcr.base">NodeTypeLoader</a></dt>
<dd>
<div class="block">Registers node types from the CND file read from the <code>source</code>
 with the node type manager available from the given <code>session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NodeTypeLoader.html#registerNodeType-javax.jcr.Session-java.lang.String-java.io.Reader-boolean-">registerNodeType(Session, String, Reader, boolean)</a></span> - Static method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NodeTypeLoader.html" title="class in org.apache.sling.jcr.base">NodeTypeLoader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/OsgiInstaller.html#registerResources-java.lang.String-org.apache.sling.installer.api.InstallableResource:A-">registerResources(String, InstallableResource[])</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/OsgiInstaller.html" title="interface in org.apache.sling.installer.api">OsgiInstaller</a></dt>
<dd>
<div class="block">Provide the installer with the complete list of installable
 resources for a given client.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#registerService--">registerService()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Registers this component as an OSGi service with the types provided by
 the <a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getServiceRegistrationInterfaces--"><code>AbstractSlingRepository.getServiceRegistrationInterfaces()</code></a> method and properties
 provided by the <a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#getServiceRegistrationProperties--"><code>AbstractSlingRepository.getServiceRegistrationProperties()</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#registerService--">registerService()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Registers this component as an OSGi service with the types provided by
 the <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getServiceRegistrationInterfaces--"><code>AbstractSlingRepositoryManager.getServiceRegistrationInterfaces()</code></a> method and properties
 provided by the <a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#getServiceRegistrationProperties--"><code>AbstractSlingRepositoryManager.getServiceRegistrationProperties()</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#registryLock">registryLock</a></span> - Variable in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">A lock to serialize access to the registry management in this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/DynamicClassLoaderProvider.html#release-java.lang.ClassLoader-">release(ClassLoader)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/DynamicClassLoaderProvider.html" title="interface in org.apache.sling.commons.classloader">DynamicClassLoaderProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Release the provided class loader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolManager.html#release-org.apache.sling.commons.threads.ThreadPool-">release(ThreadPool)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolManager.html" title="interface in org.apache.sling.commons.threads">ThreadPoolManager</a></dt>
<dd>
<div class="block">Release the thread pool again.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>
<div class="block">Removes the entry with the given <code>key</code> and returns its former
 value (if existing).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#remove-java.lang.String-">remove(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Remove a name and its value, if present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#remove-java.lang.Object-">remove(Object)</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#removeAll--">removeAll()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Remove all outstanding jobs and delete them.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#removeAndValidateWorkspace-java.lang.String-javax.jcr.Session-">removeAndValidateWorkspace(String, Session)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Remove the workspace name, if any, from the start of the path and validate that the
 session's workspace name matches the path workspace name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html#removedService-org.osgi.framework.ServiceReference-java.lang.Object-">removedService(ServiceReference, Object)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi">SortingServiceTracker</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#removeJob-java.lang.String-">removeJob(String)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/commons/scheduler/Scheduler.html#unschedule-java.lang.String-"><code>Scheduler.unschedule(String)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#removeJob-java.lang.String-">removeJob(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobManager.html#removeJobById-java.lang.String-"><code>JobManager.removeJobById(String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#removeJob-java.lang.String-">removeJob(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Cancel this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#removeJob-java.lang.String-java.lang.String-">removeJob(String, String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Cancel this job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#removeJobById-java.lang.String-">removeJobById(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Removes the job even if it is currently in processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/ScriptCache.html#removeScript-java.lang.String-">removeScript(String)</a></span> - Method in interface org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/ScriptCache.html" title="interface in org.apache.sling.scripting.api">ScriptCache</a></dt>
<dd>
<div class="block">Removes the script identified by <code>scriptPath</code> from the cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html#rename-java.lang.String-java.lang.String-">rename(String, String)</a></span> - Method in interface org.apache.sling.commons.classloader.<a href="org/apache/sling/commons/classloader/ClassLoaderWriter.html" title="interface in org.apache.sling.commons.classloader">ClassLoaderWriter</a></dt>
<dd>
<div class="block">Rename a class/resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#replaceAccessControlEntry-javax.jcr.Session-java.lang.String-java.security.Principal-java.lang.String:A-java.lang.String:A-java.lang.String:A-">replaceAccessControlEntry(Session, String, Principal, String[], String[], String[])</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">use @link <a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#replaceAccessControlEntry-javax.jcr.Session-java.lang.String-java.security.Principal-java.lang.String:A-java.lang.String:A-java.lang.String:A-java.lang.String-"><code>AccessControlUtil.replaceAccessControlEntry(Session, String, Principal, String[], String[], String[], String)</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#replaceAccessControlEntry-javax.jcr.Session-java.lang.String-java.security.Principal-java.lang.String:A-java.lang.String:A-java.lang.String:A-java.lang.String-">replaceAccessControlEntry(Session, String, Principal, String[], String[], String[], String)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Replaces existing access control entries in the ACL for the specified
 <code>principal</code> and <code>resourcePath</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#REPOSITORY_REGISTRATION_NAME">REPOSITORY_REGISTRATION_NAME</a></span> - Static variable in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">The JCR Repository service registration property used to create
 the registration name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#REPOSITORY_URL_OVERRIDE_PROPERTY">REPOSITORY_URL_OVERRIDE_PROPERTY</a></span> - Static variable in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">Name of the property that the jcr client and server bundles to override
 their default configuration settings and connect to the specified
 repository instead (SLING-254 and SLING-260)</div>
</dd>
<dt><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util"><span class="typeNameLink">RepositoryAccessor</span></a> - Class in <a href="org/apache/sling/jcr/base/util/package-summary.html">org.apache.sling.jcr.base.util</a></dt>
<dd>
<div class="block">Access a Repository via JNDI or RMI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#RepositoryAccessor--">RepositoryAccessor()</a></span> - Constructor for class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#REQUEST">REQUEST</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing the
 <a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api"><code>SlingHttpServletRequest</code></a> object (value is
 "request").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#REQUEST_ATTR_WORKSPACE_INFO">REQUEST_ATTR_WORKSPACE_INFO</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthenticationSupport.html#REQUEST_ATTRIBUTE_RESOLVER">REQUEST_ATTRIBUTE_RESOLVER</a></span> - Static variable in interface org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthenticationSupport.html" title="interface in org.apache.sling.auth.core">AuthenticationSupport</a></dt>
<dd>
<div class="block">The name of the request attribute set by the
 <a href="org/apache/sling/auth/core/AuthenticationSupport.html#handleSecurity-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationSupport.handleSecurity(HttpServletRequest, HttpServletResponse)</code></a> method
 if authentication succeeds and <code>true</code> is returned.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestLog.html#REQUEST_LOG_NAME">REQUEST_LOG_NAME</a></span> - Static variable in interface org.apache.sling.engine.<a href="org/apache/sling/engine/RequestLog.html" title="interface in org.apache.sling.engine">RequestLog</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the service property which is compared to the name of the
 RequestLog service to be used to write the log messages (value is
 "requestlog.name").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#REQUEST_LOGIN_PARAMETER">REQUEST_LOGIN_PARAMETER</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">The request parameter which may be used to explicitly select an
 authentication handler by its <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#TYPE_PROPERTY"><code>type</code></a> if
 authentication will be requested through
 <a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#requestCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthenticationHandler.requestCredentials(HttpServletRequest, HttpServletResponse)</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/RequestAttribute.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">RequestAttribute</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject a
 request attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/auth/AuthenticationHandler.html#requestAuthentication-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">requestAuthentication(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.engine.auth.<a href="org/apache/sling/engine/auth/AuthenticationHandler.html" title="interface in org.apache.sling.engine.auth">AuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Requests authentication information from the client.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#requestCredentials-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">requestCredentials(HttpServletRequest, HttpServletResponse)</a></span> - Method in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">Requests authentication information from the client.</div>
</dd>
<dt><a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request"><span class="typeNameLink">RequestDispatcherOptions</span></a> - Class in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block"><code>RequestDispatcherOptions</code> are used in the
 <a href="org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher-org.apache.sling.api.resource.Resource-org.apache.sling.api.request.RequestDispatcherOptions-"><code>SlingHttpServletRequest.getRequestDispatcher(org.apache.sling.api.resource.Resource, RequestDispatcherOptions)</code></a>
 method, to give more control on some aspects of the include/forward
 mechanism.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#RequestDispatcherOptions--">RequestDispatcherOptions()</a></span> - Constructor for class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Creates an instance with no options set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#RequestDispatcherOptions-java.lang.String-">RequestDispatcherOptions(String)</a></span> - Constructor for class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Creates a new instances setting options by parsing the given
 <code>options</code> string as follows:
 
 If the string is empty or <code>null</code> no options are set.
 If the string neither contains a comma nor an equals sign, the
 string is assumed to be a resource type.</div>
</dd>
<dt><a href="org/apache/sling/i18n/RequestLocaleResolver.html" title="interface in org.apache.sling.i18n"><span class="typeNameLink">RequestLocaleResolver</span></a> - Interface in <a href="org/apache/sling/i18n/package-summary.html">org.apache.sling.i18n</a></dt>
<dd>
<div class="block">The <code>RequestLocaleResolver</code> service interface may be implemented by a
 service registered under this name to allow the resolution of the request
 <code>Locale</code> to apply.</div>
</dd>
<dt><a href="org/apache/sling/engine/RequestLog.html" title="interface in org.apache.sling.engine"><span class="typeNameLink">RequestLog</span></a> - Interface in <a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use the request progress tracker instead.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/api/request/RequestParameter.html" title="interface in org.apache.sling.api.request"><span class="typeNameLink">RequestParameter</span></a> - Interface in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">The <code>RequestParameter</code> class represents a single parameter sent
 with the client request.</div>
</dd>
<dt><a href="org/apache/sling/api/request/RequestParameterMap.html" title="interface in org.apache.sling.api.request"><span class="typeNameLink">RequestParameterMap</span></a> - Interface in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">The <code>RequestParameterMap</code> encapsulates all request parameters of
 a request.</div>
</dd>
<dt><a href="org/apache/sling/api/request/RequestPathInfo.html" title="interface in org.apache.sling.api.request"><span class="typeNameLink">RequestPathInfo</span></a> - Interface in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">Sling breaks the request URI into four parts: the path itself, optional
 dot-separated selectors and extension that follow it, and an optional path
 suffix.</div>
</dd>
<dt><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx"><span class="typeNameLink">RequestProcessorMBean</span></a> - Interface in <a href="org/apache/sling/engine/jmx/package-summary.html">org.apache.sling.engine.jmx</a></dt>
<dd>
<div class="block">This is the management interface for the SlingRequestProcessor.</div>
</dd>
<dt><a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request"><span class="typeNameLink">RequestProgressTracker</span></a> - Interface in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">The <code>RequestProgressTracker</code> class provides the functionality to
 track the progress of request processing.</div>
</dd>
<dt><a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request"><span class="typeNameLink">RequestUtil</span></a> - Class in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">Request related utility methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestUtil.html#RequestUtil--">RequestUtil()</a></span> - Constructor for class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request">RequestUtil</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/RequestUtil.html" title="class in org.apache.sling.engine"><span class="typeNameLink">RequestUtil</span></a> - Class in <a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request"><code>RequestUtil</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestUtil.html#RequestUtil--">RequestUtil()</a></span> - Constructor for class org.apache.sling.engine.<a href="org/apache/sling/engine/RequestUtil.html" title="class in org.apache.sling.engine">RequestUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/Required.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Required</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Marker annotation for required injections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#requireItemPathPrefix-org.apache.sling.api.SlingHttpServletRequest-">requireItemPathPrefix(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Returns true if any of the request parameters starts with
 <a href="org/apache/sling/servlets/post/SlingPostConstants.html#ITEM_PREFIX_RELATIVE_CURRENT"><code><code>./</code></code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#reschedule--">reschedule()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Reschedule this job with a new rescheduling information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#rescheduleJob-org.osgi.service.event.Event-">rescheduleJob(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#rescheduleJob-org.osgi.service.event.Event-"><code>JobUtil.rescheduleJob(Event)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#rescheduleJob-org.osgi.service.event.Event-">rescheduleJob(Event)</a></span> - Static method in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/consumer/JobConsumer.html" title="interface in org.apache.sling.event.jobs.consumer"><code>JobConsumer</code></a> interface instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistableValueMap.html#reset--">reset()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistableValueMap.html" title="interface in org.apache.sling.api.resource">PersistableValueMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Reset the changes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Statistics.html#reset--">reset()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs">Statistics</a></dt>
<dd>
<div class="block">Clear all collected statistics and set the starting time to the current time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#reset--">reset()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html#resetStatistics--">resetStatistics()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/FilterProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">FilterProcessorMBean</a></dt>
<dd>
<div class="block">Resets all statistics values and restarts from zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html#resetStatistics--">resetStatistics()</a></span> - Method in interface org.apache.sling.engine.jmx.<a href="org/apache/sling/engine/jmx/RequestProcessorMBean.html" title="interface in org.apache.sling.engine.jmx">RequestProcessorMBean</a></dt>
<dd>
<div class="block">Resets all statistics values and restarts from zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH">RESOLUTION_PATH</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">The name of the required property providing the part of the request URI
 which was used to the resolve the resource to which the meta data
 instance belongs (value is "sling.resolutionPath").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH_INFO">RESOLUTION_PATH_INFO</a></span> - Static variable in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">The name of the required property providing the part of the request URI
 which was not used to the resolve the resource to which the meta data
 instance belongs (value is "sling.resolutionPathInfo").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-">resolve(HttpServletRequest, String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Resolves the resource from the given <code>absPath</code> optionally
 taking <code>HttpServletRequest</code> into account, such as the value of
 the <code>Host</code> request header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-java.lang.String-">resolve(String)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Resolves the resource from the given absolute path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-">resolve(HttpServletRequest)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of 2.0.4, use <a href="org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-"><code>ResourceResolver.resolve(HttpServletRequest, String)</code></a>
             instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/DefaultLocaleResolver.html#resolveLocale-org.apache.sling.api.SlingHttpServletRequest-">resolveLocale(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.i18n.<a href="org/apache/sling/i18n/DefaultLocaleResolver.html" title="class in org.apache.sling.i18n">DefaultLocaleResolver</a></dt>
<dd>
<div class="block">Return the Locales provided by the
 <code>ServletRequest.getLocales()</code> method collected in a
 <code>List</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/DefaultLocaleResolver.html#resolveLocale-javax.servlet.http.HttpServletRequest-">resolveLocale(HttpServletRequest)</a></span> - Method in class org.apache.sling.i18n.<a href="org/apache/sling/i18n/DefaultLocaleResolver.html" title="class in org.apache.sling.i18n">DefaultLocaleResolver</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/LocaleResolver.html#resolveLocale-org.apache.sling.api.SlingHttpServletRequest-">resolveLocale(SlingHttpServletRequest)</a></span> - Method in interface org.apache.sling.i18n.<a href="org/apache/sling/i18n/LocaleResolver.html" title="interface in org.apache.sling.i18n">LocaleResolver</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return a non-<code>null</code> but possiby empty list of
 <code>Locale</code> instances to consider for localization of the current
 request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/i18n/RequestLocaleResolver.html#resolveLocale-javax.servlet.http.HttpServletRequest-">resolveLocale(HttpServletRequest)</a></span> - Method in interface org.apache.sling.i18n.<a href="org/apache/sling/i18n/RequestLocaleResolver.html" title="interface in org.apache.sling.i18n">RequestLocaleResolver</a></dt>
<dd>
<div class="block">Return a non-<code>null</code> but possibly empty list of
 <code>Locale</code> instances to consider for localization of the current
 request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#resolvePath-java.lang.String-java.lang.String-">resolvePath(String, String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Resolves the given path with respect to the current root path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/ServletResolver.html#resolveServlet-org.apache.sling.api.SlingHttpServletRequest-">resolveServlet(SlingHttpServletRequest)</a></span> - Method in interface org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/ServletResolver.html" title="interface in org.apache.sling.api.servlets">ServletResolver</a></dt>
<dd>
<div class="block">Resolves a <code>javax.servlet.Servlet</code> whose
 <code>service</code> method may be used to handle the given
 <code>request</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/ServletResolver.html#resolveServlet-org.apache.sling.api.resource.Resource-java.lang.String-">resolveServlet(Resource, String)</a></span> - Method in interface org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/ServletResolver.html" title="interface in org.apache.sling.api.servlets">ServletResolver</a></dt>
<dd>
<div class="block">Resolves a <code>javax.servlet.Servlet</code> whose
 <code>service</code> method may be used to handle a request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/ServletResolver.html#resolveServlet-org.apache.sling.api.resource.ResourceResolver-java.lang.String-">resolveServlet(ResourceResolver, String)</a></span> - Method in interface org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/ServletResolver.html" title="interface in org.apache.sling.api.servlets">ServletResolver</a></dt>
<dd>
<div class="block">Resolves a <code>javax.servlet.Servlet</code> whose
 <code>service</code> method may be used to handle a request.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">Resource</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">Resources are pieces of content on which Sling acts</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#RESOURCE">RESOURCE</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing the
 <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> object (value is
 "resource").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html#resource">resource</a></span> - Variable in class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor.Entry</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/installer/api/info/Resource.html" title="interface in org.apache.sling.installer.api.info"><span class="typeNameLink">Resource</span></a> - Interface in <a href="org/apache/sling/installer/api/info/package-summary.html">org.apache.sling.installer.api.info</a></dt>
<dd>
<div class="block">A resource provides all relevant information about a registered
 resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#RESOURCE_IS_TEMPLATE">RESOURCE_IS_TEMPLATE</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Optional parameter to be passed in the dictionary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/ResourceChangeListener.html#RESOURCE_PERSIST">RESOURCE_PERSIST</a></span> - Static variable in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/ResourceChangeListener.html" title="interface in org.apache.sling.installer.api">ResourceChangeListener</a></dt>
<dd>
<div class="block">This attribute defines if a change of the resource should be persisted by the
 installer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/Resource.html#RESOURCE_TYPE_NON_EXISTING">RESOURCE_TYPE_NON_EXISTING</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource">Resource</a></dt>
<dd>
<div class="block">The special resource type for resource instances representing nonexisting
 resources (value is "sling:nonexisting").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#RESOURCE_TYPE_SYNTHETIC">RESOURCE_TYPE_SYNTHETIC</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">The resource type be set on resources returned by the
 <a href="org/apache/sling/api/resource/ResourceProvider.html#listChildren-org.apache.sling.api.resource.Resource-"><code>ResourceProvider.listChildren(Resource)</code></a> method to enable traversing the
 resource
 tree down to a deeply nested provided resource which has no concrete
 parent hierarchy (value is"sling:syntheticResourceProviderResource").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#RESOURCE_URI_HINT">RESOURCE_URI_HINT</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">Optional parameter in the dictionary if a resource (not a dict) is installed.</div>
</dd>
<dt><a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security"><span class="typeNameLink">ResourceAccessSecurity</span></a> - Interface in <a href="org/apache/sling/api/security/package-summary.html">org.apache.sling.api.security</a></dt>
<dd>
<div class="block">The <code>ResourceAccessSecurity</code> defines a service API which is
 used in two different context: for securing resource providers which
 have no own access control and on the application level to further
 restrict the access to resources in general.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/ResourceChangeListener.html#resourceAddedOrUpdated-java.lang.String-java.lang.String-java.io.InputStream-java.util.Dictionary-java.util.Map-">resourceAddedOrUpdated(String, String, InputStream, Dictionary&lt;String, Object&gt;, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/ResourceChangeListener.html" title="interface in org.apache.sling.installer.api">ResourceChangeListener</a></dt>
<dd>
<div class="block">Inform the installer about an added or updated
 resource</div>
</dd>
<dt><a href="org/apache/sling/i18n/ResourceBundleProvider.html" title="interface in org.apache.sling.i18n"><span class="typeNameLink">ResourceBundleProvider</span></a> - Interface in <a href="org/apache/sling/i18n/package-summary.html">org.apache.sling.i18n</a></dt>
<dd>
<div class="block">The <code>ResourceBundleProvider</code> service interface defines the API
 for a service, which is capable of returned <code>ResourceBundle</code> for
 given any <code>Locale</code>.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/ResourceChangeListener.html" title="interface in org.apache.sling.installer.api"><span class="typeNameLink">ResourceChangeListener</span></a> - Interface in <a href="org/apache/sling/installer/api/package-summary.html">org.apache.sling.installer.api</a></dt>
<dd>
<div class="block">OSGi Service listening for changes of resources.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceDecorator.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ResourceDecorator</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">Optional service to decorate <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a>s returned by
 the <a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><code>ResourceResolver</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/info/ResourceGroup.html" title="interface in org.apache.sling.installer.api.info"><span class="typeNameLink">ResourceGroup</span></a> - Interface in <a href="org/apache/sling/installer/api/info/package-summary.html">org.apache.sling.installer.api.info</a></dt>
<dd>
<div class="block">This is a group of resources all pointing to the same artifact,
 but maybe in different versions or locations.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">ResourceMetadata</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ResourceMetadata</code> interface defines the API for the
 metadata of a Sling <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#ResourceMetadata--">ResourceMetadata()</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/ResourceNotFoundException.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">ResourceNotFoundException</span></a> - Exception in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">An Exception that causes Sling to return a 404 (NOT FOUND) status code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceNotFoundException.html#ResourceNotFoundException-java.lang.String-">ResourceNotFoundException(String)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceNotFoundException.html" title="class in org.apache.sling.api.resource">ResourceNotFoundException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceNotFoundException.html#ResourceNotFoundException-java.lang.String-java.lang.String-">ResourceNotFoundException(String, String)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceNotFoundException.html" title="class in org.apache.sling.api.resource">ResourceNotFoundException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceNotFoundException.html#ResourceNotFoundException-java.lang.String-java.lang.Throwable-">ResourceNotFoundException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceNotFoundException.html" title="class in org.apache.sling.api.resource">ResourceNotFoundException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceNotFoundException.html#ResourceNotFoundException-java.lang.String-java.lang.String-java.lang.Throwable-">ResourceNotFoundException(String, String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceNotFoundException.html" title="class in org.apache.sling.api.resource">ResourceNotFoundException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/ResourcePath.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">ResourcePath</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject a
 resource by path(s).</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ResourceProvider</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">API for providers of resources.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ResourceProviderFactory</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ResourceProviderFactory</code> defines the service API to get and
 create <code>ResourceProviders</code>s dynamically on a per usage base.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/ResourceChangeListener.html#resourceRemoved-java.lang.String-java.lang.String-">resourceRemoved(String, String)</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/ResourceChangeListener.html" title="interface in org.apache.sling.installer.api">ResourceChangeListener</a></dt>
<dd>
<div class="block">Inform the installer about a removed resource</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ResourceResolver</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ResourceResolver</code> defines the service API which may be used
 to resolve <a href="org/apache/sling/api/resource/Resource.html" title="interface in org.apache.sling.api.resource"><code>Resource</code></a> objects.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ResourceResolverFactory</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ResourceResolverFactory</code> defines the service API to get and
 create <code>ResourceResolver</code>s.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/ResourceState.html" title="enum in org.apache.sling.installer.api.tasks"><span class="typeNameLink">ResourceState</span></a> - Enum in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">The state of a resource.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/ResourceTransformer.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">ResourceTransformer</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">A resource transformer transform a registered resource
 before it can be installed.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/sling/ResourceTraversor.html" title="class in org.apache.sling.commons.json.sling"><span class="typeNameLink">ResourceTraversor</span></a> - Class in <a href="org/apache/sling/commons/json/sling/package-summary.html">org.apache.sling.commons.json.sling</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/sling/ResourceTraversor.html#ResourceTraversor-int-long-org.apache.sling.api.resource.Resource-boolean-">ResourceTraversor(int, long, Resource, boolean)</a></span> - Constructor for class org.apache.sling.commons.json.sling.<a href="org/apache/sling/commons/json/sling/ResourceTraversor.html" title="class in org.apache.sling.commons.json.sling">ResourceTraversor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/sling/ResourceTraversor.Entry.html" title="class in org.apache.sling.commons.json.sling"><span class="typeNameLink">ResourceTraversor.Entry</span></a> - Class in <a href="org/apache/sling/commons/json/sling/package-summary.html">org.apache.sling.commons.json.sling</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#resourceTypeToPath-java.lang.String-">resourceTypeToPath(String)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Helper method, which returns the given resource type as returned from the
 <a href="org/apache/sling/api/resource/Resource.html#getResourceType--"><code>Resource.getResourceType()</code></a> as a
 relative path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#resourceTypeToPath-java.lang.String-">resourceTypeToPath(String)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/resource/ResourceUtil.html#resourceTypeToPath-java.lang.String-"><code>ResourceUtil.resourceTypeToPath(String)</code></a></span></div>
</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">ResourceUtil</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ResourceUtil</code> class provides helper methods dealing with
 resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#ResourceUtil--">ResourceUtil()</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/resource/ResourceUtil.BatchResourceRemover.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">ResourceUtil.BatchResourceRemover</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">A batch resource remover deletes resources in batches.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">ResourceWrapper</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ResourceWrapper</code> is a wrapper for any <code>Resource</code>
 delegating all method calls to the wrapped resource by default.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#ResourceWrapper-org.apache.sling.api.resource.Resource-">ResourceWrapper(Resource)</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Creates a new wrapper instance delegating all method calls to the given
 <code>resource</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#RESPONSE">RESPONSE</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing the
 <a href="org/apache/sling/api/SlingHttpServletResponse.html" title="interface in org.apache.sling.api"><code>SlingHttpServletResponse</code></a> object (value is
 "response").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#RESPONSE_CONTENT_TYPE">RESPONSE_CONTENT_TYPE</a></span> - Static variable in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/request/ResponseUtil.html" title="class in org.apache.sling.api.request"><span class="typeNameLink">ResponseUtil</span></a> - Class in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">Response related utility methods</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/ResponseUtil.html#ResponseUtil--">ResponseUtil()</a></span> - Constructor for class org.apache.sling.api.request.<a href="org/apache/sling/api/request/ResponseUtil.html" title="class in org.apache.sling.api.request">ResponseUtil</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/ResponseUtil.html" title="class in org.apache.sling.engine"><span class="typeNameLink">ResponseUtil</span></a> - Class in <a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/api/request/ResponseUtil.html" title="class in org.apache.sling.api.request"><code>ResponseUtil</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/ResponseUtil.html#ResponseUtil--">ResponseUtil()</a></span> - Constructor for class org.apache.sling.engine.<a href="org/apache/sling/engine/ResponseUtil.html" title="class in org.apache.sling.engine">ResponseUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#restart--">restart()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This method does nothing</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#result--">result()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">Build a result for the processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#resume--">resume()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Resume a suspended queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#resume--">resume()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Resume job processing.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/RetryHandler.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">RetryHandler</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">The retry handler should be informed by external services
 whenever something in the system changed which might make
 it worth to retry a failed installed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#retryJobById-java.lang.String-">retryJobById(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Retry a cancelled job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ModifyingResourceProvider.html#revert-org.apache.sling.api.resource.ResourceResolver-">revert(ResourceResolver)</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ModifyingResourceProvider.html" title="interface in org.apache.sling.api.resource">ModifyingResourceProvider</a></dt>
<dd>
<div class="block">Revert all transient changes: create, delete and updates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#revert--">revert()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">Revert all pending changes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html#RMI_PREFIX">RMI_PREFIX</a></span> - Static variable in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/RepositoryAccessor.html" title="class in org.apache.sling.jcr.base.util">RepositoryAccessor</a></dt>
<dd>
<div class="block">Prefix for RMI Repository URLs</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#ROOTS">ROOTS</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">The name of the service registration property containing the root paths
 of the resources provided by this provider (value is "provider.roots").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#rowToJSONArray-org.apache.sling.commons.json.JSONTokener-">rowToJSONArray(JSONTokener)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a JSONArray of strings from a row of comma delimited values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#rowToJSONObject-org.apache.sling.commons.json.JSONArray-org.apache.sling.commons.json.JSONTokener-">rowToJSONObject(JSONArray, JSONTokener)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a JSONObject from a row of comma delimited text, using a
 parallel JSONArray of strings to provides the names of the elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#rowToString-org.apache.sling.commons.json.JSONArray-">rowToString(JSONArray)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a comma delimited text row from a JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_APPLY_TO">RP_APPLY_TO</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter used to indicate the resource to apply the
 operation to (value is ":applyTo").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_APPLY_TO_CHUNKS">RP_APPLY_TO_CHUNKS</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating request operation is applicable
 to chunks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_AUTO_CHECKOUT">RP_AUTO_CHECKOUT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating whether versionable nodes should
 be checked in during an <a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_IMPORT"><code>SlingPostConstants.OPERATION_IMPORT</code></a> operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_CHECKIN">RP_CHECKIN</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating whether versionable nodes should
 be checked in during an <a href="org/apache/sling/servlets/post/SlingPostConstants.html#OPERATION_IMPORT"><code>SlingPostConstants.OPERATION_IMPORT</code></a> operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_CONTENT">RP_CONTENT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter containing the content to be imported
 by the 'import' operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_CONTENT_FILE">RP_CONTENT_FILE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter containing the file to be imported
 by the 'import' operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_CONTENT_TYPE">RP_CONTENT_TYPE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter containing the content type of the content
 to be imported by the 'import' operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_DEST">RP_DEST</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter used to indicate the destination for the
 copy and move operations (value is ":dest").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_DISPLAY_EXTENSION">RP_DISPLAY_EXTENSION</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request parameter: if provided, added at the end of the computed
 (or supplied) redirect URL</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_NODE_NAME">RP_NODE_NAME</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request paramter specifying a node name for a newly created node
 (value is ":name").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_NODE_NAME_HINT">RP_NODE_NAME_HINT</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request paramter specifying a node name hint for a newly created
 node (value is ":nameHint").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_NOP_STATUS">RP_NOP_STATUS</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request parameter to indicate the actual response status to
 send back as a result of calling the #OPERATION_NOP (value is ":nopstatus").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_OPERATION">RP_OPERATION</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">The name of the parameter containing the operation to execute (value is
 ":operation").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_ORDER">RP_ORDER</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request parameter indicating the order of newly created nodes in
 creation, copy and move operation requests (value is ":order").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_PREFIX">RP_PREFIX</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Prefix for parameter names which control this POST (RP_ stands for
 "request param") (value is ":").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_REDIRECT_TO">RP_REDIRECT_TO</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request parameter: redirect to the specified URL after POST</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_REMOVE_EXISTING">RP_REMOVE_EXISTING</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating whether the nodes existing
 outside the versioning graph should be removed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_REPLACE">RP_REPLACE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating whether the destination for a
 copy or move operation is to be replaced if existing (value is
 ":replace").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_REPLACE_PROPERTIES">RP_REPLACE_PROPERTIES</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating whether the destination for a
 property change during an import operation is to be replaced if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_SEND_ERROR">RP_SEND_ERROR</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request parameter: defines if to enable the error handling 
 also for POST request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_STATUS">RP_STATUS</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Optional request parameter: define how the response is sent back to the
 client.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_VERSION">RP_VERSION</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating the name or the label of the
 resource version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#run--">run()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.PostResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-">run(SlingHttpServletRequest, PostResponse, SlingPostProcessor[])</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractPostOperation</a></dt>
<dd>
<div class="block">Prepares and finalizes the actual operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.servlets.HtmlResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-">run(SlingHttpServletRequest, HtmlResponse, SlingPostProcessor[])</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractSlingPostOperation.html" title="class in org.apache.sling.servlets.post">AbstractSlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Implementation of the
 <a href="org/apache/sling/servlets/post/SlingPostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.servlets.HtmlResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-"><code>SlingPostOperation.run(SlingHttpServletRequest, HtmlResponse, SlingPostProcessor[])</code></a>
 API method calling the
 <a href="org/apache/sling/servlets/post/PostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.PostResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-"><code>PostOperation.run(SlingHttpServletRequest, PostResponse, SlingPostProcessor[])</code></a>
 with a proxy around the Sling API <code>HtmlResponse</code> provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.servlets.post.PostResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-">run(SlingHttpServletRequest, PostResponse, SlingPostProcessor[])</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post">PostOperation</a></dt>
<dd>
<div class="block">Executes the operation provided by this service implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostOperation.html#run-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.servlets.HtmlResponse-org.apache.sling.servlets.post.SlingPostProcessor:A-">run(SlingHttpServletRequest, HtmlResponse, SlingPostProcessor[])</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostOperation.html" title="interface in org.apache.sling.servlets.post">SlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Executes the operation provided by this service implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#RUN_MODE_INSTALL_OPTIONS">RUN_MODE_INSTALL_OPTIONS</a></span> - Static variable in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">The name of the framework property defining the list
 of run mode options for installation time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#RUN_MODE_OPTIONS">RUN_MODE_OPTIONS</a></span> - Static variable in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">The name of the framework property defining the list
 of run mode options
 The value is a comma separated list of options where each option
 contains of a set of run modes separated by a | character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#RUN_MODES_PROPERTY">RUN_MODES_PROPERTY</a></span> - Static variable in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">The name of the framework property defining the set of used
 run modes.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#safePut-java.lang.String-java.lang.Object-">safePut(String, Object)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Helper method which invokes <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/HashMap.html?is-external=true#put-K-V-" title="class or interface in java.util"><code>HashMap.put(Object, Object)</code></a> only if the value is not null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/PersistableValueMap.html#save--">save()</a></span> - Method in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/PersistableValueMap.html" title="interface in org.apache.sling.api.resource">PersistableValueMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Persists the changes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html#save--">save()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrModifiablePropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrModifiablePropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#schedule-java.lang.Object-org.apache.sling.commons.scheduler.ScheduleOptions-">schedule(Object, ScheduleOptions)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Schedule a job based on the options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.html#schedule--">schedule()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder</a></dt>
<dd>
<div class="block">Schedule the job</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">ScheduledJobInfo</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">Information about a scheduled job</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/ScheduleInfo.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">ScheduleInfo</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">Scheduling information.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/ScheduleInfo.ScheduleType.html" title="enum in org.apache.sling.event.jobs"><span class="typeNameLink">ScheduleInfo.ScheduleType</span></a> - Enum in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/scheduler/ScheduleOptions.html" title="interface in org.apache.sling.commons.scheduler"><span class="typeNameLink">ScheduleOptions</span></a> - Interface in <a href="org/apache/sling/commons/scheduler/package-summary.html">org.apache.sling.commons.scheduler</a></dt>
<dd>
<div class="block">Scheduler options provide an extensible way of defining how to schedule a job.</div>
</dd>
<dt><a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler"><span class="typeNameLink">Scheduler</span></a> - Interface in <a href="org/apache/sling/commons/scheduler/package-summary.html">org.apache.sling.commons.scheduler</a></dt>
<dd>
<div class="block">A scheduler to schedule time/cron based jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/RetryHandler.html#scheduleRetry--">scheduleRetry()</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/RetryHandler.html" title="interface in org.apache.sling.installer.api.tasks">RetryHandler</a></dt>
<dd>
<div class="block">Schedule a retry.</div>
</dd>
<dt><a href="org/apache/sling/scripting/api/ScriptCache.html" title="interface in org.apache.sling.scripting.api"><span class="typeNameLink">ScriptCache</span></a> - Interface in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>
<div class="block">The <code>ScriptCache</code> service interface defines a cache for compiled scripts.</div>
</dd>
<dt><a href="org/apache/sling/api/scripting/ScriptEvaluationException.html" title="class in org.apache.sling.api.scripting"><span class="typeNameLink">ScriptEvaluationException</span></a> - Exception in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block">The <code>ScriptEvaluationException</code> is thrown by the
 <a href="org/apache/sling/api/scripting/SlingScript.html#eval-org.apache.sling.api.scripting.SlingBindings-"><code>SlingScript.eval(SlingBindings)</code></a> method if an error occurrs evaluating
 the script.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/ScriptEvaluationException.html#ScriptEvaluationException-java.lang.String-java.lang.String-">ScriptEvaluationException(String, String)</a></span> - Constructor for exception org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/ScriptEvaluationException.html" title="class in org.apache.sling.api.scripting">ScriptEvaluationException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/ScriptEvaluationException.html#ScriptEvaluationException-java.lang.String-java.lang.String-java.lang.Throwable-">ScriptEvaluationException(String, String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/ScriptEvaluationException.html" title="class in org.apache.sling.api.scripting">ScriptEvaluationException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core"><span class="typeNameLink">ScriptHelper</span></a> - Class in <a href="org/apache/sling/scripting/core/package-summary.html">org.apache.sling.scripting.core</a></dt>
<dd>
<div class="block">Simple script helper providing access to the (wrapped) response, the
 on-demand writer and a simple API for request inclusion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#ScriptHelper-org.osgi.framework.BundleContext-org.apache.sling.api.scripting.SlingScript-">ScriptHelper(BundleContext, SlingScript)</a></span> - Constructor for class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#ScriptHelper-org.osgi.framework.BundleContext-org.apache.sling.api.scripting.SlingScript-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">ScriptHelper(BundleContext, SlingScript, SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Constructor for class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/scripting/api/ScriptNameAware.html" title="interface in org.apache.sling.scripting.api"><span class="typeNameLink">ScriptNameAware</span></a> - Interface in <a href="org/apache/sling/scripting/api/package-summary.html">org.apache.sling.scripting.api</a></dt>
<dd>
<div class="block">Marker interface for various <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>s from which a script's name can be obtained.</div>
</dd>
<dt><a href="org/apache/sling/scripting/core/ScriptNameAwareReader.html" title="class in org.apache.sling.scripting.core"><span class="typeNameLink">ScriptNameAwareReader</span></a> - Class in <a href="org/apache/sling/scripting/core/package-summary.html">org.apache.sling.scripting.core</a></dt>
<dd>
<div class="block">The <code>ScriptNameAwareReader</code> is a <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FilterReader.html?is-external=true" title="class or interface in java.io"><code>FilterReader</code></a> marked with the <a href="org/apache/sling/scripting/api/ScriptNameAware.html" title="interface in org.apache.sling.scripting.api"><code>ScriptNameAware</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptNameAwareReader.html#ScriptNameAwareReader-java.io.Reader-java.lang.String-">ScriptNameAwareReader(Reader, String)</a></span> - Constructor for class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptNameAwareReader.html" title="class in org.apache.sling.scripting.core">ScriptNameAwareReader</a></dt>
<dd>
<div class="block">Creates a <code>ScriptNameAwareReader</code> based on another <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/ScriptVariable.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">ScriptVariable</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject a
 script variable (from the org.apache.sling.api.scripting.SlingBindings)</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/Self.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">Self</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameters to let Sling Models
 inject the adaptable itself, or an object that can be adapted from it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#send-javax.servlet.http.HttpServletResponse-boolean-">send(HttpServletResponse, boolean)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Writes the response to the given writer and replaces all ${var} patterns
 by the value of the respective property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#send-javax.servlet.http.HttpServletResponse-boolean-">send(HttpServletResponse, boolean)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Writes the response to the given writer and replaces all ${var} patterns
 by the value of the respective property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#send-javax.servlet.http.HttpServletResponse-boolean-">send(HttpServletResponse, boolean)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Writes the response back over the provided HTTP channel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#sendInvalid-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">sendInvalid(HttpServletRequest, HttpServletResponse)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Sends a 403/FORBIDDEN response optionally stating the reason for this
 response code in the <code>#X_REASON</code> header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#sendInvalid-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">sendInvalid(HttpServletRequest, HttpServletResponse)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#sendInvalid-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>AuthUtil.sendInvalid(HttpServletRequest, HttpServletResponse)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#sendRedirect-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-java.lang.String-java.util.Map-">sendRedirect(HttpServletRequest, HttpServletResponse, String, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Redirects to the given target path appending any parameters provided in
 the parameter map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#sendRedirect-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-java.lang.String-java.util.Map-">sendRedirect(HttpServletRequest, HttpServletResponse, String, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#sendRedirect-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-java.lang.String-java.util.Map-"><code>AuthUtil.sendRedirect(HttpServletRequest, HttpServletResponse, String, Map)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#sendValid-javax.servlet.http.HttpServletResponse-">sendValid(HttpServletResponse)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Sends a 200/OK response to a credential validation request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#sendValid-javax.servlet.http.HttpServletResponse-">sendValid(HttpServletResponse)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#sendValid-javax.servlet.http.HttpServletResponse-"><code>AuthUtil.sendValid(HttpServletResponse)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#service-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-">service(SlingHttpServletRequest, SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Called by the <a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#service-javax.servlet.ServletRequest-javax.servlet.ServletResponse-"><code>SlingSafeMethodsServlet.service(ServletRequest, ServletResponse)</code></a> method to
 handle the HTTP request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#service-javax.servlet.ServletRequest-javax.servlet.ServletResponse-">service(ServletRequest, ServletResponse)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>
<div class="block">Forwards the request to the
 <a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#service-org.apache.sling.api.SlingHttpServletRequest-org.apache.sling.api.SlingHttpServletResponse-"><code>SlingSafeMethodsServlet.service(SlingHttpServletRequest, SlingHttpServletResponse)</code></a>
 method if the request is a HTTP request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#service-javax.servlet.ServletRequest-javax.servlet.ServletResponse-">service(ServletRequest, ServletResponse)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>
<div class="block">Services the request by delegating to the delegatee servlet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#service-javax.servlet.ServletRequest-javax.servlet.ServletResponse-">service(ServletRequest, ServletResponse)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>
<div class="block">If Sling has already been started, the request is forwarded to the
 started Sling framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProviderFactory.html#SERVICE_BUNDLE">SERVICE_BUNDLE</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProviderFactory.html" title="interface in org.apache.sling.api.resource">ResourceProviderFactory</a></dt>
<dd>
<div class="block">The authentication information property referring to the bundle
 providing a service for which a resource provider is to be retrieved.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/AdapterFactory.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/AdapterFactory.html" title="interface in org.apache.sling.api.adapter">AdapterFactory</a></dt>
<dd>
<div class="block">The service name to use when registering implementations of this
 interface as services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/AdapterManager.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/AdapterManager.html" title="interface in org.apache.sling.api.adapter">AdapterManager</a></dt>
<dd>
<div class="block">The name under which this service is registered with the OSGi service
 registry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/auth/Authenticator.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.api.auth.<a href="org/apache/sling/api/auth/Authenticator.html" title="interface in org.apache.sling.api.auth">Authenticator</a></dt>
<dd>
<div class="block">The name under which this service is registered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestListener.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestListener.html" title="interface in org.apache.sling.api.request">SlingRequestListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">The service name to use when registering implementations of this
 interface as services (value is
 "org.apache.sling.api.resource.ResourceProvider").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthenticationSupport.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthenticationSupport.html" title="interface in org.apache.sling.auth.core">AuthenticationSupport</a></dt>
<dd>
<div class="block">The name under which this service is registered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">The name under which an implementation of this interface must be
 registered to be used as an authentication handler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfoPostProcessor.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfoPostProcessor.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationInfoPostProcessor</a></dt>
<dd>
<div class="block">The name under which an implementation of this interface must be
 registered to be used as an authentication info post processor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostOperation.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post">PostOperation</a></dt>
<dd>
<div class="block">The name of the Sling POST operation service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostOperation.html#SERVICE_NAME">SERVICE_NAME</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostOperation.html" title="interface in org.apache.sling.servlets.post">SlingPostOperation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the Sling POST operation service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/core/ScriptHelper.html#services">services</a></span> - Variable in class org.apache.sling.scripting.core.<a href="org/apache/sling/scripting/core/ScriptHelper.html" title="class in org.apache.sling.scripting.core">ScriptHelper</a></dt>
<dd>
<div class="block">A map of found services.</div>
</dd>
<dt><a href="org/apache/sling/serviceusermapping/ServiceUserMapped.html" title="interface in org.apache.sling.serviceusermapping"><span class="typeNameLink">ServiceUserMapped</span></a> - Interface in <a href="org/apache/sling/serviceusermapping/package-summary.html">org.apache.sling.serviceusermapping</a></dt>
<dd>
<div class="block">The <code>ServiceUserMapped</code> is a marker service that can be used to ensure that there is an already registered mapping for a certain service/subService.</div>
</dd>
<dt><a href="org/apache/sling/serviceusermapping/ServiceUserMapper.html" title="interface in org.apache.sling.serviceusermapping"><span class="typeNameLink">ServiceUserMapper</span></a> - Interface in <a href="org/apache/sling/serviceusermapping/package-summary.html">org.apache.sling.serviceusermapping</a></dt>
<dd>
<div class="block">The <code>ServiceUserMapper</code> service can be used to map a service
 provided by a bundle to the ID of a user account used to access the
 ResourceResolver used by the service to access its data.</div>
</dd>
<dt><a href="org/apache/sling/serviceusermapping/ServiceUserValidator.html" title="interface in org.apache.sling.serviceusermapping"><span class="typeNameLink">ServiceUserValidator</span></a> - Interface in <a href="org/apache/sling/serviceusermapping/package-summary.html">org.apache.sling.serviceusermapping</a></dt>
<dd>
<div class="block">The <code>ServiceUserValidator</code> allows to implement validation of configured
 service user mappings.</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/ServiceUtil.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">ServiceUtil</span></a> - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">The <code>ServiceUtil</code> is a utility class providing some
 usefull utility methods for service handling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/ServiceUtil.html#ServiceUtil--">ServiceUtil()</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/ServiceUtil.html" title="class in org.apache.sling.commons.osgi">ServiceUtil</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/servlets/ServletResolver.html" title="interface in org.apache.sling.api.servlets"><span class="typeNameLink">ServletResolver</span></a> - Interface in <a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a></dt>
<dd>
<div class="block">The <code>ServletResolver</code> defines the API for a service capable of
 resolving <code>javax.servlet.Servlet</code> instances to handle the
 processing of a request or resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SESSION">SESSION</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of bundle version 2.1</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#sessionCreated-javax.servlet.http.HttpSessionEvent-">sessionCreated(HttpSessionEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#sessionCreated-javax.servlet.http.HttpSessionEvent-">sessionCreated(HttpSessionEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#sessionDestroyed-javax.servlet.http.HttpSessionEvent-">sessionDestroyed(HttpSessionEvent)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#sessionDestroyed-javax.servlet.http.HttpSessionEvent-">sessionDestroyed(HttpSessionEvent)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/base/SessionProxyHandler.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">SessionProxyHandler</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of API version 2.4 (bundle version 2.3)</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/SessionProxyHandler.html#SessionProxyHandler-org.apache.sling.jcr.base.NamespaceMappingSupport-">SessionProxyHandler(NamespaceMappingSupport)</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/SessionProxyHandler.html" title="class in org.apache.sling.jcr.base">SessionProxyHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/jcr/base/SessionProxyHandler.SessionProxyInvocationHandler.html" title="class in org.apache.sling.jcr.base"><span class="typeNameLink">SessionProxyHandler.SessionProxyInvocationHandler</span></a> - Class in <a href="org/apache/sling/jcr/base/package-summary.html">org.apache.sling.jcr.base</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/SessionProxyHandler.SessionProxyInvocationHandler.html#SessionProxyInvocationHandler-javax.jcr.Session-org.apache.sling.jcr.base.NamespaceMappingSupport-java.lang.Class:A-">SessionProxyInvocationHandler(Session, NamespaceMappingSupport, Class&lt;?&gt;[])</a></span> - Constructor for class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/SessionProxyHandler.SessionProxyInvocationHandler.html" title="class in org.apache.sling.jcr.base">SessionProxyHandler.SessionProxyInvocationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/SlingAdaptable.html#setAdapterManager-org.apache.sling.api.adapter.AdapterManager-">setAdapterManager(AdapterManager)</a></span> - Static method in class org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/SlingAdaptable.html" title="class in org.apache.sling.api.adapter">SlingAdaptable</a></dt>
<dd>
<div class="block">Sets the global <a href="org/apache/sling/api/adapter/AdapterManager.html" title="interface in org.apache.sling.api.adapter"><code>AdapterManager</code></a> to be used by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#setAddSelectors-java.lang.String-">setAddSelectors(String)</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_ADD_SELECTORS"><code>RequestDispatcherOptions.OPT_ADD_SELECTORS</code></a> option to the given
 <code>additionalSelectors</code> if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#setAttribute-java.lang.String-java.lang.Object-">setAttribute(String, Object)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Set the value of an attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, Object&gt;)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Set the new attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#setAuthType-java.lang.String-">setAuthType(String)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#setAutoCheckin-boolean-">setAutoCheckin(boolean)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#setAutoCheckout-boolean-">setAutoCheckout(boolean)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setBlockPolicy-org.apache.sling.commons.threads.ThreadPoolConfig.ThreadPoolPolicy-">setBlockPolicy(ThreadPoolConfig.ThreadPoolPolicy)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the block policy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setCharacterEncoding-java.lang.String-">setCharacterEncoding(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CHARACTER_ENCODING"><code>ResourceMetadata.CHARACTER_ENCODING</code></a> property to <code>encoding</code>
 if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#setCheckinOnNewVersionableNode-boolean-">setCheckinOnNewVersionableNode(boolean)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/app/MainDelegate.html#setCommandLine-java.util.Map-">setCommandLine(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.sling.launchpad.base.app.<a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app">MainDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Launcher.html#setCommandLine-java.util.Map-">setCommandLine(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Launcher.html" title="interface in org.apache.sling.launchpad.base.shared">Launcher</a></dt>
<dd>
<div class="block">The commandline provided from the standalone launch case.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#setCommandLine-java.util.Map-">setCommandLine(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setContentLength-long-">setContentLength(long)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CONTENT_LENGTH"><code>ResourceMetadata.CONTENT_LENGTH</code></a> property to <code>contentType</code>
 if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setContentType-java.lang.String-">setContentType(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CONTENT_TYPE"><code>ResourceMetadata.CONTENT_TYPE</code></a> property to <code>contentType</code> if
 not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setCreateRequest-boolean-">setCreateRequest(boolean)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets whether the request was a create request or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setCreateRequest-boolean-">setCreateRequest(boolean)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Sets whether the request was a create request or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setCreateRequest-boolean-">setCreateRequest(boolean)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets whether the request was a create request or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setCreationTime-long-">setCreationTime(long)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#CREATION_TIME"><code>ResourceMetadata.CREATION_TIME</code></a> property to <code>creationTime</code>
 if not negative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setDaemon-boolean-">setDaemon(boolean)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the daemon handling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#setDigest-java.lang.String-">setDigest(String)</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Set the digest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#setEngineName-java.lang.String-">setEngineName(String)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>
<div class="block">Set the engine name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#setEngineVersion-java.lang.String-">setEngineVersion(String)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>
<div class="block">Set the engine version</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setError-java.lang.Throwable-">setError(Throwable)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setError-java.lang.Throwable-">setError(Throwable)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#setError-java.lang.Throwable-">setError(Throwable)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setError-java.lang.Throwable-">setError(Throwable)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the recorded error causing the operation to fail.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#setExtensions-java.lang.String...-">setExtensions(String...)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>
<div class="block">Set the extensions</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setFactory-java.util.concurrent.ThreadFactory-">setFactory(ThreadFactory)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the thread factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#setFinishedState-org.apache.sling.installer.api.tasks.ResourceState-">setFinishedState(ResourceState)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Set the finished state for the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#setFinishedState-org.apache.sling.installer.api.tasks.ResourceState-java.lang.String-">setFinishedState(ResourceState, String)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>
<div class="block">Set the finished state for the resource and the alias</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html#setFinishState-org.apache.sling.installer.api.tasks.ResourceState-">setFinishState(ResourceState)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html" title="interface in org.apache.sling.installer.api.tasks">TaskResourceGroup</a></dt>
<dd>
<div class="block">Set the finish state for the active resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html#setFinishState-org.apache.sling.installer.api.tasks.ResourceState-java.lang.String-">setFinishState(ResourceState, String)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html" title="interface in org.apache.sling.installer.api.tasks">TaskResourceGroup</a></dt>
<dd>
<div class="block">Set the finish state for the active resource and register an alias.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setFlush-boolean-">setFlush(boolean)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#FLUSH"><code>SlingBindings.FLUSH</code></a> property to <code>flush</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#setForceResourceType-java.lang.String-">setForceResourceType(String)</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_FORCE_RESOURCE_TYPE"><code>RequestDispatcherOptions.OPT_FORCE_RESOURCE_TYPE</code></a> option to the given
 <code>resourceType</code> if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#setId-java.lang.String-">setId(String)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Set a new unique id.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#setInputStream-java.io.InputStream-">setInputStream(InputStream)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Set a new input stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setKeepAliveTime-long-">setKeepAliveTime(long)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the keep alive time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setLocation-java.lang.String-">setLocation(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setLocation-java.lang.String-">setLocation(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setLocation-java.lang.String-">setLocation(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the location of this modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setLog-org.slf4j.Logger-">setLog(Logger)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#LOG"><code>SlingBindings.LOG</code></a> property to <code>log</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthUtil.html#setLoginResourceAttribute-javax.servlet.http.HttpServletRequest-java.lang.String-">setLoginResourceAttribute(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthUtil.html" title="class in org.apache.sling.auth.core">AuthUtil</a></dt>
<dd>
<div class="block">Ensures and returns the <a href="org/apache/sling/api/auth/Authenticator.html#LOGIN_RESOURCE"><code>Authenticator.LOGIN_RESOURCE</code></a> request
 attribute is set to a non-null, non-empty string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html#setLoginResourceAttribute-javax.servlet.http.HttpServletRequest-java.lang.String-">setLoginResourceAttribute(HttpServletRequest, String)</a></span> - Static method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AbstractAuthenticationHandler.html" title="class in org.apache.sling.auth.core.spi">AbstractAuthenticationHandler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">since Bundle 1.0.8, use
             <a href="org/apache/sling/auth/core/AuthUtil.html#setLoginResourceAttribute-javax.servlet.http.HttpServletRequest-java.lang.String-"><code>AuthUtil.setLoginResourceAttribute(HttpServletRequest, String)</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setMaxPoolSize-int-">setMaxPoolSize(int)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the max pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#setMimeTypes-java.lang.String...-">setMimeTypes(String...)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>
<div class="block">Set the mime types</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setMinPoolSize-int-">setMinPoolSize(int)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the min pool size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setModificationTime-long-">setModificationTime(long)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#MODIFICATION_TIME"><code>ResourceMetadata.MODIFICATION_TIME</code></a> property to
 <code>modificationTime</code> if not negative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html#setNames-java.lang.String...-">setNames(String...)</a></span> - Method in class org.apache.sling.scripting.api.<a href="org/apache/sling/scripting/api/AbstractScriptEngineFactory.html" title="class in org.apache.sling.scripting.api">AbstractScriptEngineFactory</a></dt>
<dd>
<div class="block">Set the names</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/app/MainDelegate.html#setNotifiable-org.apache.sling.launchpad.base.shared.Notifiable-">setNotifiable(Notifiable)</a></span> - Method in class org.apache.sling.launchpad.base.app.<a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app">MainDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Launcher.html#setNotifiable-org.apache.sling.launchpad.base.shared.Notifiable-">setNotifiable(Notifiable)</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Launcher.html" title="interface in org.apache.sling.launchpad.base.shared">Launcher</a></dt>
<dd>
<div class="block">The <a href="org/apache/sling/launchpad/base/shared/Notifiable.html" title="interface in org.apache.sling.launchpad.base.shared"><code>Notifiable</code></a> to notify on framework stop or update</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#setNotifiable-org.apache.sling.launchpad.base.shared.Notifiable-">setNotifiable(Notifiable)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setOut-java.io.PrintWriter-">setOut(PrintWriter)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#OUT"><code>SlingBindings.OUT</code></a> property to <code>out</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setParameterMap-java.util.Map-">setParameterMap(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#PARAMETER_MAP"><code>ResourceMetadata.PARAMETER_MAP</code></a> property to
 <code>parameterMap</code> if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setParentLocation-java.lang.String-">setParentLocation(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setParentLocation-java.lang.String-">setParentLocation(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setParentLocation-java.lang.String-">setParentLocation(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the parent location of the modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#setPassword-char:A-">setPassword(char[])</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setPath-java.lang.String-">setPath(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the absolute path of the item upon which the request operated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setPath-java.lang.String-">setPath(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Sets the absolute path of the item upon which the request operated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setPath-java.lang.String-">setPath(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the absolute path of the item upon which the request operated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setPriority-org.apache.sling.commons.threads.ThreadPoolConfig.ThreadPriority-">setPriority(ThreadPoolConfig.ThreadPriority)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the thread priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#setPriority-java.lang.Integer-">setPriority(Integer)</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Set the priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setProperty-java.lang.String-java.lang.Object-">setProperty(String, Object)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets a generic response property with the given</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#setProperty-javax.jcr.Node-java.lang.String-java.lang.Object-">setProperty(Node, String, Object)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Sets the value of the property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setProperty-java.lang.String-java.lang.Object-">setProperty(String, Object)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Sets a generic response property with the given</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/JSONResponse.html#setProperty-java.lang.String-java.lang.Object-">setProperty(String, Object)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/JSONResponse.html" title="class in org.apache.sling.servlets.post">JSONResponse</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setQueueSize-int-">setQueueSize(int)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the queue size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setReader-java.io.Reader-">setReader(Reader)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#READER"><code>SlingBindings.READER</code></a> property to <code>reader</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setReferer-java.lang.String-">setReferer(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the referer property</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setReferer-java.lang.String-">setReferer(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Sets the referer property</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setReferer-java.lang.String-">setReferer(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the referer property</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#setReplaceSelectors-java.lang.String-">setReplaceSelectors(String)</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_REPLACE_SELECTORS"><code>RequestDispatcherOptions.OPT_REPLACE_SELECTORS</code></a> option to the given
 <code>replaceSelectors</code> if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestDispatcherOptions.html#setReplaceSuffix-java.lang.String-">setReplaceSuffix(String)</a></span> - Method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestDispatcherOptions.html" title="class in org.apache.sling.api.request">RequestDispatcherOptions</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/request/RequestDispatcherOptions.html#OPT_REPLACE_SUFFIX"><code>RequestDispatcherOptions.OPT_REPLACE_SUFFIX</code></a> option to the given
 <code>replaceSuffix</code> if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setRequest-org.apache.sling.api.SlingHttpServletRequest-">setRequest(SlingHttpServletRequest)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#REQUEST"><code>SlingBindings.REQUEST</code></a> property to <code>request</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestUtil.html#setRequestAttribute-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.Object-">setRequestAttribute(HttpServletRequest, String, Object)</a></span> - Static method in class org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestUtil.html" title="class in org.apache.sling.api.request">RequestUtil</a></dt>
<dd>
<div class="block">Sets the named request attribute to the new value and returns the
 previous value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestUtil.html#setRequestAttribute-javax.servlet.http.HttpServletRequest-java.lang.String-java.lang.Object-">setRequestAttribute(HttpServletRequest, String, Object)</a></span> - Static method in class org.apache.sling.engine.<a href="org/apache/sling/engine/RequestUtil.html" title="class in org.apache.sling.engine">RequestUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the named request attribute to the new value and returns the
 previous value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setResolutionPath-java.lang.String-">setResolutionPath(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH"><code>ResourceMetadata.RESOLUTION_PATH</code></a> property to <code>resolutionPath</code>
 if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#setResolutionPathInfo-java.lang.String-">setResolutionPathInfo(String)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/resource/ResourceMetadata.html#RESOLUTION_PATH_INFO"><code>ResourceMetadata.RESOLUTION_PATH_INFO</code></a> property to
 <code>resolutionPathInfo</code> if not <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setResource-org.apache.sling.api.resource.Resource-">setResource(Resource)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#RESOURCE"><code>SlingBindings.RESOURCE</code></a> property to <code>resource</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#setResourceIsMoved-boolean-">setResourceIsMoved(boolean)</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Sett whether this resource has been moved or added.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#setResourceType-java.lang.String-">setResourceType(String)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Set a new resource type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setResponse-org.apache.sling.api.SlingHttpServletResponse-">setResponse(SlingHttpServletResponse)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#RESPONSE"><code>SlingBindings.RESPONSE</code></a> property to <code>response</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setShutdownGraceful-boolean-">setShutdownGraceful(boolean)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set if the pool should be shutdown graceful.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html#setShutdownWaitTimeMs-int-">setShutdownWaitTimeMs(int)</a></span> - Method in class org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ModifiableThreadPoolConfig.html" title="class in org.apache.sling.commons.threads">ModifiableThreadPoolConfig</a></dt>
<dd>
<div class="block">Set the shutdown wait time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#setSling-org.apache.sling.api.scripting.SlingScriptHelper-">setSling(SlingScriptHelper)</a></span> - Method in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/sling/api/scripting/SlingBindings.html#SLING"><code>SlingBindings.SLING</code></a> property to <code>sling</code> if not
 <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/app/MainDelegate.html#setSlingHome-java.lang.String-">setSlingHome(String)</a></span> - Method in class org.apache.sling.launchpad.base.app.<a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app">MainDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Launcher.html#setSlingHome-java.lang.String-">setSlingHome(String)</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Launcher.html" title="interface in org.apache.sling.launchpad.base.shared">Launcher</a></dt>
<dd>
<div class="block">Sets the sling.home to be used for starting the framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#setSlingHome-java.lang.String-">setSlingHome(String)</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setStatus-int-java.lang.String-">setStatus(int, String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">sets the response status code properties</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setStatus-int-java.lang.String-">setStatus(int, String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">sets the response status code properties</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setStatus-int-java.lang.String-">setStatus(int, String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the response status code properties</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TaskResource.html#setTemporaryAttribute-java.lang.String-java.lang.Object-">setTemporaryAttribute(String, Object)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks">TaskResource</a></dt>
<dd>
<div class="block">Set the value of a temporary attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#setTidy-boolean-">setTidy(boolean)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Controls if output should be nicely formatted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/HtmlResponse.html#setTitle-java.lang.String-">setTitle(String)</a></span> - Method in class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/HtmlResponse.html" title="class in org.apache.sling.api.servlets">HtmlResponse</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the title of the response message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/AbstractPostResponse.html#setTitle-java.lang.String-">setTitle(String)</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/AbstractPostResponse.html" title="class in org.apache.sling.servlets.post">AbstractPostResponse</a></dt>
<dd>
<div class="block">Sets the title of the response message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/PostResponse.html#setTitle-java.lang.String-">setTitle(String)</a></span> - Method in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/PostResponse.html" title="interface in org.apache.sling.servlets.post">PostResponse</a></dt>
<dd>
<div class="block">Sets the title of the response message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html#setup-org.osgi.framework.BundleContext-">setup(BundleContext)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html" title="class in org.apache.sling.jcr.base">AbstractNamespaceMappingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html#setup-org.osgi.framework.BundleContext-org.apache.sling.jcr.api.SlingRepository-">setup(BundleContext, SlingRepository)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base">NamespaceMappingSupport</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets up the namespace mapping support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html#setup-org.osgi.framework.BundleContext-org.apache.sling.jcr.api.SlingRepository-">setup(BundleContext, SlingRepository)</a></span> - Method in class org.apache.sling.oak.server.<a href="org/apache/sling/oak/server/OakSlingRepositoryManager.html" title="class in org.apache.sling.oak.server">OakSlingRepositoryManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#setupRepository-javax.jcr.Repository-">setupRepository(Repository)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This method is called after a repository has been acquired by
 <a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#acquireRepository--"><code>AbstractSlingRepository.acquireRepository()</code></a> but before the repository is registered as a
 service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html#setUser-java.lang.String-">setUser(String)</a></span> - Method in class org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationInfo.html" title="class in org.apache.sling.auth.core.spi">AuthenticationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#setVersion-org.osgi.framework.Version-">setVersion(Version)</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>
<div class="block">Set the version.</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared"><span class="typeNameLink">SharedConstants</span></a> - Interface in <a href="org/apache/sling/launchpad/base/shared/package-summary.html">org.apache.sling.launchpad.base.shared</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#shouldDistribute-org.osgi.service.event.Event-">shouldDistribute(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#size--">size()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#size--">size()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#size--">size()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/util/AccessControlUtil.html#size-javax.jcr.security.AccessControlList-">size(AccessControlList)</a></span> - Static method in class org.apache.sling.jcr.base.util.<a href="org/apache/sling/jcr/base/util/AccessControlUtil.html" title="class in org.apache.sling.jcr.base.util">AccessControlUtil</a></dt>
<dd>
<div class="block">Returns the number of acl entries or 0 if the acl is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#size--">size()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobsIterator.html#skip-long-">skip(long)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobsIterator.html" title="interface in org.apache.sling.event.jobs">JobsIterator</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Skip a number of jobs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#skipPast-java.lang.String-">skipPast(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Skip characters until past the requested string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#skipTo-char-">skipTo(char)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Skip characters until the next character is the requested character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#SLASH">SLASH</a></span> - Static variable in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">The Character '/'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#SLING">SLING</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>
<div class="block">The name of the global scripting variable providing the
 <a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting"><code>SlingScriptHelper</code></a> for the request
 (value is "sling").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#SLING_CURRENT_SERVLET_NAME">SLING_CURRENT_SERVLET_NAME</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The name of the request attribute providing the name of the currently
 executing servlet (value is "sling.core.current.servletName").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SLING_CURRENT_SERVLET_NAME">SLING_CURRENT_SERVLET_NAME</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use
             <a href="org/apache/sling/api/SlingConstants.html#SLING_CURRENT_SERVLET_NAME"><code>SlingConstants.SLING_CURRENT_SERVLET_NAME</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SLING_FILTER_PATTERN">SLING_FILTER_PATTERN</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SLING_FILTER_SCOPE">SLING_FILTER_SCOPE</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block">The name of the service registration property of a
 <code>java.servlet.Filter</code> service to be used as a filter by the
 <a href="org/apache/sling/engine/SlingRequestProcessor.html" title="interface in org.apache.sling.engine"><code>SlingRequestProcessor</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SLING_HOME">SLING_HOME</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use
             <a href="org/apache/sling/settings/SlingSettingsService.html#SLING_HOME"><code>SlingSettingsService.SLING_HOME</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_HOME">SLING_HOME</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the configuration property defining the Sling home directory
 (value is "sling.home").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#SLING_HOME">SLING_HOME</a></span> - Static variable in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">The name of the framework property defining the Sling home directory
 (value is "sling.home").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_HOME_DEFAULT">SLING_HOME_DEFAULT</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">Default <a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_HOME"><code>sling.home</code></a> value if no other value can be
 resolvled (value is "sling").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SLING_HOME_URL">SLING_HOME_URL</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use
             <a href="org/apache/sling/settings/SlingSettingsService.html#SLING_HOME_URL"><code>SlingSettingsService.SLING_HOME_URL</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/settings/SlingSettingsService.html#SLING_HOME_URL">SLING_HOME_URL</a></span> - Static variable in interface org.apache.sling.settings.<a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings">SlingSettingsService</a></dt>
<dd>
<div class="block">The name of the framework property defining the Sling home directory as
 an URL (value is "sling.home.url").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_INSTALL_INCREMENTAL_START">SLING_INSTALL_INCREMENTAL_START</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the configuration property defining if the startup level
 is increased incrementally for installs and startups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_INSTALL_STARTLEVEL">SLING_INSTALL_STARTLEVEL</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the configuration property defining the startlevel
 for installs and updates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_LAUNCHPAD">SLING_LAUNCHPAD</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the configuration property defining the location for the
 Sling launchpad JAR file and the startup folder containing bundles
 to be installed by the Bootstrap Installer (value is "sling.launchpad").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#SLING_NAMESPACE_URI">SLING_NAMESPACE_URI</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">The namespace URI used by Sling JCR for items and node types used by
 Sling (value is "http://sling.apache.org/jcr/sling/1.0").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_PROPERTIES">SLING_PROPERTIES</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the configuration property defining the Sling properties file
 (value is "sling.properties").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/SharedConstants.html#SLING_PROPERTIES_URL">SLING_PROPERTIES_URL</a></span> - Static variable in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/SharedConstants.html" title="interface in org.apache.sling.launchpad.base.shared">SharedConstants</a></dt>
<dd>
<div class="block">The name of the configuration property defining the Sling properties url
 (value is "sling.properties.url").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#SLING_RESOURCE_SUPER_TYPE_PROPERTY">SLING_RESOURCE_SUPER_TYPE_PROPERTY</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">The name of the JCR Property that defines the resource super type (value
 is "sling:resourceSuperType").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceConstants.html#SLING_RESOURCE_TYPE_PROPERTY">SLING_RESOURCE_TYPE_PROPERTY</a></span> - Static variable in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceConstants.html" title="class in org.apache.sling.jcr.resource">JcrResourceConstants</a></dt>
<dd>
<div class="block">The name of the JCR Property that defines the resource type of this node
 (value is "sling:resourceType").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#SLING_SCOPE">SLING_SCOPE</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The name of the script scope holding the <a href="org/apache/sling/api/scripting/SlingScriptConstants.html#ATTR_SCRIPT_RESOURCE_RESOLVER"><code>SlingScriptConstants.ATTR_SCRIPT_RESOURCE_RESOLVER</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/EngineConstants.html#SLING_SERLVET_NAME">SLING_SERLVET_NAME</a></span> - Static variable in class org.apache.sling.engine.<a href="org/apache/sling/engine/EngineConstants.html" title="class in org.apache.sling.engine">EngineConstants</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</dd>
<dt><a href="org/apache/sling/adapter/SlingAdaptable.html" title="class in org.apache.sling.adapter"><span class="typeNameLink">SlingAdaptable</span></a> - Class in <a href="org/apache/sling/adapter/package-summary.html">org.apache.sling.adapter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use the <a href="org/apache/sling/api/adapter/SlingAdaptable.html" title="class in org.apache.sling.api.adapter"><code>SlingAdaptable</code></a> instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/adapter/SlingAdaptable.html#SlingAdaptable--">SlingAdaptable()</a></span> - Constructor for class org.apache.sling.adapter.<a href="org/apache/sling/adapter/SlingAdaptable.html" title="class in org.apache.sling.adapter">SlingAdaptable</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/api/adapter/SlingAdaptable.html" title="class in org.apache.sling.api.adapter"><span class="typeNameLink">SlingAdaptable</span></a> - Class in <a href="org/apache/sling/api/adapter/package-summary.html">org.apache.sling.api.adapter</a></dt>
<dd>
<div class="block">The <code>SlingAdaptable</code> class is an (abstract) default implementation
 of the <code>Adaptable</code> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/SlingAdaptable.html#SlingAdaptable--">SlingAdaptable()</a></span> - Constructor for class org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/SlingAdaptable.html" title="class in org.apache.sling.api.adapter">SlingAdaptable</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets"><span class="typeNameLink">SlingAllMethodsServlet</span></a> - Class in <a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a></dt>
<dd>
<div class="block">Helper base class for data modifying Servlets used in Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html#SlingAllMethodsServlet--">SlingAllMethodsServlet()</a></span> - Constructor for class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingAllMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingAllMethodsServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting"><span class="typeNameLink">SlingBindings</span></a> - Class in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block">The <code>SlingBindings</code> class is used to prepare global variables
 for script execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingBindings.html#SlingBindings--">SlingBindings()</a></span> - Constructor for class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingBindings.html" title="class in org.apache.sling.api.scripting">SlingBindings</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/base/webapp/SlingBridge.html" title="class in org.apache.sling.launchpad.base.webapp"><span class="typeNameLink">SlingBridge</span></a> - Class in <a href="org/apache/sling/launchpad/base/webapp/package-summary.html">org.apache.sling.launchpad.base.webapp</a></dt>
<dd>
<div class="block">The <code>SlingBridge</code> returns an extended <code>Sling</code> class
 to override any sling properties with context init parameters from
 the web application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingBridge.html#SlingBridge--">SlingBridge()</a></span> - Constructor for class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingBridge.html" title="class in org.apache.sling.launchpad.base.webapp">SlingBridge</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api"><span class="typeNameLink">SlingConstants</span></a> - Class in <a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a></dt>
<dd>
<div class="block">The <code>SlingConstants</code> interface provides some symbolic constants
 for well known constant strings in Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#SlingConstants--">SlingConstants()</a></span> - Constructor for class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/SlingException.html" title="class in org.apache.sling.api"><span class="typeNameLink">SlingException</span></a> - Exception in <a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a></dt>
<dd>
<div class="block">The <code>SlingException</code> is the base exception used throughout the
 Sling API.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingException.html#SlingException--">SlingException()</a></span> - Constructor for exception org.apache.sling.api.<a href="org/apache/sling/api/SlingException.html" title="class in org.apache.sling.api">SlingException</a></dt>
<dd>
<div class="block">Constructs a new Sling exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingException.html#SlingException-java.lang.String-">SlingException(String)</a></span> - Constructor for exception org.apache.sling.api.<a href="org/apache/sling/api/SlingException.html" title="class in org.apache.sling.api">SlingException</a></dt>
<dd>
<div class="block">Constructs a new Sling exception with the given text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingException.html#SlingException-java.lang.String-java.lang.Throwable-">SlingException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.api.<a href="org/apache/sling/api/SlingException.html" title="class in org.apache.sling.api">SlingException</a></dt>
<dd>
<div class="block">Constructs a new Sling exception when the Servlet needs to do the
 following:
 
 throw an exception
 include the "root cause" exception
 include a description message
 </div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingException.html#SlingException-java.lang.Throwable-">SlingException(Throwable)</a></span> - Constructor for exception org.apache.sling.api.<a href="org/apache/sling/api/SlingException.html" title="class in org.apache.sling.api">SlingException</a></dt>
<dd>
<div class="block">Constructs a new Sling exception when the Servlet needs to throw an
 exception.</div>
</dd>
<dt><a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api"><span class="typeNameLink">SlingHttpServletRequest</span></a> - Interface in <a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a></dt>
<dd>
<div class="block">The <code>SlingHttpServletRequest</code> defines the interface to provide
 client request information to a servlet.</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">SlingHttpServletRequestWrapper</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block">The <code>SlingHttpServletRequestWrapper</code> class is a default wrapper
 class around a <a href="org/apache/sling/api/SlingHttpServletRequest.html" title="interface in org.apache.sling.api"><code>SlingHttpServletRequest</code></a> which may be extended to amend
 the functionality of the original request object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html#SlingHttpServletRequestWrapper-org.apache.sling.api.SlingHttpServletRequest-">SlingHttpServletRequestWrapper(SlingHttpServletRequest)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletRequestWrapper</a></dt>
<dd>
<div class="block">Create a wrapper for the supplied wrappedRequest</div>
</dd>
<dt><a href="org/apache/sling/api/SlingHttpServletResponse.html" title="interface in org.apache.sling.api"><span class="typeNameLink">SlingHttpServletResponse</span></a> - Interface in <a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a></dt>
<dd>
<div class="block">The <code>SlingHttpServletResponse</code> defines the interface to assist a
 servlet in creating and sending a response to the client.</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">SlingHttpServletResponseWrapper</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block">The <code>SlingHttpServletResponseWrapper</code> class is a default wrapper
 class around a <a href="org/apache/sling/api/SlingHttpServletResponse.html" title="interface in org.apache.sling.api"><code>SlingHttpServletResponse</code></a> which may be extended to
 amend the functionality of the original response object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html#SlingHttpServletResponseWrapper-org.apache.sling.api.SlingHttpServletResponse-">SlingHttpServletResponseWrapper(SlingHttpServletResponse)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingHttpServletResponseWrapper.html" title="class in org.apache.sling.api.wrappers">SlingHttpServletResponseWrapper</a></dt>
<dd>
<div class="block">Create a wrapper for the supplied wrappedRequest</div>
</dd>
<dt><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp"><span class="typeNameLink">SlingHttpSessionListenerDelegate</span></a> - Class in <a href="org/apache/sling/launchpad/base/webapp/package-summary.html">org.apache.sling.launchpad.base.webapp</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html#SlingHttpSessionListenerDelegate--">SlingHttpSessionListenerDelegate()</a></span> - Constructor for class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingHttpSessionListenerDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingHttpSessionListenerDelegate</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/api/SlingIOException.html" title="class in org.apache.sling.api"><span class="typeNameLink">SlingIOException</span></a> - Exception in <a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a></dt>
<dd>
<div class="block">The <code>SlingIOException</code> is a runtime exception wrapper for the
 Java <code>IOException</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingIOException.html#SlingIOException-java.io.IOException-">SlingIOException(IOException)</a></span> - Constructor for exception org.apache.sling.api.<a href="org/apache/sling/api/SlingIOException.html" title="class in org.apache.sling.api">SlingIOException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/SlingObject.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">SlingObject</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Injects common Sling objects that can be derived from either a SlingHttpServletRequest, a ResourceResolver or a
 Resource.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">SlingPostConstants</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>SlingPostConstants</code> interface provides constants for well
 known parameters of the core SlingPostServlet.</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/SlingPostOperation.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">SlingPostOperation</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">as of 2.0.8 (Bundle version 2.2.0) and replaced by
             <a href="org/apache/sling/servlets/post/PostOperation.html" title="interface in org.apache.sling.servlets.post"><code>PostOperation</code></a>.</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/servlets/post/SlingPostProcessor.html" title="interface in org.apache.sling.servlets.post"><span class="typeNameLink">SlingPostProcessor</span></a> - Interface in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">The <code>SlingPostProcessor</code> interface defines a service API to be
 implemented by service providers extending the Sling default POST servlet.</div>
</dd>
<dt><a href="org/apache/sling/jcr/api/SlingRepository.html" title="interface in org.apache.sling.jcr.api"><span class="typeNameLink">SlingRepository</span></a> - Interface in <a href="org/apache/sling/jcr/api/package-summary.html">org.apache.sling.jcr.api</a></dt>
<dd>
<div class="block">The <code>SlingRepository</code> extends the standard JCR repository
 interface with two methods: <a href="org/apache/sling/jcr/api/SlingRepository.html#getDefaultWorkspace--"><code>SlingRepository.getDefaultWorkspace()</code></a> and
 <a href="org/apache/sling/jcr/api/SlingRepository.html#loginAdministrative-java.lang.String-"><code>SlingRepository.loginAdministrative(String)</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/api/request/SlingRequestEvent.html" title="class in org.apache.sling.api.request"><span class="typeNameLink">SlingRequestEvent</span></a> - Class in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">represents an event published by the Sling engine while
 dispatching a request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestEvent.html#SlingRequestEvent-javax.servlet.ServletContext-javax.servlet.ServletRequest-org.apache.sling.api.request.SlingRequestEvent.EventType-">SlingRequestEvent(ServletContext, ServletRequest, SlingRequestEvent.EventType)</a></span> - Constructor for class org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestEvent.html" title="class in org.apache.sling.api.request">SlingRequestEvent</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/request/SlingRequestEvent.EventType.html" title="enum in org.apache.sling.api.request"><span class="typeNameLink">SlingRequestEvent.EventType</span></a> - Enum in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">type of the event</div>
</dd>
<dt><a href="org/apache/sling/api/request/SlingRequestListener.html" title="interface in org.apache.sling.api.request"><span class="typeNameLink">SlingRequestListener</span></a> - Interface in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">Implementations of this service interface receive notifications about
 changes to Sling request of the Sling application they are part of.</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">SlingRequestPaths</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block">This class is not a "wrapper" per se, but computes the correct path info,
 request URI, etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/SlingRequestPaths.html#SlingRequestPaths--">SlingRequestPaths()</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/SlingRequestPaths.html" title="class in org.apache.sling.api.wrappers">SlingRequestPaths</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/engine/SlingRequestProcessor.html" title="interface in org.apache.sling.engine"><span class="typeNameLink">SlingRequestProcessor</span></a> - Interface in <a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a></dt>
<dd>
<div class="block">The <code>SlingRequestProcessor</code> interface defines the service which
 may be called to handle HTTP requests.</div>
</dd>
<dt><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets"><span class="typeNameLink">SlingSafeMethodsServlet</span></a> - Class in <a href="org/apache/sling/api/servlets/package-summary.html">org.apache.sling.api.servlets</a></dt>
<dd>
<div class="block">Helper base class for read-only Servlets used in Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html#SlingSafeMethodsServlet--">SlingSafeMethodsServlet()</a></span> - Constructor for class org.apache.sling.api.servlets.<a href="org/apache/sling/api/servlets/SlingSafeMethodsServlet.html" title="class in org.apache.sling.api.servlets">SlingSafeMethodsServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/scripting/SlingScript.html" title="interface in org.apache.sling.api.scripting"><span class="typeNameLink">SlingScript</span></a> - Interface in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block">The <code>SlingScript</code> defines the API for objects which encapsulate
 a script.</div>
</dd>
<dt><a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting"><span class="typeNameLink">SlingScriptConstants</span></a> - Class in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block">Some constants for the scripting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#SlingScriptConstants--">SlingScriptConstants()</a></span> - Constructor for class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/scripting/SlingScriptHelper.html" title="interface in org.apache.sling.api.scripting"><span class="typeNameLink">SlingScriptHelper</span></a> - Interface in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block">The <code>SlingScriptHelper</code> interface defines the API of a helper
 class which is provided to the scripts called from sling through the global
 <code><a href="org/apache/sling/api/scripting/SlingBindings.html#SLING"><code>sling</code></a></code> variable.</div>
</dd>
<dt><a href="org/apache/sling/api/scripting/SlingScriptResolver.html" title="interface in org.apache.sling.api.scripting"><span class="typeNameLink">SlingScriptResolver</span></a> - Interface in <a href="org/apache/sling/api/scripting/package-summary.html">org.apache.sling.api.scripting</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">The SlingScriptResolver interface is intended to be implemented
 and also used by project specific code. To keep the API as clean as possible
 this interface was deprecated</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp"><span class="typeNameLink">SlingServlet</span></a> - Class in <a href="org/apache/sling/launchpad/webapp/package-summary.html">org.apache.sling.launchpad.webapp</a></dt>
<dd>
<div class="block">The <code>SlingServlet</code> is the externally visible Web Application
 launcher for Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#SlingServlet--">SlingServlet()</a></span> - Constructor for class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp"><span class="typeNameLink">SlingServletDelegate</span></a> - Class in <a href="org/apache/sling/launchpad/base/webapp/package-summary.html">org.apache.sling.launchpad.base.webapp</a></dt>
<dd>
<div class="block">The <code>SlingServletDelegate</code> serves as a basic servlet for Project Sling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#SlingServletDelegate--">SlingServletDelegate()</a></span> - Constructor for class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/api/SlingServletException.html" title="class in org.apache.sling.api"><span class="typeNameLink">SlingServletException</span></a> - Exception in <a href="org/apache/sling/api/package-summary.html">org.apache.sling.api</a></dt>
<dd>
<div class="block">The <code>SlingServletException</code> is a runtime exception wrapper for
 the Servlet API <code>ServletException</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingServletException.html#SlingServletException-javax.servlet.ServletException-">SlingServletException(ServletException)</a></span> - Constructor for exception org.apache.sling.api.<a href="org/apache/sling/api/SlingServletException.html" title="class in org.apache.sling.api">SlingServletException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/resolver/jmx/SlingServletResolverCacheMBean.html" title="interface in org.apache.sling.servlets.resolver.jmx"><span class="typeNameLink">SlingServletResolverCacheMBean</span></a> - Interface in <a href="org/apache/sling/servlets/resolver/jmx/package-summary.html">org.apache.sling.servlets.resolver.jmx</a></dt>
<dd>
<div class="block">This is the management interface for the SlingServletResolver's cache.</div>
</dd>
<dt><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp"><span class="typeNameLink">SlingSessionListener</span></a> - Class in <a href="org/apache/sling/launchpad/webapp/package-summary.html">org.apache.sling.launchpad.webapp</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html#SlingSessionListener--">SlingSessionListener()</a></span> - Constructor for class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingSessionListener.html" title="class in org.apache.sling.launchpad.webapp">SlingSessionListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/sling/engine/SlingSettingsService.html" title="interface in org.apache.sling.engine"><span class="typeNameLink">SlingSettingsService</span></a> - Interface in <a href="org/apache/sling/engine/package-summary.html">org.apache.sling.engine</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use the <a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings"><code>SlingSettingsService</code></a></span></div>
</div>
</dd>
<dt><a href="org/apache/sling/settings/SlingSettingsService.html" title="interface in org.apache.sling.settings"><span class="typeNameLink">SlingSettingsService</span></a> - Interface in <a href="org/apache/sling/settings/package-summary.html">org.apache.sling.settings</a></dt>
<dd>
<div class="block">The <code>SlingSettingsService</code> provides basic Sling settings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html#SNAPSHOT_MARKER">SNAPSHOT_MARKER</a></span> - Static variable in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">BundleVersionInfo</a></dt>
<dd>
<div class="block">Marker used by Maven to identify snapshots</div>
</dd>
<dt><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi"><span class="typeNameLink">SortingServiceTracker</span></a>&lt;<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="type parameter in SortingServiceTracker">T</a>&gt; - Class in <a href="org/apache/sling/commons/osgi/package-summary.html">org.apache.sling.commons.osgi</a></dt>
<dd>
<div class="block">Implementation providing a sorted list of services
 by service ranking.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/SortingServiceTracker.html#SortingServiceTracker-org.osgi.framework.BundleContext-java.lang.String-">SortingServiceTracker(BundleContext, String)</a></span> - Constructor for class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/SortingServiceTracker.html" title="class in org.apache.sling.commons.osgi">SortingServiceTracker</a></dt>
<dd>
<div class="block">Constructor</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/Source.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Source</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Annotation which indicates the specific injector which will populate this injection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Loader.html#spool-java.io.InputStream-java.io.File-">spool(InputStream, File)</a></span> - Static method in class org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Loader.html" title="class in org.apache.sling.launchpad.base.shared">Loader</a></dt>
<dd>
<div class="block">Spools the contents of the input stream to the given file replacing the
 contents of the file with the contents of the input stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#STAR_CREATE_SUFFIX">STAR_CREATE_SUFFIX</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">An alternative suffix to the resource path used to indicate to
 automatically generate the name of the new item to create during a
 content creation request (value is "/*").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#start-org.osgi.framework.BundleContext-java.lang.String-boolean-">start(BundleContext, String, boolean)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">This method actually starts the backing repository instannce and
 registeres the repository service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/app/MainDelegate.html#start--">start()</a></span> - Method in class org.apache.sling.launchpad.base.app.<a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app">MainDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Launcher.html#start--">start()</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Launcher.html" title="interface in org.apache.sling.launchpad.base.shared">Launcher</a></dt>
<dd>
<div class="block">Starts the framework and returns <code>true</code> if successfull.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#start--">start()</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/RequestProgressTracker.html#startTimer-java.lang.String-">startTimer(String)</a></span> - Method in interface org.apache.sling.api.request.<a href="org/apache/sling/api/request/RequestProgressTracker.html" title="interface in org.apache.sling.api.request">RequestProgressTracker</a></dt>
<dd>
<div class="block">Starts a named timer.</div>
</dd>
<dt><a href="org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.html" title="interface in org.apache.sling.models.spi.injectorspecific"><span class="typeNameLink">StaticInjectAnnotationProcessorFactory</span></a> - Interface in <a href="org/apache/sling/models/spi/injectorspecific/package-summary.html">org.apache.sling.models.spi.injectorspecific</a></dt>
<dd>
<div class="block">Factory for <a href="org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessor.html" title="interface in org.apache.sling.models.spi.injectorspecific"><code>InjectAnnotationProcessor</code></a> that is evaluated once
 a sling model implementation class is registered.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/Statistics.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">Statistics</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">Statistic information.</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/jmx/StatisticsMBean.html" title="interface in org.apache.sling.event.jobs.jmx"><span class="typeNameLink">StatisticsMBean</span></a> - Interface in <a href="org/apache/sling/event/jobs/jmx/package-summary.html">org.apache.sling.event.jobs.jmx</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#STATUS_VALUE_BROWSER">STATUS_VALUE_BROWSER</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">The supported value for the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_STATUS"><code>SlingPostConstants.RP_STATUS</code></a> request parameter
 requesting to not report success or failure of request processing using
 standard HTTP status codes but instead alwas set the status to 200/OK and
 only report the real success or failure status in the XHTML response.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#STATUS_VALUE_STANDARD">STATUS_VALUE_STANDARD</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">The supported value for the <a href="org/apache/sling/servlets/post/SlingPostConstants.html#RP_STATUS"><code>SlingPostConstants.RP_STATUS</code></a> request parameter
 requesting to report success or failure of request processing using
 standard HTTP status codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#stop--">stop()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">This method must be called if overwritten by implementations !!</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/app/MainDelegate.html#stop--">stop()</a></span> - Method in class org.apache.sling.launchpad.base.app.<a href="org/apache/sling/launchpad/base/app/MainDelegate.html" title="class in org.apache.sling.launchpad.base.app">MainDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Launcher.html#stop--">stop()</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Launcher.html" title="interface in org.apache.sling.launchpad.base.shared">Launcher</a></dt>
<dd>
<div class="block">Stops the framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html#stop--">stop()</a></span> - Method in class org.apache.sling.launchpad.base.webapp.<a href="org/apache/sling/launchpad/base/webapp/SlingServletDelegate.html" title="class in org.apache.sling.launchpad.base.webapp">SlingServletDelegate</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.html#stopJobById-java.lang.String-">stopJobById(String)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.html" title="interface in org.apache.sling.event.jobs">JobManager</a></dt>
<dd>
<div class="block">Stop a job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Notifiable.html#stopped--">stopped()</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Notifiable.html" title="interface in org.apache.sling.launchpad.base.shared">Notifiable</a></dt>
<dd>
<div class="block">Called when the OSGi framework has been stopped because the
 <code>Bundle.stop</code> method has been called on the system bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#stopped--">stopped()</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>
<div class="block">The framework has been stopped by calling the <code>Bundle.stop()</code>
 on the system bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPool.html#submit-java.util.concurrent.Callable-">submit(Callable&lt;T&gt;)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPool.html" title="interface in org.apache.sling.commons.threads">ThreadPool</a></dt>
<dd>
<div class="block">Submits a callable for execution</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPool.html#submit-java.lang.Runnable-">submit(Runnable)</a></span> - Method in interface org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPool.html" title="interface in org.apache.sling.commons.threads">ThreadPool</a></dt>
<dd>
<div class="block">Submits a runnable for execution</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#SUBSERVICE">SUBSERVICE</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Name of the authentication information property providing the Subservice
 Name for the service requesting a resource resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/serviceusermapping/ServiceUserMapped.html#SUBSERVICENAME">SUBSERVICENAME</a></span> - Static variable in interface org.apache.sling.serviceusermapping.<a href="org/apache/sling/serviceusermapping/ServiceUserMapped.html" title="interface in org.apache.sling.serviceusermapping">ServiceUserMapped</a></dt>
<dd>
<div class="block">The name of the osgi property holding the sub service name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html#succeeded--">succeeded()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.ResultBuilder.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext.ResultBuilder</a></dt>
<dd>
<div class="block">The job processing finished successfully.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html#succeeded--">succeeded()</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionResult.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionResult</a></dt>
<dd>
<div class="block">If this returns true the job processing finished successfully.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_COMPLETED">SUFFIX_COMPLETED</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating request contains last chunk
 and as a result upload should be finished.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_COPY_FROM">SUFFIX_COPY_FROM</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating that the named item is to be set from an item whose
 absolute or relative path is given in the parameter's value (value is
 "@CopyFrom").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_DELETE">SUFFIX_DELETE</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating that the named property is to be removed before
 applying any new content (value is "@Delete").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_IGNORE_BLANKS">SUFFIX_IGNORE_BLANKS</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating that blank value or values for this property will be
 ignored.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_LENGTH">SUFFIX_LENGTH</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating length of complete file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_MOVE_FROM">SUFFIX_MOVE_FROM</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating that the named item is to be set from an item whose
 absolute or relative path is given in the parameter's value (value is
 "@MoveFrom").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_OFFSET">SUFFIX_OFFSET</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Name of the request parameter indicating offset of the chunk in request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_PATCH">SUFFIX_PATCH</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating that a multi-value property is to be handled as an
 ordered set and the sent values start with either "+" or "-" to indicate
 wether a value should be added to or removed from the set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#SUFFIX_USE_DEFAULT_WHEN_MISSING">SUFFIX_USE_DEFAULT_WHEN_MISSING</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating that the default value should be used when the property
 is not defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#suspend--">suspend()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Suspend this scheduling by default.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Queue.html#suspend--">suspend()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Queue.html" title="interface in org.apache.sling.event.jobs">Queue</a></dt>
<dd>
<div class="block">Suspend the queue - when a queue is suspended it stops processing
 jobs - however already started jobs are finished (but not rescheduled).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#suspend--">suspend()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Suspend this job scheduling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#syntaxError-java.lang.String-">syntaxError(String)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Make a JSONException to signal a syntax error.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource"><span class="typeNameLink">SyntheticResource</span></a> - Class in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>SyntheticResource</code> class is a simple implementation of the
 <code>Resource</code> interface which may be used to provide a resource
 object which has no actual resource data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#SyntheticResource-org.apache.sling.api.resource.ResourceResolver-java.lang.String-java.lang.String-">SyntheticResource(ResourceResolver, String, String)</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>
<div class="block">Creates a synthetic resource with the given <code>path</code> and
 <code>resourceType</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#SyntheticResource-org.apache.sling.api.resource.ResourceResolver-org.apache.sling.api.resource.ResourceMetadata-java.lang.String-">SyntheticResource(ResourceResolver, ResourceMetadata, String)</a></span> - Constructor for class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>
<div class="block">Creates a synthetic resource with the given <code>ResourceMetadata</code>
 and <code>resourceType</code>.</div>
</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="org/apache/sling/installer/api/tasks/TaskResource.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">TaskResource</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">A task resource is a registered resource which has been
 processed by a <a href="org/apache/sling/installer/api/tasks/ResourceTransformer.html" title="interface in org.apache.sling.installer.api.tasks"><code>ResourceTransformer</code></a> and is now
 about to be processed by an <a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks"><code>InstallTask</code></a>.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/TaskResourceGroup.html" title="interface in org.apache.sling.installer.api.tasks"><span class="typeNameLink">TaskResourceGroup</span></a> - Interface in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">This is a group of resources all pointing to the same artifact,
 but maybe in different versions or locations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html#tearDown--">tearDown()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractNamespaceMappingRepository.html" title="class in org.apache.sling.jcr.base">AbstractNamespaceMappingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#tearDown-javax.jcr.Repository-">tearDown(Repository)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Performs any cleanups before the repository is actually disposed off by
 the <a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#disposeRepository-javax.jcr.Repository-"><code>AbstractSlingRepository.disposeRepository(Repository)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html#tearDown--">tearDown()</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/NamespaceMappingSupport.html" title="class in org.apache.sling.jcr.base">NamespaceMappingSupport</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Terminates namespace mapping support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#testNumberValidity-java.lang.Object-">testNumberValidity(Object)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Throw an exception if the object is an NaN or infinite number.</div>
</dd>
<dt><a href="org/apache/sling/commons/threads/ThreadPool.html" title="interface in org.apache.sling.commons.threads"><span class="typeNameLink">ThreadPool</span></a> - Interface in <a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a></dt>
<dd>
<div class="block">The thread pool interface allows to start runnables by
 getting threads from a managed pool.</div>
</dd>
<dt><a href="org/apache/sling/commons/threads/ThreadPoolConfig.html" title="interface in org.apache.sling.commons.threads"><span class="typeNameLink">ThreadPoolConfig</span></a> - Interface in <a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a></dt>
<dd>
<div class="block">The thread pool configuration.</div>
</dd>
<dt><a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPoolPolicy.html" title="enum in org.apache.sling.commons.threads"><span class="typeNameLink">ThreadPoolConfig.ThreadPoolPolicy</span></a> - Enum in <a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a></dt>
<dd>
<div class="block">The thread pool policies.</div>
</dd>
<dt><a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPriority.html" title="enum in org.apache.sling.commons.threads"><span class="typeNameLink">ThreadPoolConfig.ThreadPriority</span></a> - Enum in <a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/threads/ThreadPoolManager.html" title="interface in org.apache.sling.commons.threads"><span class="typeNameLink">ThreadPoolManager</span></a> - Interface in <a href="org/apache/sling/commons/threads/package-summary.html">org.apache.sling.commons.threads</a></dt>
<dd>
<div class="block">The <code>ThreadPoolManager</code> manages thread pools.</div>
</dd>
<dt><a href="org/apache/sling/commons/threads/jmx/ThreadPoolMBean.html" title="interface in org.apache.sling.commons.threads.jmx"><span class="typeNameLink">ThreadPoolMBean</span></a> - Interface in <a href="org/apache/sling/commons/threads/jmx/package-summary.html">org.apache.sling.commons.threads.jmx</a></dt>
<dd>
<div class="block">This is the management interface for a Sling Thread Pool.</div>
</dd>
<dt><a href="org/apache/sling/event/TimedEventStatusProvider.html" title="interface in org.apache.sling.event"><span class="typeNameLink">TimedEventStatusProvider</span></a> - Interface in <a href="org/apache/sling/event/package-summary.html">org.apache.sling.event</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toBoolean-java.lang.Object-boolean-">toBoolean(Object, boolean)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the boolean value of the parameter or the
 <code>defaultValue</code> if the parameter is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toBoolean-java.lang.Object-boolean-">toBoolean(Object, boolean)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the boolean value of the parameter or the
 <code>defaultValue</code> if the parameter is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toDouble-java.lang.Object-double-">toDouble(Object, double)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as a double or the
 <code>defaultValue</code> if the parameter is <code>null</code> or if
 the parameter is not a <code>Double</code> and cannot be converted to
 a <code>Double</code> from the parameter's string value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toDouble-java.lang.Object-double-">toDouble(Object, double)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as a double or the
 <code>defaultValue</code> if the parameter is <code>null</code> or if
 the parameter is not a <code>Double</code> and cannot be converted to
 a <code>Double</code> from the parameter's string value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toInteger-java.lang.Object-int-">toInteger(Object, int)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as an integer or the
 <code>defaultValue</code> if the parameter is <code>null</code> or if
 the parameter is not an <code>Integer</code> and cannot be converted to
 an <code>Integer</code> from the parameter's string value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toInteger-java.lang.Object-int-">toInteger(Object, int)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as an integer or the
 <code>defaultValue</code> if the parameter is <code>null</code> or if
 the parameter is not an <code>Integer</code> and cannot be converted to
 an <code>Integer</code> from the parameter's string value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#toJavaObject-javax.jcr.Value-">toJavaObject(Value)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Converts a JCR Value to a corresponding Java Object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrResourceUtil.html#toJavaObject-javax.jcr.Property-">toJavaObject(Property)</a></span> - Static method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrResourceUtil.html" title="class in org.apache.sling.jcr.resource">JcrResourceUtil</a></dt>
<dd>
<div class="block">Converts the value(s) of a JCR Property to a corresponding Java Object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#toJSONArray-org.apache.sling.commons.json.JSONArray-">toJSONArray(JSONArray)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Produce a JSONArray containing the values of the members of this
 JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#toJSONArray-java.lang.String-">toJSONArray(String)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a JSONArray of JSONObjects from a comma delimited text string,
 using the first row as a source of names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#toJSONArray-org.apache.sling.commons.json.JSONTokener-">toJSONArray(JSONTokener)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a JSONArray of JSONObjects from a comma delimited text string,
 using the first row as a source of names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#toJSONArray-org.apache.sling.commons.json.JSONArray-java.lang.String-">toJSONArray(JSONArray, String)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a JSONArray of JSONObjects from a comma delimited text string
 using a supplied JSONArray as the source of element names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#toJSONArray-org.apache.sling.commons.json.JSONArray-org.apache.sling.commons.json.JSONTokener-">toJSONArray(JSONArray, JSONTokener)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a JSONArray of JSONObjects from a comma delimited text string
 using a supplied JSONArray as the source of element names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/Cookie.html#toJSONObject-java.lang.String-">toJSONObject(String)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/Cookie.html" title="class in org.apache.sling.commons.json.http">Cookie</a></dt>
<dd>
<div class="block">Convert a cookie specification string into a JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/CookieList.html#toJSONObject-java.lang.String-">toJSONObject(String)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/CookieList.html" title="class in org.apache.sling.commons.json.http">CookieList</a></dt>
<dd>
<div class="block">Convert a cookie list into a JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/HTTP.html#toJSONObject-java.lang.String-">toJSONObject(String)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/HTTP.html" title="class in org.apache.sling.commons.json.http">HTTP</a></dt>
<dd>
<div class="block">Convert an HTTP header string into a JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#toJSONObject-org.apache.sling.commons.json.JSONArray-">toJSONObject(JSONArray)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Produce a JSONObject by combining a JSONArray of names with the values
 of this JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#toJSONObject-java.lang.String-">toJSONObject(String)</a></span> - Static method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">Convert a well-formed (but not necessarily valid) XML string into a
 JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONString.html#toJSONString--">toJSONString()</a></span> - Method in interface org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONString.html" title="interface in org.apache.sling.commons.json">JSONString</a></dt>
<dd>
<div class="block">The <code>toJSONString</code> method allows a class to produce its own JSON
 serialization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toLong-java.lang.Object-long-">toLong(Object, long)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as a long or the
 <code>defaultValue</code> if the parameter is <code>null</code> or if
 the parameter is not a <code>Long</code> and cannot be converted to
 a <code>Long</code> from the parameter's string value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toLong-java.lang.Object-long-">toLong(Object, long)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as a long or the
 <code>defaultValue</code> if the parameter is <code>null</code> or if
 the parameter is not a <code>Long</code> and cannot be converted to
 a <code>Long</code> from the parameter's string value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toMap-java.lang.Object-java.lang.String:A-">toMap(Object, String[])</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as a map with string keys and string values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toObject-java.lang.Object-">toObject(Object)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as a single value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toObject-java.lang.Object-">toObject(Object)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as a single value.</div>
</dd>
<dt><a href="org/apache/sling/api/request/TooManyCallsException.html" title="class in org.apache.sling.api.request"><span class="typeNameLink">TooManyCallsException</span></a> - Exception in <a href="org/apache/sling/api/request/package-summary.html">org.apache.sling.api.request</a></dt>
<dd>
<div class="block">The <code>TooManyCallsException</code> is thrown by the Sling implementation
 if to many inclusions have been called for during a single request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/TooManyCallsException.html#TooManyCallsException-java.lang.String-">TooManyCallsException(String)</a></span> - Constructor for exception org.apache.sling.api.request.<a href="org/apache/sling/api/request/TooManyCallsException.html" title="class in org.apache.sling.api.request">TooManyCallsException</a></dt>
<dd>
<div class="block">Creates an instance of this exception naming the Servlet (or Script)
 whose call caused this exception to be thrown.</div>
</dd>
<dt><a href="org/apache/sling/jcr/api/TooManySessionsException.html" title="class in org.apache.sling.jcr.api"><span class="typeNameLink">TooManySessionsException</span></a> - Exception in <a href="org/apache/sling/jcr/api/package-summary.html">org.apache.sling.jcr.api</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Session pooling has been removed and thus this exception is not
      used any more.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/TooManySessionsException.html#TooManySessionsException-java.lang.String-">TooManySessionsException(String)</a></span> - Constructor for exception org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/TooManySessionsException.html" title="class in org.apache.sling.jcr.api">TooManySessionsException</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/TooManySessionsException.html#TooManySessionsException-java.lang.Throwable-">TooManySessionsException(Throwable)</a></span> - Constructor for exception org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/TooManySessionsException.html" title="class in org.apache.sling.jcr.api">TooManySessionsException</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/api/TooManySessionsException.html#TooManySessionsException-java.lang.String-java.lang.Throwable-">TooManySessionsException(String, Throwable)</a></span> - Constructor for exception org.apache.sling.jcr.api.<a href="org/apache/sling/jcr/api/TooManySessionsException.html" title="class in org.apache.sling.jcr.api">TooManySessionsException</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_ADAPTER_FACTORY_ADDED">TOPIC_ADAPTER_FACTORY_ADDED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when an adapter factory has been added.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_ADAPTER_FACTORY_REMOVED">TOPIC_ADAPTER_FACTORY_REMOVED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when an adapter factory has been removed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#TOPIC_JOB">TOPIC_JOB</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB"><code>JobUtil.TOPIC_JOB</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB">TOPIC_JOB</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">- Use the new <a href="org/apache/sling/event/jobs/JobManager.html#addJob-java.lang.String-java.lang.String-java.util.Map-"><code>JobManager.addJob(String, String, java.util.Map)</code></a> method instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#TOPIC_JOB_ADDED">TOPIC_JOB_ADDED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Asynchronous notification event when a job is added.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#TOPIC_JOB_CANCELLED">TOPIC_JOB_CANCELLED</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_CANCELLED"><code>JobUtil.TOPIC_JOB_CANCELLED</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_CANCELLED">TOPIC_JOB_CANCELLED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use NotificationConstants#TOPIC_JOB_CANCELLED</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#TOPIC_JOB_CANCELLED">TOPIC_JOB_CANCELLED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Asynchronous notification event when a job is cancelled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#TOPIC_JOB_FAILED">TOPIC_JOB_FAILED</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_FAILED"><code>JobUtil.TOPIC_JOB_FAILED</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_FAILED">TOPIC_JOB_FAILED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use NotificationConstants#TOPIC_JOB_FAILED</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#TOPIC_JOB_FAILED">TOPIC_JOB_FAILED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Asynchronous notification event when a job failed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#TOPIC_JOB_FINISHED">TOPIC_JOB_FINISHED</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_FINISHED"><code>JobUtil.TOPIC_JOB_FINISHED</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_FINISHED">TOPIC_JOB_FINISHED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use NotificationConstants#TOPIC_JOB_FINISHED</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#TOPIC_JOB_FINISHED">TOPIC_JOB_FINISHED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Asynchronous notification event when a job is finished.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#TOPIC_JOB_REMOVED">TOPIC_JOB_REMOVED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Asynchronous notification event when a job is permanently removed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#TOPIC_JOB_STARTED">TOPIC_JOB_STARTED</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_STARTED"><code>JobUtil.TOPIC_JOB_STARTED</code></a></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.html#TOPIC_JOB_STARTED">TOPIC_JOB_STARTED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.html" title="class in org.apache.sling.event.jobs">JobUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use NotificationConstants#TOPIC_JOB_STARTED</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/NotificationConstants.html#TOPIC_JOB_STARTED">TOPIC_JOB_STARTED</a></span> - Static variable in class org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/NotificationConstants.html" title="class in org.apache.sling.event.jobs">NotificationConstants</a></dt>
<dd>
<div class="block">Asynchronous notification event when a job is started.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#TOPIC_LOGIN">TOPIC_LOGIN</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a user has logged in successfully.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_ADDED">TOPIC_RESOURCE_ADDED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a resource has been added
 to the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_CHANGED">TOPIC_RESOURCE_CHANGED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a resource has been changed
 in the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_PROVIDER_ADDED">TOPIC_RESOURCE_PROVIDER_ADDED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a resource provider has been
 added to the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_PROVIDER_REMOVED">TOPIC_RESOURCE_PROVIDER_REMOVED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a resource provider has been
 removed from the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_REMOVED">TOPIC_RESOURCE_REMOVED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a resource has been removed
 from the resource tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/SlingConstants.html#TOPIC_RESOURCE_RESOLVER_MAPPING_CHANGED">TOPIC_RESOURCE_RESOLVER_MAPPING_CHANGED</a></span> - Static variable in class org.apache.sling.api.<a href="org/apache/sling/api/SlingConstants.html" title="class in org.apache.sling.api">SlingConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when the resource mapping changes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#TOPIC_SCRIPT_ENGINE_FACTORY_ADDED">TOPIC_SCRIPT_ENGINE_FACTORY_ADDED</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a script engine factory has been added.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/scripting/SlingScriptConstants.html#TOPIC_SCRIPT_ENGINE_FACTORY_REMOVED">TOPIC_SCRIPT_ENGINE_FACTORY_REMOVED</a></span> - Static variable in class org.apache.sling.api.scripting.<a href="org/apache/sling/api/scripting/SlingScriptConstants.html" title="class in org.apache.sling.api.scripting">SlingScriptConstants</a></dt>
<dd>
<div class="block">The topic for the OSGi event which is sent when a script engine factory has been removed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#TOPIC_TIMED_EVENT">TOPIC_TIMED_EVENT</a></span> - Static variable in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use scheduled jobs instead</span></div>
</div>
</dd>
<dt><a href="org/apache/sling/event/jobs/TopicStatistics.html" title="interface in org.apache.sling.event.jobs"><span class="typeNameLink">TopicStatistics</span></a> - Interface in <a href="org/apache/sling/event/jobs/package-summary.html">org.apache.sling.event.jobs</a></dt>
<dd>
<div class="block">Statistic information about a topic.</div>
</dd>
<dt><a href="org/apache/sling/discovery/TopologyEvent.html" title="class in org.apache.sling.discovery"><span class="typeNameLink">TopologyEvent</span></a> - Class in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">A topology event is sent whenever a change in the topology occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.html#TopologyEvent-org.apache.sling.discovery.TopologyEvent.Type-org.apache.sling.discovery.TopologyView-org.apache.sling.discovery.TopologyView-">TopologyEvent(TopologyEvent.Type, TopologyView, TopologyView)</a></span> - Constructor for class org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.html" title="class in org.apache.sling.discovery">TopologyEvent</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/discovery/TopologyEvent.Type.html" title="enum in org.apache.sling.discovery"><span class="typeNameLink">TopologyEvent.Type</span></a> - Enum in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/discovery/TopologyEventListener.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">TopologyEventListener</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">The <code>TopologyEventListener</code> service interface may be implemented by
 components interested in being made aware of changes in the topology.</div>
</dd>
<dt><a href="org/apache/sling/discovery/TopologyView.html" title="interface in org.apache.sling.discovery"><span class="typeNameLink">TopologyView</span></a> - Interface in <a href="org/apache/sling/discovery/package-summary.html">org.apache.sling.discovery</a></dt>
<dd>
<div class="block">A topology view is a cross-cluster list of instances and clusters
 that have announced themselves with the DiscoveryService.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/NonExistingResource.html#toString--">toString()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/NonExistingResource.html" title="class in org.apache.sling.api.resource">NonExistingResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceWrapper.html#toString--">toString()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceWrapper.html" title="class in org.apache.sling.api.resource">ResourceWrapper</a></dt>
<dd>
<div class="block">Returns a string representation of this wrapper consisting of the class'
 simple name, the <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResourceType--"><code>resource type</code></a> and
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getPath--"><code>path</code></a> as well as the string representation of the
 <a href="org/apache/sling/api/resource/ResourceWrapper.html#getResource--"><code>wrapped resource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/SyntheticResource.html#toString--">toString()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/SyntheticResource.html" title="class in org.apache.sling.api.resource">SyntheticResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#toString--">toString()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html#toString--">toString()</a></span> - Method in enum org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html" title="enum in org.apache.sling.auth.core.spi">AuthenticationHandler.FAILURE_REASON_CODES</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/Cookie.html#toString-org.apache.sling.commons.json.JSONObject-">toString(JSONObject)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/Cookie.html" title="class in org.apache.sling.commons.json.http">Cookie</a></dt>
<dd>
<div class="block">Convert a JSONObject into a cookie specification string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/CookieList.html#toString-org.apache.sling.commons.json.JSONObject-">toString(JSONObject)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/CookieList.html" title="class in org.apache.sling.commons.json.http">CookieList</a></dt>
<dd>
<div class="block">Convert a JSONObject into a cookie list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/HTTP.html#toString-org.apache.sling.commons.json.JSONObject-">toString(JSONObject)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/HTTP.html" title="class in org.apache.sling.commons.json.http">HTTP</a></dt>
<dd>
<div class="block">Convert a JSONObject into an HTTP header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#toString-org.apache.sling.commons.json.JSONObject-">toString(JSONObject)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Render the supplied JSONObject to a String, in
  the simplest possible way.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#toString-org.apache.sling.commons.json.JSONArray-">toString(JSONArray)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Make a JSON text of the supplied JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONStringer.html#toString--">toString()</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONStringer.html" title="class in org.apache.sling.commons.json.io">JSONStringer</a></dt>
<dd>
<div class="block">Return the JSON text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#toString--">toString()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Make a JSON text of this JSONArray using 
 <a href="org/apache/sling/commons/json/io/JSONRenderer.html#toString-org.apache.sling.commons.json.JSONArray-"><code>JSONRenderer.toString(JSONArray)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#toString-int-">toString(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Make a prettyprinted JSON text of this JSONArray.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#toString--">toString()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Make a JSON text of this JSONObject using <a href="org/apache/sling/commons/json/io/JSONRenderer.html#toString-org.apache.sling.commons.json.JSONObject-"><code>JSONRenderer.toString(org.apache.sling.commons.json.JSONObject)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#toString-int-">toString(int)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Make a prettyprinted JSON text of this JSONObject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONTokener.html#toString--">toString()</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONTokener.html" title="class in org.apache.sling.commons.json">JSONTokener</a></dt>
<dd>
<div class="block">Make a printable string of this JSONTokener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#toString-org.apache.sling.commons.json.JSONArray-">toString(JSONArray)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a comma delimited text from a JSONArray of JSONObjects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/CDL.html#toString-org.apache.sling.commons.json.JSONArray-org.apache.sling.commons.json.JSONArray-">toString(JSONArray, JSONArray)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/CDL.html" title="class in org.apache.sling.commons.json.util">CDL</a></dt>
<dd>
<div class="block">Produce a comma delimited text from a JSONArray of JSONObjects using
 a provided list of names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#toString-java.lang.Object-">toString(Object)</a></span> - Static method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">Convert a JSONObject into a well-formed, element-normal XML string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#toString-java.lang.Object-java.lang.String-">toString(Object, String)</a></span> - Static method in class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>
<div class="block">Convert a JSONObject into a well-formed, element-normal XML string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html#toString--">toString()</a></span> - Method in class org.apache.sling.commons.osgi.bundleversion.<a href="org/apache/sling/commons/osgi/bundleversion/FileBundleVersionInfo.html" title="class in org.apache.sling.commons.osgi.bundleversion">FileBundleVersionInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toString-java.lang.Object-java.lang.String-">toString(Object, String)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as a string or the
 <code>defaultValue</code> if the parameter is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toString-java.lang.Object-java.lang.String-">toString(Object, String)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as a string or the
 <code>defaultValue</code> if the parameter is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.html#toString--">toString()</a></span> - Method in class org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.html" title="class in org.apache.sling.discovery">TopologyEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#toString--">toString()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.html#toString-org.osgi.service.event.Event-">toString(Event)</a></span> - Static method in class org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.html" title="class in org.apache.sling.event">EventUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">The new event admin version provides a better toString() method</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#toString--">toString()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/InstallTask.html#toString--">toString()</a></span> - Method in class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/InstallTask.html" title="class in org.apache.sling.installer.api.tasks">InstallTask</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#toString--">toString()</a></span> - Method in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#toString--">toString()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/Modification.html#toString--">toString()</a></span> - Method in class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/Modification.html" title="class in org.apache.sling.servlets.post">Modification</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toStringArray-java.lang.Object-">toStringArray(Object)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as an array of Strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/OsgiUtil.html#toStringArray-java.lang.Object-java.lang.String:A-">toStringArray(Object, String[])</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/OsgiUtil.html" title="class in org.apache.sling.commons.osgi">OsgiUtil</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the parameter as an array of Strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toStringArray-java.lang.Object-">toStringArray(Object)</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as an array of Strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/PropertiesUtil.html#toStringArray-java.lang.Object-java.lang.String:A-">toStringArray(Object, String[])</a></span> - Static method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/PropertiesUtil.html" title="class in org.apache.sling.commons.osgi">PropertiesUtil</a></dt>
<dd>
<div class="block">Returns the parameter as an array of Strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ResourceTransformer.html#transform-org.apache.sling.installer.api.tasks.RegisteredResource-">transform(RegisteredResource)</a></span> - Method in interface org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ResourceTransformer.html" title="interface in org.apache.sling.installer.api.tasks">ResourceTransformer</a></dt>
<dd>
<div class="block">Try to transform the registered resource.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks"><span class="typeNameLink">TransformationResult</span></a> - Class in <a href="org/apache/sling/installer/api/tasks/package-summary.html">org.apache.sling.installer.api.tasks</a></dt>
<dd>
<div class="block">A result of a <a href="org/apache/sling/installer/api/tasks/ResourceTransformer.html" title="interface in org.apache.sling.installer.api.tasks"><code>ResourceTransformer</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/TransformationResult.html#TransformationResult--">TransformationResult()</a></span> - Constructor for class org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/TransformationResult.html" title="class in org.apache.sling.installer.api.tasks">TransformationResult</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/security/ResourceAccessSecurity.html#transformQuery-java.lang.String-java.lang.String-org.apache.sling.api.resource.ResourceResolver-">transformQuery(String, String, ResourceResolver)</a></span> - Method in interface org.apache.sling.api.security.<a href="org/apache/sling/api/security/ResourceAccessSecurity.html" title="interface in org.apache.sling.api.security">ResourceAccessSecurity</a></dt>
<dd>
<div class="block">Optionally transform a query based on the current
 user's credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResourceVisitor.html#traverseChildren-java.util.Iterator-">traverseChildren(Iterator&lt;Resource&gt;)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResourceVisitor.html" title="class in org.apache.sling.api.resource">AbstractResourceVisitor</a></dt>
<dd>
<div class="block">Visit the given resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#TYPE_BUNDLE">TYPE_BUNDLE</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">The type for a bundle - in this case <a href="org/apache/sling/installer/api/InstallableResource.html#getInputStream--"><code>InstallableResource.getInputStream()</code></a> must
 return an input stream to the bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#TYPE_CONFIG">TYPE_CONFIG</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">The type for a configuration - in this case <a href="org/apache/sling/installer/api/InstallableResource.html#getDictionary--"><code>InstallableResource.getDictionary()</code></a>
 must return a dictionary with the configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#TYPE_FILE">TYPE_FILE</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">The type for all other provided data like a bundle etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#TYPE_HINT_SUFFIX">TYPE_HINT_SUFFIX</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">Suffix indicating a type hint for the property (value is "@TypeHint").</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/InstallableResource.html#TYPE_PROPERTIES">TYPE_PROPERTIES</a></span> - Static variable in class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/InstallableResource.html" title="class in org.apache.sling.installer.api">InstallableResource</a></dt>
<dd>
<div class="block">The type for properties - in this case <a href="org/apache/sling/installer/api/InstallableResource.html#getDictionary--"><code>InstallableResource.getDictionary()</code></a>
 should contain a dictionary or the <a href="org/apache/sling/installer/api/InstallableResource.html#getInputStream--"><code>InstallableResource.getInputStream()</code></a>
 should point to a property or configuration file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html#TYPE_PROPERTY">TYPE_PROPERTY</a></span> - Static variable in interface org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.html" title="interface in org.apache.sling.auth.core.spi">AuthenticationHandler</a></dt>
<dd>
<div class="block">The name of the service registration property (single string) providing
 the authentication type of authentication handler.</div>
</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/osgi/RankedServices.html#unbind-T-java.util.Map-">unbind(T, Map&lt;String, Object&gt;)</a></span> - Method in class org.apache.sling.commons.osgi.<a href="org/apache/sling/commons/osgi/RankedServices.html" title="class in org.apache.sling.commons.osgi">RankedServices</a></dt>
<dd>
<div class="block">Handle unbind service event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#unbindLog-org.osgi.service.log.LogService-">unbindLog(LogService)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#unbindLog-org.osgi.service.log.LogService-">unbindLog(LogService)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Unbinds the LogService</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#unbindRepository-java.lang.String-java.lang.Object-">unbindRepository(String, Object)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Called to actually unregister a repository with the registry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html#unbindRepository-org.osgi.framework.ServiceReference-">unbindRepository(ServiceReference)</a></span> - Method in class org.apache.sling.jcr.registration.<a href="org/apache/sling/jcr/registration/AbstractRegistrationSupport.html" title="class in org.apache.sling.jcr.registration">AbstractRegistrationSupport</a></dt>
<dd>
<div class="block">Unregisters the repository identified by the OSGi service reference under
 the name set as service property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/http/Cookie.html#unescape-java.lang.String-">unescape(String)</a></span> - Static method in class org.apache.sling.commons.json.http.<a href="org/apache/sling/commons/json/http/Cookie.html" title="class in org.apache.sling.commons.json.http">Cookie</a></dt>
<dd>
<div class="block">Convert <code>%</code><i>hh</i> sequences to single characters, and
 convert plus to space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepository.html#unregisterService-org.osgi.framework.ServiceRegistration-">unregisterService(ServiceRegistration)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepository.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepository</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Unregisters the service represented by the
 <code>serviceRegistration</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html#unregisterService-org.osgi.framework.ServiceRegistration-">unregisterService(ServiceRegistration)</a></span> - Method in class org.apache.sling.jcr.base.<a href="org/apache/sling/jcr/base/AbstractSlingRepositoryManager.html" title="class in org.apache.sling.jcr.base">AbstractSlingRepositoryManager</a></dt>
<dd>
<div class="block">Unregisters the service represented by the
 <code>serviceRegistration</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#unschedule-java.lang.String-">unschedule(String)</a></span> - Method in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Remove a scheduled job by name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduledJobInfo.html#unschedule--">unschedule()</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduledJobInfo.html" title="interface in org.apache.sling.event.jobs">ScheduledJobInfo</a></dt>
<dd>
<div class="block">Unschedule this scheduled job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/adapter/SlingAdaptable.html#unsetAdapterManager-org.apache.sling.api.adapter.AdapterManager-">unsetAdapterManager(AdapterManager)</a></span> - Static method in class org.apache.sling.api.adapter.<a href="org/apache/sling/api/adapter/SlingAdaptable.html" title="class in org.apache.sling.api.adapter">SlingAdaptable</a></dt>
<dd>
<div class="block">Unsets the global <a href="org/apache/sling/api/adapter/AdapterManager.html" title="interface in org.apache.sling.api.adapter"><code>AdapterManager</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceUtil.html#unwrap-org.apache.sling.api.resource.Resource-">unwrap(Resource)</a></span> - Static method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceUtil.html" title="class in org.apache.sling.api.resource">ResourceUtil</a></dt>
<dd>
<div class="block">Unwrap the resource and return the wrapped implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/base/shared/Notifiable.html#updated-java.io.File-">updated(File)</a></span> - Method in interface org.apache.sling.launchpad.base.shared.<a href="org/apache/sling/launchpad/base/shared/Notifiable.html" title="interface in org.apache.sling.launchpad.base.shared">Notifiable</a></dt>
<dd>
<div class="block">Called when the OSGi framework has been stopped because any of the
 <code>Bundle.update</code> methods has been called on the system bundle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/webapp/SlingServlet.html#updated-java.io.File-">updated(File)</a></span> - Method in class org.apache.sling.launchpad.webapp.<a href="org/apache/sling/launchpad/webapp/SlingServlet.html" title="class in org.apache.sling.launchpad.webapp">SlingServlet</a></dt>
<dd>
<div class="block">The framework has been stopped with the intent to be restarted by calling
 either of the <code>Bundle.update</code> methods on the system bundle.</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/UpdateGroup.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">UpdateGroup</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>UpdateGroup</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/UpdateGroup.html#updateGroup-javax.jcr.Session-java.lang.String-java.util.Map-java.util.List-">updateGroup(Session, String, Map&lt;String, ?&gt;, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/UpdateGroup.html" title="interface in org.apache.sling.jackrabbit.usermanager">UpdateGroup</a></dt>
<dd>
<div class="block">Update a group in the repository</div>
</dd>
<dt><a href="org/apache/sling/installer/api/UpdateHandler.html" title="interface in org.apache.sling.installer.api"><span class="typeNameLink">UpdateHandler</span></a> - Interface in <a href="org/apache/sling/installer/api/package-summary.html">org.apache.sling.installer.api</a></dt>
<dd>
<div class="block">An update handler is a service handling updates of resources through other ways
 than the installer, e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html#updateProgress-long-">updateProgress(long)</a></span> - Method in interface org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobExecutionContext.html" title="interface in org.apache.sling.event.jobs.consumer">JobExecutionContext</a></dt>
<dd>
<div class="block">Update the progress to the new ETA.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/OsgiInstaller.html#updateResources-java.lang.String-org.apache.sling.installer.api.InstallableResource:A-java.lang.String:A-">updateResources(String, InstallableResource[], String[])</a></span> - Method in interface org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/OsgiInstaller.html" title="interface in org.apache.sling.installer.api">OsgiInstaller</a></dt>
<dd>
<div class="block">Inform the installer that resources are available for installation
 and/or other resources are no longer available.</div>
</dd>
<dt><a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api"><span class="typeNameLink">UpdateResult</span></a> - Class in <a href="org/apache/sling/installer/api/package-summary.html">org.apache.sling.installer.api</a></dt>
<dd>
<div class="block">The update result is returned by an <a href="org/apache/sling/installer/api/UpdateHandler.html" title="interface in org.apache.sling.installer.api"><code>UpdateHandler</code></a> if
 a resource could be persisted by the handler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/UpdateResult.html#UpdateResult-java.lang.String-">UpdateResult(String)</a></span> - Constructor for class org.apache.sling.installer.api.<a href="org/apache/sling/installer/api/UpdateResult.html" title="class in org.apache.sling.installer.api">UpdateResult</a></dt>
<dd>
<div class="block">Create an update result</div>
</dd>
<dt><a href="org/apache/sling/jackrabbit/usermanager/UpdateUser.html" title="interface in org.apache.sling.jackrabbit.usermanager"><span class="typeNameLink">UpdateUser</span></a> - Interface in <a href="org/apache/sling/jackrabbit/usermanager/package-summary.html">org.apache.sling.jackrabbit.usermanager</a></dt>
<dd>
<div class="block">The <code>UpdateUser</code> service api.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jackrabbit/usermanager/UpdateUser.html#updateUser-javax.jcr.Session-java.lang.String-java.util.Map-java.util.List-">updateUser(Session, String, Map&lt;String, ?&gt;, List&lt;Modification&gt;)</a></span> - Method in interface org.apache.sling.jackrabbit.usermanager.<a href="org/apache/sling/jackrabbit/usermanager/UpdateUser.html" title="interface in org.apache.sling.jackrabbit.usermanager">UpdateUser</a></dt>
<dd>
<div class="block">Update a user in the repository</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceProvider.html#USE_RESOURCE_ACCESS_SECURITY">USE_RESOURCE_ACCESS_SECURITY</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceProvider.html" title="interface in org.apache.sling.api.resource">ResourceProvider</a></dt>
<dd>
<div class="block">The name of the service registration property containing the a boolean
 flag indicating if the ResourceAccessSecurity service should be used for
 this provider or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#USER">USER</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Name of the authentication information property providing the name of the
 user for which the <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getResourceResolver(Map)</code></a> method creates
 resource resolvers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolverFactory.html#USER_IMPERSONATION">USER_IMPERSONATION</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolverFactory.html" title="interface in org.apache.sling.api.resource">ResourceResolverFactory</a></dt>
<dd>
<div class="block">Name of the authentication information property causing the
 <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getResourceResolver(Map)</code></a>,
 <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getAdministrativeResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getAdministrativeResourceResolver(Map)</code></a>, and
 <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#getServiceResourceResolver-java.util.Map-"><code>ResourceResolverFactory.getServiceResourceResolver(Map)</code></a> methods to try to impersonate
 the created resource resolver to the requested user and return the
 impersonated resource resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceResolver.html#USER_IMPERSONATOR">USER_IMPERSONATOR</a></span> - Static variable in interface org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceResolver.html" title="interface in org.apache.sling.api.resource">ResourceResolver</a></dt>
<dd>
<div class="block">The name of the resource resolver attribute which is set if the resource
 resolver has been impersonated as per the
 <a href="org/apache/sling/api/resource/ResourceResolverFactory.html#USER_IMPERSONATION"><code>ResourceResolverFactory.USER_IMPERSONATION</code></a> property.</div>
</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/Validator.html#validate-java.lang.String-">validate(String)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/Validator.html" title="class in org.apache.sling.commons.json.util">Validator</a></dt>
<dd>
<div class="block">Strictly validate the JSON text</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/Validator.html#validate-org.apache.sling.commons.json.JSONTokener-">validate(JSONTokener)</a></span> - Static method in class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/Validator.html" title="class in org.apache.sling.commons.json.util">Validator</a></dt>
<dd>
<div class="block">Strictly validate the JSON text</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/spi/ModelValidation.html#validate-java.lang.Object-java.lang.Class-boolean-">validate(Object, Class&lt;ModelType&gt;, boolean)</a></span> - Method in interface org.apache.sling.models.spi.<a href="org/apache/sling/models/spi/ModelValidation.html" title="interface in org.apache.sling.models.spi">ModelValidation</a></dt>
<dd>
<div class="block">Triggers validation for the given model on the given adaptable</div>
</dd>
<dt><a href="org/apache/sling/models/factory/ValidationException.html" title="class in org.apache.sling.models.factory"><span class="typeNameLink">ValidationException</span></a> - Exception in <a href="org/apache/sling/models/factory/package-summary.html">org.apache.sling.models.factory</a></dt>
<dd>
<div class="block">Thrown in case an validation could not be performed for the given model.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ValidationException.html#ValidationException-java.lang.String-">ValidationException(String)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ValidationException.html" title="class in org.apache.sling.models.factory">ValidationException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/factory/ValidationException.html#ValidationException-java.lang.Throwable-">ValidationException(Throwable)</a></span> - Constructor for exception org.apache.sling.models.factory.<a href="org/apache/sling/models/factory/ValidationException.html" title="class in org.apache.sling.models.factory">ValidationException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/ValidationStrategy.html" title="enum in org.apache.sling.models.annotations"><span class="typeNameLink">ValidationStrategy</span></a> - Enum in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Used by the <a href="org/apache/sling/models/annotations/Model.html" title="annotation in org.apache.sling.models.annotations"><code>Model</code></a> annotation.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/util/Validator.html" title="class in org.apache.sling.commons.json.util"><span class="typeNameLink">Validator</span></a> - Class in <a href="org/apache/sling/commons/json/util/package-summary.html">org.apache.sling.commons.json.util</a></dt>
<dd>
<div class="block">Utility class for validating JSON text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/util/Validator.html#Validator--">Validator()</a></span> - Constructor for class org.apache.sling.commons.json.util.<a href="org/apache/sling/commons/json/util/Validator.html" title="class in org.apache.sling.commons.json.util">Validator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#value-boolean-">value(boolean)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Append either the value <code>true</code> or the value
 <code>false</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#value-double-">value(double)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Append a double value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#value-long-">value(long)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Append a long value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#value-java.lang.Object-">value(Object)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">Append an object value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/SlingPostConstants.html#VALUE_FROM_SUFFIX">VALUE_FROM_SUFFIX</a></span> - Static variable in interface org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/SlingPostConstants.html" title="interface in org.apache.sling.servlets.post">SlingPostConstants</a></dt>
<dd>
<div class="block">SLING-130, suffix that maps form field names to different JCR property
 names</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#VALUE_RUN_ON_LEADER">VALUE_RUN_ON_LEADER</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Value for <a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_RUN_ON"><code>Scheduler.PROPERTY_SCHEDULER_RUN_ON</code></a> to run the job on the leader only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/scheduler/Scheduler.html#VALUE_RUN_ON_SINGLE">VALUE_RUN_ON_SINGLE</a></span> - Static variable in interface org.apache.sling.commons.scheduler.<a href="org/apache/sling/commons/scheduler/Scheduler.html" title="interface in org.apache.sling.commons.scheduler">Scheduler</a></dt>
<dd>
<div class="block">Value for <a href="org/apache/sling/commons/scheduler/Scheduler.html#PROPERTY_SCHEDULER_RUN_ON"><code>Scheduler.PROPERTY_SCHEDULER_RUN_ON</code></a> to run the job on a single instance only.</div>
</dd>
<dt><a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><span class="typeNameLink">ValueMap</span></a> - Interface in <a href="org/apache/sling/api/resource/package-summary.html">org.apache.sling.api.resource</a></dt>
<dd>
<div class="block">The <code>ValueMap</code> is an easy way to access properties of a resource.</div>
</dd>
<dt><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers"><span class="typeNameLink">ValueMapDecorator</span></a> - Class in <a href="org/apache/sling/api/wrappers/package-summary.html">org.apache.sling.api.wrappers</a></dt>
<dd>
<div class="block"><code>ValueMapDecorator</code> decorates another <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>
 to provide a basic implementation for the additional methods
 of a <a href="org/apache/sling/api/resource/ValueMap.html" title="interface in org.apache.sling.api.resource"><code>ValueMap</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#ValueMapDecorator-java.util.Map-">ValueMapDecorator(Map&lt;String, Object&gt;)</a></span> - Constructor for class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dd>
<div class="block">Creates a new wrapper around a given map.</div>
</dd>
<dt><a href="org/apache/sling/models/annotations/injectorspecific/ValueMapValue.html" title="annotation in org.apache.sling.models.annotations.injectorspecific"><span class="typeNameLink">ValueMapValue</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/injectorspecific/package-summary.html">org.apache.sling.models.annotations.injectorspecific</a></dt>
<dd>
<div class="block">Annotation to be used on either methods, fields or constructor parameter to let Sling Models
 inject a value from the ValueMap of the current resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestEvent.EventType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestEvent.EventType.html" title="enum in org.apache.sling.api.request">SlingRequestEvent.EventType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html" title="enum in org.apache.sling.auth.core.spi">AuthenticationHandler.FAILURE_REASON_CODES</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPoolPolicy.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPoolPolicy.html" title="enum in org.apache.sling.commons.threads">ThreadPoolConfig.ThreadPoolPolicy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPriority.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPriority.html" title="enum in org.apache.sling.commons.threads">ThreadPoolConfig.ThreadPriority</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.Type.html" title="enum in org.apache.sling.discovery">TopologyEvent.Type</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.JobPriority.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.JobPriority.html" title="enum in org.apache.sling.event">EventUtil.JobPriority</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.JobResult.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.JobResult.html" title="enum in org.apache.sling.event.jobs.consumer">JobConsumer.JobResult</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.JobState.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.JobState.html" title="enum in org.apache.sling.event.jobs">Job.JobState</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.QueryType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.QueryType.html" title="enum in org.apache.sling.event.jobs">JobManager.QueryType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.JobPriority.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.JobPriority.html" title="enum in org.apache.sling.event.jobs">JobUtil.JobPriority</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.ThreadPriority.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.ThreadPriority.html" title="enum in org.apache.sling.event.jobs">QueueConfiguration.ThreadPriority</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.Type.html" title="enum in org.apache.sling.event.jobs">QueueConfiguration.Type</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.ScheduleType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.ScheduleType.html" title="enum in org.apache.sling.event.jobs">ScheduleInfo.ScheduleType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/event/InstallationEvent.TYPE.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.installer.api.event.<a href="org/apache/sling/installer/api/event/InstallationEvent.TYPE.html" title="enum in org.apache.sling.installer.api.event">InstallationEvent.TYPE</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ResourceState.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ResourceState.html" title="enum in org.apache.sling.installer.api.tasks">ResourceState</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/ControlAction.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/ControlAction.html" title="enum in org.apache.sling.launchpad.app">ControlAction</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/annotations/DefaultInjectionStrategy.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.models.annotations.<a href="org/apache/sling/models/annotations/DefaultInjectionStrategy.html" title="enum in org.apache.sling.models.annotations">DefaultInjectionStrategy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/annotations/injectorspecific/InjectionStrategy.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.models.annotations.injectorspecific.<a href="org/apache/sling/models/annotations/injectorspecific/InjectionStrategy.html" title="enum in org.apache.sling.models.annotations.injectorspecific">InjectionStrategy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/annotations/ValidationStrategy.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.models.annotations.<a href="org/apache/sling/models/annotations/ValidationStrategy.html" title="enum in org.apache.sling.models.annotations">ValidationStrategy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/ModificationType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/ModificationType.html" title="enum in org.apache.sling.servlets.post">ModificationType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/request/SlingRequestEvent.EventType.html#values--">values()</a></span> - Static method in enum org.apache.sling.api.request.<a href="org/apache/sling/api/request/SlingRequestEvent.EventType.html" title="enum in org.apache.sling.api.request">SlingRequestEvent.EventType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/ResourceMetadata.html#values--">values()</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/ResourceMetadata.html" title="class in org.apache.sling.api.resource">ResourceMetadata</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/CompositeValueMap.html#values--">values()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/CompositeValueMap.html" title="class in org.apache.sling.api.wrappers">CompositeValueMap</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/wrappers/ValueMapDecorator.html#values--">values()</a></span> - Method in class org.apache.sling.api.wrappers.<a href="org/apache/sling/api/wrappers/ValueMapDecorator.html" title="class in org.apache.sling.api.wrappers">ValueMapDecorator</a></dt>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html#values--">values()</a></span> - Static method in enum org.apache.sling.auth.core.spi.<a href="org/apache/sling/auth/core/spi/AuthenticationHandler.FAILURE_REASON_CODES.html" title="enum in org.apache.sling.auth.core.spi">AuthenticationHandler.FAILURE_REASON_CODES</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPoolPolicy.html#values--">values()</a></span> - Static method in enum org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPoolPolicy.html" title="enum in org.apache.sling.commons.threads">ThreadPoolConfig.ThreadPoolPolicy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPriority.html#values--">values()</a></span> - Static method in enum org.apache.sling.commons.threads.<a href="org/apache/sling/commons/threads/ThreadPoolConfig.ThreadPriority.html" title="enum in org.apache.sling.commons.threads">ThreadPoolConfig.ThreadPriority</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/discovery/TopologyEvent.Type.html#values--">values()</a></span> - Static method in enum org.apache.sling.discovery.<a href="org/apache/sling/discovery/TopologyEvent.Type.html" title="enum in org.apache.sling.discovery">TopologyEvent.Type</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventPropertiesMap.html#values--">values()</a></span> - Method in class org.apache.sling.event.<a href="org/apache/sling/event/EventPropertiesMap.html" title="class in org.apache.sling.event">EventPropertiesMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/EventUtil.JobPriority.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.<a href="org/apache/sling/event/EventUtil.JobPriority.html" title="enum in org.apache.sling.event">EventUtil.JobPriority</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/consumer/JobConsumer.JobResult.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.consumer.<a href="org/apache/sling/event/jobs/consumer/JobConsumer.JobResult.html" title="enum in org.apache.sling.event.jobs.consumer">JobConsumer.JobResult</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/Job.JobState.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/Job.JobState.html" title="enum in org.apache.sling.event.jobs">Job.JobState</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobManager.QueryType.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobManager.QueryType.html" title="enum in org.apache.sling.event.jobs">JobManager.QueryType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobUtil.JobPriority.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobUtil.JobPriority.html" title="enum in org.apache.sling.event.jobs">JobUtil.JobPriority</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.ThreadPriority.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.ThreadPriority.html" title="enum in org.apache.sling.event.jobs">QueueConfiguration.ThreadPriority</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/QueueConfiguration.Type.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/QueueConfiguration.Type.html" title="enum in org.apache.sling.event.jobs">QueueConfiguration.Type</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/ScheduleInfo.ScheduleType.html#values--">values()</a></span> - Static method in enum org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/ScheduleInfo.ScheduleType.html" title="enum in org.apache.sling.event.jobs">ScheduleInfo.ScheduleType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/event/InstallationEvent.TYPE.html#values--">values()</a></span> - Static method in enum org.apache.sling.installer.api.event.<a href="org/apache/sling/installer/api/event/InstallationEvent.TYPE.html" title="enum in org.apache.sling.installer.api.event">InstallationEvent.TYPE</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/installer/api/tasks/ResourceState.html#values--">values()</a></span> - Static method in enum org.apache.sling.installer.api.tasks.<a href="org/apache/sling/installer/api/tasks/ResourceState.html" title="enum in org.apache.sling.installer.api.tasks">ResourceState</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/jcr/resource/JcrPropertyMap.html#values--">values()</a></span> - Method in class org.apache.sling.jcr.resource.<a href="org/apache/sling/jcr/resource/JcrPropertyMap.html" title="class in org.apache.sling.jcr.resource">JcrPropertyMap</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/launchpad/app/ControlAction.html#values--">values()</a></span> - Static method in enum org.apache.sling.launchpad.app.<a href="org/apache/sling/launchpad/app/ControlAction.html" title="enum in org.apache.sling.launchpad.app">ControlAction</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/annotations/DefaultInjectionStrategy.html#values--">values()</a></span> - Static method in enum org.apache.sling.models.annotations.<a href="org/apache/sling/models/annotations/DefaultInjectionStrategy.html" title="enum in org.apache.sling.models.annotations">DefaultInjectionStrategy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/annotations/injectorspecific/InjectionStrategy.html#values--">values()</a></span> - Static method in enum org.apache.sling.models.annotations.injectorspecific.<a href="org/apache/sling/models/annotations/injectorspecific/InjectionStrategy.html" title="enum in org.apache.sling.models.annotations.injectorspecific">InjectionStrategy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/models/annotations/ValidationStrategy.html#values--">values()</a></span> - Static method in enum org.apache.sling.models.annotations.<a href="org/apache/sling/models/annotations/ValidationStrategy.html" title="enum in org.apache.sling.models.annotations">ValidationStrategy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/ModificationType.html#values--">values()</a></span> - Static method in enum org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/ModificationType.html" title="enum in org.apache.sling.servlets.post">ModificationType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#valueToString-java.lang.Object-">valueToString(Object)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Make a JSON text of an Object value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#valueToString-java.lang.Object-org.apache.sling.commons.json.io.JSONRenderer.Options-">valueToString(Object, JSONRenderer.Options)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Make a JSON String of an Object value, with rendering options</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#valueToString-java.lang.Object-">valueToString(Object)</a></span> - Static method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Make a JSON text of an Object value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_1">VERSION_1_1</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_2">VERSION_1_2</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_3">VERSION_1_3</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_4">VERSION_1_4</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_5">VERSION_1_5</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_6">VERSION_1_6</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_7">VERSION_1_7</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_1_8">VERSION_1_8</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/compiler/Options.html#VERSION_RUNTIME">VERSION_RUNTIME</a></span> - Static variable in class org.apache.sling.commons.compiler.<a href="org/apache/sling/commons/compiler/Options.html" title="class in org.apache.sling.commons.compiler">Options</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post"><span class="typeNameLink">VersioningConfiguration</span></a> - Class in <a href="org/apache/sling/servlets/post/package-summary.html">org.apache.sling.servlets.post</a></dt>
<dd>
<div class="block">Data structure to hold the various options associated with how versionable
 nodes are handled in the post servlet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/servlets/post/VersioningConfiguration.html#VersioningConfiguration--">VersioningConfiguration()</a></span> - Constructor for class org.apache.sling.servlets.post.<a href="org/apache/sling/servlets/post/VersioningConfiguration.html" title="class in org.apache.sling.servlets.post">VersioningConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/models/annotations/Via.html" title="annotation in org.apache.sling.models.annotations"><span class="typeNameLink">Via</span></a> - Annotation Type in <a href="org/apache/sling/models/annotations/package-summary.html">org.apache.sling.models.annotations</a></dt>
<dd>
<div class="block">Indicate that this injection point should be handled using a projected
 property of the adaptable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/api/resource/AbstractResourceVisitor.html#visit-org.apache.sling.api.resource.Resource-">visit(Resource)</a></span> - Method in class org.apache.sling.api.resource.<a href="org/apache/sling/api/resource/AbstractResourceVisitor.html" title="class in org.apache.sling.api.resource">AbstractResourceVisitor</a></dt>
<dd>
<div class="block">Implement this method to do actual work on the resources.</div>
</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/JobStatusProvider.html#wakeUpJobQueue-java.lang.String-">wakeUpJobQueue(String)</a></span> - Method in interface org.apache.sling.event.<a href="org/apache/sling/event/JobStatusProvider.html" title="interface in org.apache.sling.event">JobStatusProvider</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Wake up the named job queue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#weekly-int-int-int-">weekly(int, int, int)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job weekly, the time needs to be specified in addition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#withArraysForChildren-boolean-">withArraysForChildren(boolean)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#withChildNameKey-java.lang.String-">withChildNameKey(String)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#withChildrenKey-java.lang.String-">withChildrenKey(String)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#withIndent-int-">withIndent(int)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html#withInitialIndent-int-">withInitialIndent(int)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.Options.html" title="class in org.apache.sling.commons.json.io">JSONRenderer.Options</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#write-java.io.Writer-org.apache.sling.commons.json.JSONObject-">write(Writer, JSONObject)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Write the contents of the supplied JSONObject as JSON text to a writer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONRenderer.html#write-java.io.Writer-org.apache.sling.commons.json.JSONArray-">write(Writer, JSONArray)</a></span> - Method in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONRenderer.html" title="class in org.apache.sling.commons.json.io">JSONRenderer</a></dt>
<dd>
<div class="block">Write the contents of the supplied JSONArray as JSON text to a writer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONArray.html#write-java.io.Writer-">write(Writer)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONArray.html" title="class in org.apache.sling.commons.json">JSONArray</a></dt>
<dd>
<div class="block">Write the contents of the JSONObject as JSON text to a writer
 using <code>JSONRenderer#write(JSONArray)</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/JSONObject.html#write-java.io.Writer-">write(Writer)</a></span> - Method in class org.apache.sling.commons.json.<a href="org/apache/sling/commons/json/JSONObject.html" title="class in org.apache.sling.commons.json">JSONObject</a></dt>
<dd>
<div class="block">Write the contents of the JSONObject as JSON text to a writer
 using <code>JSONRenderer#write(JSONObject)</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/engine/RequestLog.html#write-java.lang.String-">write(String)</a></span> - Method in interface org.apache.sling.engine.<a href="org/apache/sling/engine/RequestLog.html" title="interface in org.apache.sling.engine">RequestLog</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Writes the given <code>message</code> to the output destination.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html#writeProperty-org.apache.sling.commons.json.io.JSONWriter-javax.jcr.Property-">writeProperty(JSONWriter, Property)</a></span> - Method in class org.apache.sling.commons.json.jcr.<a href="org/apache/sling/commons/json/jcr/JsonItemWriter.html" title="class in org.apache.sling.commons.json.jcr">JsonItemWriter</a></dt>
<dd>
<div class="block">Write a single property</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/io/JSONWriter.html#writer">writer</a></span> - Variable in class org.apache.sling.commons.json.io.<a href="org/apache/sling/commons/json/io/JSONWriter.html" title="class in org.apache.sling.commons.json.io">JSONWriter</a></dt>
<dd>
<div class="block">The writer that will receive the output.</div>
</dd>
</dl>
<a name="I:X">
<!--   -->
</a>
<h2 class="title">X</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#X_REASON">X_REASON</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">The name of the request header set by the
 <code>#sendInvalid(HttpServletRequest, HttpServletResponse)</code> method if the provided
 credentials cannot be used for login.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/auth/core/AuthConstants.html#X_REASON_CODE">X_REASON_CODE</a></span> - Static variable in class org.apache.sling.auth.core.<a href="org/apache/sling/auth/core/AuthConstants.html" title="class in org.apache.sling.auth.core">AuthConstants</a></dt>
<dd>
<div class="block">The name of the request header set by the
 <code>#sendInvalid(HttpServletRequest, HttpServletResponse)</code> method if the provided
 credentials cannot be used for login.</div>
</dd>
<dt><a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml"><span class="typeNameLink">XML</span></a> - Class in <a href="org/apache/sling/commons/json/xml/package-summary.html">org.apache.sling.commons.json.xml</a></dt>
<dd>
<div class="block">This provides static methods to convert an XML text into a JSONObject,
 and to covert a JSONObject into an XML text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XML.html#XML--">XML()</a></span> - Constructor for class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XML.html" title="class in org.apache.sling.commons.json.xml">XML</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml"><span class="typeNameLink">XMLTokener</span></a> - Class in <a href="org/apache/sling/commons/json/xml/package-summary.html">org.apache.sling.commons.json.xml</a></dt>
<dd>
<div class="block">The XMLTokener extends the JSONTokener to provide additional methods
 for the parsing of XML texts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sling/commons/json/xml/XMLTokener.html#XMLTokener-java.lang.String-">XMLTokener(String)</a></span> - Constructor for class org.apache.sling.commons.json.xml.<a href="org/apache/sling/commons/json/xml/XMLTokener.html" title="class in org.apache.sling.commons.json.xml">XMLTokener</a></dt>
<dd>
<div class="block">Construct an XMLTokener from a string.</div>
</dd>
</dl>
<a name="I:Y">
<!--   -->
</a>
<h2 class="title">Y</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html#yearly-int-int-int-int-">yearly(int, int, int, int)</a></span> - Method in interface org.apache.sling.event.jobs.<a href="org/apache/sling/event/jobs/JobBuilder.ScheduleBuilder.html" title="interface in org.apache.sling.event.jobs">JobBuilder.ScheduleBuilder</a></dt>
<dd>
<div class="block">Schedule the job yearly, the time needs to be specified in addition.</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</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:K">K</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:P">P</a>&nbsp;<a href="#I:Q">Q</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 href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</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="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-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; 2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>