Package org.apache.sling.api.adapter
Class SlingAdaptable
java.lang.Object
org.apache.sling.api.adapter.SlingAdaptable
- All Implemented Interfaces:
Adaptable
- Direct Known Subclasses:
AbstractResource
,SlingAdaptable
The
SlingAdaptable
class is an (abstract) default implementation
of the Adaptable
interface. It just uses the default
AdapterManager
implemented to adapt itself to the requested type.
Extensions of this class may overwrite the adaptTo(Class)
method
using their own knowledge of adapters and should call this base class
implementation to fall back for other types.
- Since:
- 2.2 (Sling API Bundle 2.2.0)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<AdapterType>
AdapterTypeCalls into the registeredAdapterManager
to adapt this object to the desiredtype
.static void
setAdapterManager
(AdapterManager adapterMgr) Sets the globalAdapterManager
to be used by this class.static void
unsetAdapterManager
(AdapterManager adapterMgr) Unsets the globalAdapterManager
.
-
Constructor Details
-
SlingAdaptable
public SlingAdaptable()
-
-
Method Details
-
setAdapterManager
Sets the globalAdapterManager
to be used by this class.This method is intended to only be called by the
AdapterManager
wanting to register itself for use. Currently only a single adapter manager is supported by this class.- Parameters:
adapterMgr
- TheAdapterManager
to be globally used.
-
unsetAdapterManager
Unsets the globalAdapterManager
.This method is intended to only be called by the
AdapterManager
wanting to unregister itself. Currently only a single adapter manager is supported by this class.- Parameters:
adapterMgr
- TheAdapterManager
to be unset. If this is not the same as currently registered this method has no effect.
-
adaptTo
Calls into the registeredAdapterManager
to adapt this object to the desiredtype
.This method implements a cache of adapters to improve performance. That is repeated calls to this method with the same class will result in the same object to be returned.
- Specified by:
adaptTo
in interfaceAdaptable
- Type Parameters:
AdapterType
- The generic type to which this resource is adapted to- Parameters:
type
- The Class object of the target type, such asjavax.jcr.Node.class
orjava.io.File.class
- Returns:
- The adapter target or
null
if the resource cannot adapt to the requested type
-