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 registeredAdapterManagerto adapt this object to the desiredtype.static voidsetAdapterManager(AdapterManager adapterMgr) Sets the globalAdapterManagerto be used by this class.static voidunsetAdapterManager(AdapterManager adapterMgr) Unsets the globalAdapterManager.
-
Constructor Details
-
SlingAdaptable
public SlingAdaptable()
-
-
Method Details
-
setAdapterManager
Sets the globalAdapterManagerto be used by this class.This method is intended to only be called by the
AdapterManagerwanting to register itself for use. Currently only a single adapter manager is supported by this class.- Parameters:
adapterMgr- TheAdapterManagerto be globally used.
-
unsetAdapterManager
Unsets the globalAdapterManager.This method is intended to only be called by the
AdapterManagerwanting to unregister itself. Currently only a single adapter manager is supported by this class.- Parameters:
adapterMgr- TheAdapterManagerto be unset. If this is not the same as currently registered this method has no effect.
-
adaptTo
Calls into the registeredAdapterManagerto 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:
adaptToin 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.classorjava.io.File.class- Returns:
- The adapter target or
nullif the resource cannot adapt to the requested type
-