The plugin repositority is a registry of all plugins. At system boot up a repositority is builded by parsing the mainifest files of all plugins. Plugins that require not existing other plugins are not registed. For each plugin a plugin descriptor instance will be created. The descriptor represents all meta information about a plugin. So a plugin instance will be created later when it is required, this allow lazy plugin loading.
Returns a extension point indentified by a extension point id.
Returns the descriptor of one plugin identified by a plugin id.
Returns all registed plugin descriptors.
Returns a instance of a plugin.
Loads all necessary dependencies for a selected plugin, and then runs one of the classes' main() method.
Returns a instance of a plugin. Plugin instances are cached. So a plugin exist only as one instance. This allow a central management of plugin own resources. After creating the plugin instance the startUp() method is invoked. The plugin use a own classloader that is used as well by all instance of extensions of the same plugin. This class loader use all exported libraries from the dependend plugins and all plugin libraries.
args - plugin ID (needs to be activated in the configuration), and the class name. The rest of arguments is passed to the main method of the selected class.