Interface definitions for extension classes of kernel extension points.

Each interface corresponds to one extendable service from the kernel.service package and therefore to one extension point schema definition.

A plugable extension must implement the methods of the respective interface in order to work properly with the kernel implementation. These methods are called by the kernel at the appropriate time, e.g., a IPrototypeProvider is required to provide its prototype elements when the kernel calls the getPrototypes() method.

The communication between the kernel and extensions usually involves some kind of data (e.g. Prototype). These data-related classes and interfaces can be found in the kernel.extension.data package.

For some extensions the kernel provides abstract base implementations in the kernel.extension.base package.