An interface for an adaptable object.
Adaptable objects can be dynamically extended to provide different interfaces (or "adapters"). Adapters are created by adapter factories, which are in turn managed by type by adapter managers.
For example,
IAdaptable a = [some adaptable]; IFoo x = (IFoo)a.getAdapter(IFoo.class); if (x != null) [do IFoo things with x]
This interface can be used without OSGi running.
Clients may implement this interface, or obtain a default implementation of this interface by subclassing PlatformObject
.
@see IAdapterFactory
@see IAdapterManager
@see PlatformObject