# All Classes and Interfaces

Class
Description
AbstractResource
The `AbstractResource` is an abstract implementation of the `Resource` interface.
AbstractResourceVisitor
This visitor will traverse the given resource and all its children in a depth-first approach and call the `AbstractResourceVisitor.visit(Resource)` method for each visited resource.
AccessSecurityException
Exception thrown by methods of `ResourceAccessSecurity` This exception is used to catch unpredictable situations in methods of `ResourceAccessSecurity`
Adaptable
The `Adaptable` interface identifies objects which can be adapted to other types or representations of the same object.
AdapterFactory
The `AdapterFactory` interface defines the API for helpers which may be provided to enhance the adaptability of adaptable objects.
AdapterManager
The `AdapterManager` defines the service interface for a manager for object adaption.
AttributableResourceProvider
Deprecated.
Use the `ResourceProvider`
Authenticator
The `Authenticator` interface defines the service interface which may be used by applications to enforce requests to be authenticated (see `Authenticator.login(HttpServletRequest, HttpServletResponse)`) or to end enforced authentication (see `Authenticator.logout(HttpServletRequest, HttpServletResponse)` ).
AuthType
Enumeration for the auth type of a resource provider.
Builders
Creates builders.
CompositeValueMap
Deprecated.
Use `ValueMapUtil.merge(ValueMap...)` instead.
DeepReadModifiableValueMapDecorator
A value map wrapper which implements deep reading of properties based on the resource tree and also supports `ModifiableValueMap`.
DeepReadValueMapDecorator
A value map wrapper which implements deep reading of properties based on the resource tree.
DynamicResourceProvider
Deprecated.
Use the `ResourceProvider`
ErrorHandler
Deprecated.
Use `JakartaErrorHandler` instead.
ExternalizableInputStream
This interface is normally used to extend an InputStream to indicate that it has a URI form that could be used in place of the InputStream if desired.
ExternalResourceChangeListener
This is a marker interface to receive external events.
FailureReason
Failure reason for a failed resource provider.
HtmlResponse
Deprecated.
use org.apache.sling.servlets.post.HtmlResponse instead.
HttpConstants
HTTP-related constants
InvalidServiceFilterSyntaxException
Thrown when an invalid service filter is used
IteratorWrapper<T>
Wrapper class for `Iterator`s, that forwards all method calls to the wrapped `Iterator`.
JakartaErrorHandler
The `JakartaErrorHandler` defines the interface of the service used by the Sling to handle calls to `jakarta.servlet.http.HttpServletResponse.sendError` and to handle uncaught `Throwable`s.
JakartaMediaRangeList
Facilitates parsing of the Accept HTTP request header.
JakartaOptingServlet
The `JakartaOptingServlet` interface may be implemented by `Servlet`s used by Sling which may choose to not handle all requests for which they would be selected based on their registration properties.
JakartaToJavaxFilterWrapper
This class wraps a filter based on the Jakarta Servlet API to implement Servlet API 3.
JakartaToJavaxFilterWrapper.FilterChainWrapper
JakartaToJavaxRequestWrapper
Wrapper for `SlingJakartaHttpServletRequest` to adapt it to the Javax Servlet API.
JakartaToJavaxResponseWrapper
Wrapper for `SlingJakartaHttpServletResponse` to adapt it to the Jacax Servlet API.
JakartaToJavaxServletWrapper
This class wraps a servlet based on the Jakarta Servlet API to implement Servlet API 3.
JakartaToJavaxServletWrapper.JakartaToJavaxOptingServletWrapper
JavaxToJakartaFilterWrapper
This class wraps a filter based on the Servlet API 3 to implement Jakarta Servlet API.
JavaxToJakartaFilterWrapper.FilterChainWrapper
JavaxToJakartaRequestWrapper
Wrapper for `SlingHttpServletRequest` to adapt it to the Jakarta Servlet API.
JavaxToJakartaResponseWrapper
Wrapper for `SlingHttpServletResponse` to adapt it to the Jacax Servlet API.
JavaxToJakartaServletWrapper
This class wraps a servlet based on the Servlet API 3 to implement Jakarta Servlet API.
JavaxToJakartaServletWrapper.JavaxToJakartaOptingServletWrapper
LazyBindings
The `LazyBindings` wraps another map and dynamically provides entries for the wrapped map through a map of `LazyBindings.Supplier`s.
LazyBindings.Supplier
This marker interface should be used for suppliers which should be unwrapped when used as values stored in a `LazyBindings` map.
LoginException
Exception thrown by ``ResourceResolverFactory.getAdministrativeResourceResolver(java.util.Map)`` , ``ResourceResolverFactory.getResourceResolver(java.util.Map)`` , and ``ResourceResolver.clone(java.util.Map)`` if a resource resolver cannot be created because the credential data is not valid.
MediaRangeList
Deprecated.
Use `JakartaMediaRangeList` instead.
ModifiableValueMap
The `ModifiableValueMap` is an extension of the `ValueMap` which allows to modify and persist properties.
ModifiableValueMapDecorator
`ModifiableValueMapDecorator` decorates another `Map` to provide a basic implementation for the additional methods of a `ModifiableValueMap`.
ModifyingResourceProvider
Deprecated.
Use the `ResourceProvider`
NoAuthenticationHandlerException
The `NoAuthenticationHandlerException` is thrown to indicate that the `Authenticator.login(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)` method could not find a way to authenticate the request user.
NonExistingResource
Simple helper class representing nonexisting resources.
ObservationReporter
A `ResourceProvider` must use an observation reporter to report changes to resources.
ObserverConfiguration
A observer configuration describes active configurations from registered listeners.
OptingServlet
Deprecated.
Use `JakartaOptingServlet` instead
ParametrizableResourceProvider
Deprecated.
Use the `ResourceProvider`
Path
Simple helper class for path matching.
PathBuilder
The `PathBuilder` offers a convenient way of creating a valid path from multiple fragments
PathSet
Simple helper class for path matching against a set of paths.
PersistableValueMap
Deprecated.
Use the `ModifiableValueMap` instead.
PersistenceException
This exception will be thrown during the commit to persist changes to a `PersistableValueMap`, a `ModifiableValueMap` or the `ResourceResolver`.
ProviderContext
The provider context...
QueriableResourceProvider
Deprecated.
Use the `ResourceProvider`
QueryLanguageProvider<T>
The JCR query provider supports querying based on the JCR spec.
QuerySyntaxException
The `QuerySyntaxException` is thrown by the `ResourceResolver.findResources(String, String)` and `ResourceResolver.queryResources(String, String)` methods if the query syntax is wrong or the requested query language is not available.
RecursionTooDeepException
The `RecursionTooDeepException` is thrown by the Sling implementation if to many recursive content inclusions take place.
RefreshableResourceProvider
Deprecated.
Use the `ResourceProvider`
RequestDispatcherOptions
`RequestDispatcherOptions` are used in the `SlingHttpServletRequest.getRequestDispatcher(org.apache.sling.api.resource.Resource, RequestDispatcherOptions)` method, to give more control on some aspects of the include/forward mechanism.
RequestParameter
The `RequestParameter` class represents a single parameter sent with the client request.
RequestParameterMap
The `RequestParameterMap` encapsulates all request parameters of a request.
RequestPathInfo
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.
RequestPathInfoWrapper
The `RequestPathInfoWrapper` class is a default wrapper class around a `RequestPathInfo` which may be extended to amend the functionality of the original request path info object.
RequestProgressTracker
The `RequestProgressTracker` class provides the functionality to track the progress of request processing.
RequestUtil
Request related utility methods.
ResolveContext<T>
The resolve context is passed to most of the methods of the `ResourceProvider` to provide additional context information for the provider.
Resource
Resources are pieces of content on which Sling acts
ResourceAccessSecurity
The `ResourceAccessSecurity` 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.
ResourceChange
A resource change event is immutable.
ResourceChange.ChangeType
The type of the change
ResourceChangeList
An instance of `ResourceChangeList` is passed to `ResourceChangeListener.onChange(List)` to pass in additional information like the search path.
ResourceChangeListener
Listener for resource change events.
ResourceContext
The resource context provides additional information for resource resolving.
ResourceDecorator
Optional service to decorate `Resource`s returned by the `ResourceResolver`.
ResourceMapper
Allows access to resource mappings
ResourceMetadata
The `ResourceMetadata` interface defines the API for the metadata of a Sling `Resource`.
ResourceNotFoundException
An Exception that causes Sling to return a 404 (NOT FOUND) status code.
ResourceProvider
Deprecated.
Use the `ResourceProvider`
ResourceProvider<T>
API for providers of resources.
ResourceProviderDTO
Represents a `org.apache.sling.spi.resource.provider.ResourceProvider`.
ResourceProviderFactory
Deprecated.
ResourceProviderFailureDTO
Represents a failed `org.apache.sling.spi.resource.provider.ResourceProvider`.
ResourceResolver
The `ResourceResolver` defines the API which may be used to resolve `Resource` objects and work with such resources like creating, editing or updating them.
ResourceResolverFactory
The `ResourceResolverFactory` defines the service API to get and create `ResourceResolver`s.
ResourceResolverWrapper
The `ResourceResolverWrapper` is a wrapper for any `ResourceResolver`, delegating all method calls to the wrapped resource resolver by default.
ResourceUtil
The `ResourceUtil` class provides helper methods dealing with resources.
ResourceUtil.BatchResourceRemover
A batch resource remover deletes resources in batches.
ResourceWrapper
The `ResourceWrapper` is a wrapper for any `Resource` delegating all method calls to the wrapped resource by default.
ResponseUtil
Response related utility methods
RuntimeDTO
Represents the resource resolver runtime
RuntimeService
Runtime service providing introspection of the state of the resource resolver and the resource providers.
ScriptEvaluationException
The `ScriptEvaluationException` is thrown by the `SlingScript.eval(SlingBindings)` method if an error occurrs evaluating the script.
ServletResolver
The `ServletResolver` defines the API for a service capable of resolving `jakarta.servlet.Servlet` instances to handle the processing of a request or resource.
ServletResolverConstants
Service registration properties and common values used for registering a Sling Servlet.
SlingAdaptable
The `SlingAdaptable` class is an (abstract) default implementation of the `Adaptable` interface.
SlingAllMethodsServlet
Deprecated.
Use `SlingJakartaAllMethodsServlet` instead
SlingBindings
The `SlingBindings` class is used to prepare global variables for script execution.
SlingConstants
The `SlingConstants` interface provides some symbolic constants for well known constant strings in Sling.
SlingException
The `SlingException` is the base exception used throughout the Sling API.
SlingHttpServletRequest
Deprecated.
Use `SlingJakartaHttpServletRequest` instead.
SlingHttpServletRequestBuilder
Fluent helper for building a request.
SlingHttpServletRequestWrapper
Deprecated.
Use `SlingJakartaHttpServletRequestWrapper`
SlingHttpServletResponse
Deprecated.
Use `SlingJakartaHttpServletResponse` instead.
SlingHttpServletResponseBuilder
Fluent helper for building a response.
SlingHttpServletResponseResult
Deprecated.
Use `SlingJakartaHttpServletResponseResult` instead
SlingHttpServletResponseWrapper
Deprecated.
Use `SlingJakartaHttpServletResponseWrapper`
SlingIOException
The `SlingIOException` is a runtime exception wrapper for the Java `IOException`.
SlingJakartaAllMethodsServlet
Helper base class for data modifying Servlets used in Sling.
SlingJakartaHttpServletRequest
The `SlingHttpServletRequest` defines the interface to provide client request information to a servlet.
SlingJakartaHttpServletRequestWrapper
The `SlingJakartaHttpServletRequestWrapper` class is a default wrapper class around a `SlingJakartaHttpServletRequest` which may be extended to amend the functionality of the original request object.
SlingJakartaHttpServletResponse
The `SlingHttpServletResponse` defines the interface to assist a servlet in creating and sending a response to the client.
SlingJakartaHttpServletResponseResult
This is an extension of a `SlingJakartaHttpServletResponse` to get the result from a processing operation.
SlingJakartaHttpServletResponseWrapper
The `SlingJakartaHttpServletResponseWrapper` class is a default wrapper class around a `SlingJakartaHttpServletResponse` which may be extended to amend the functionality of the original response object.
SlingJakartaRequestEvent
represents an event published by the Sling engine while dispatching a request.
SlingJakartaRequestEvent.EventType
type of the event
SlingJakartaRequestListener
Implementations of this service interface receive notifications about changes to Sling request of the Sling application they are part of.
SlingJakartaSafeMethodsServlet
Helper base class for read-only Servlets used in Sling.
SlingRequestEvent
Deprecated.
Use `SlingJakartaRequestEvent` instead.
SlingRequestEvent.EventType
type of the event
SlingRequestListener
Deprecated.
Use `SlingJakartaRequestListener` instead.
SlingRequestPaths
This class is not a "wrapper" per se, but computes the correct path info, request URI, etc.
SlingSafeMethodsServlet
Deprecated.
Use `SlingJakartaSafeMethodsServlet` instead
SlingScript
The `SlingScript` defines the API for objects which encapsulate a script.
SlingScriptConstants
Some constants for the scripting.
SlingScriptHelper
The `SlingScriptHelper` interface defines the API of a helper class which is provided to the scripts called from sling through the global ``sling`` variable.
SlingScriptResolver
Deprecated.
The SlingScriptResolver interface is intended to be implemented and also used by project specific code.
SlingServletException
The `SlingServletException` is a runtime exception wrapper for the Servlet API `ServletException`.
SlingUri
Represents an immutable URI in the same way as java.net.URI but is extended with Sling-specific URI parts (e.g.
SlingUriBuilder
Builder for immutable `SlingUri`s.
SyntheticResource
The `SyntheticResource` class is a simple implementation of the `Resource` interface which may be used to provide a resource object which has no actual resource data (except for the mandatory property "sling:resourceType").
TooManyCallsException
The `TooManyCallsException` is thrown by the Sling implementation if to many inclusions have been called for during a single request.
URIProvider
Provides a URI in exchange for a Resource.
URIProvider.Operation
Defines which operation the URI may be used to perform.
URIProvider.Scope
Defines the scope in which the URI may be used.
ValueMap
The `ValueMap` is an easy way to access properties of a resource.
ValueMapDecorator
`ValueMapDecorator` decorates another `Map` to provide a basic implementation for the additional methods of a `ValueMap`.
ValueMapUtil
Factory methods to create `ValueMap`s.