Package yapsy :: Module PluginManager
[hide private]

Module PluginManager

source code

The basic interface and implementation for a plugin manager.

Also define the basic mechanism to add functionalities to the base PluginManager. A few principles to follow in this case:

If the new functionalities do not overlap the ones already implemented, then they must be implemented as a Decorator class of the base plugin. This should be done by inheriting the PluginManagerDecorator.

If this previous way is not possible, then the functionalities should be added as a subclass of PluginManager.

The first method is highly prefered since it makes it possible to have a more flexible design where one can pick several functionalities and litterally add them to get an object corresponding to one's precise needs.



Classes [hide private]
  PluginInfo
Gather some info about a plugin such as its name, author, description...
  PluginManager
Manage several plugins by ordering them in several categories.
  PluginManagerDecorator
Make it possible to add several responsibilities to a plugin manager object in a more flexible way than by mere subclassing.
  PluginManagerSingleton
Singleton version of the most basic plugin manager.
Variables [hide private]
  PLUGIN_NAME_FORBIDEN_STRING = ';;'