Class p.c.p.ExtensionPoint(object):

Part of pida.core.plugins View In Hierarchy

Known subclasses: pida.core.plugins.PluginExtensionPoint

This class is based on Eclipse's plugin architecture. An extension point is a class for defining a number of named sets, we'll address each named list an extension. Conceptually an ExtensionPoint is a special case of a NamedList, they have an equal interface.

In order to access extensions we have to initialize the ExtensionPoint by calling the init_extensions method.

Before initializing the ExtensionPoint we can add objects in any extensions. Objects added before initialization that are contained in an extension not initialized will be silentely discarded.

After the ExtensionPoint is initialized, when objects are added to an extension, they are activated, calling the protected method _activate. The _activate method can be create to mutate objects when they are inserted into the extension. Objects added to extensions before the ExtensionPoint is initialized are only activated when the init_extensions method is called.

Line # Kind Name Docs
301 Method __init__ Creates a new extension point object.
305 Method _activate This method is called when the object is placed in an initialized
312 Method init_extensions Initializes the valid extensions.
328 Class Method add Adds one more element to the extension point, or named list.
336 Class Method __getitem__ Undocumented
344 Method has_init Verifies if the extension point was already initialized.
351 Class Method keys Undocumented
def __init__(self):
Creates a new extension point object.
def _activate(self, extender):
This method is called when the object is placed in an initialized extension.
def init_extensions(self, extension_points):
Initializes the valid extensions.
@classmethod
def add(self, name, value):
Adds one more element to the extension point, or named list.
@classmethod
def __getitem__(self, key):
Undocumented
def has_init(self):
Verifies if the extension point was already initialized.
@classmethod
def keys(self):
Undocumented
API Documentation for PIDA, generated by pydoctor.