AdapterFactory is an EMF class based on the Adapter and Abstract factory design patterns. It serves two purposes, a) to create item providers and b) to use its item providers to adapt objects from one class into another. AdapterFactory and its variants are used extensively throughout the EMF.edit framework.