public interface IAdaptable
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.adapt(IFoo.class); if (x != null) [do IFoo things with x]
Implementation of this typically calls
IAdapterFactory to do the job.