Plugin.Host Class
+ + + + ++An augmentable class, which provides the augmented class with the ability to host plugins. +It adds plug and unplug methods to the augmented class, which can +be used to add or remove plugins from instances of the class. +
+ +Plugins can also be added through the constructor configuration object passed to the host class' constructor using +the "plugins" property. Supported values for the "plugins" property are those defined by the plug method. + +For example the following code would add the AnimPlugin and IOPlugin to Overlay (the plugin host): +
+Plug.Host's protected _initPlugins and _destroyPlugins +methods should be invoked by the host class at the appropriate point in the host's lifecyle. +
+Item Index
+ + +Methods
+ +-
+
+
- + _destroyPlugins + + + + + +
- + _initConfigPlugins + + + + + +
- + _initPlugins + + + + + +
- + hasPlugin + + + + + +
- + plug + + + + + +
- + plug + + + static + + + + +
- + unplug + + + + + +
- + unplug + + + static + + + + +
Methods
+ + +_destroyPlugins
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Unplugs and destroys all plugins on the host
+_initConfigPlugins
+
+
+ -
+
+
-
+
+
config+ +
+
+
A protected initialization method, used by the host class to initialize +plugin configurations passed the constructor, through the config object.
+ +Host objects should invoke this method at the appropriate time in their +construction lifecycle.
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +The configuration object passed to the constructor
+
+
+
_initPlugins
+
+
+ -
+
+
-
+
+
config+ +
+
+
Initializes static plugins registered on the host (using the +Base.plug static method) and any plugins passed to the +instance through the "plugins" configuration property.
+Parameters:
+ +-
+
+
-
+
+
config+ Config + + + + +++ + +The configuration object with property name/value pairs.
+
+
+
hasPlugin
+
+
+ -
+
+
-
+
+
ns+ +
+
+
Determines if a plugin has plugged into this host.
+Parameters:
+ +-
+
+
-
+
+
ns+ String + + + + +++ + +The plugin's namespace
+
+
+
Returns:
+ +plug
+
+
+ -
+
+
-
+
+
P+ +
+
+ -
+
+
config+ +
+
+
Adds a plugin to the host object. This will instantiate the +plugin and attach it to the configured namespace on the host object.
+Parameters:
+ +-
+
+
-
+
+
P+ Function | Object | Array + + + + +++ + +Accepts the plugin class, or an +object with a "fn" property specifying the plugin class and +a "cfg" property specifying the configuration for the Plugin.
+ ++Additionally an Array can also be passed in, with the above function or +object values, allowing the user to add multiple plugins in a single call. +
+
+
+ -
+
+
config+ Object + + + + +++ + +(Optional) If the first argument is the plugin class, the second argument +can be the configuration for the plugin.
+
+
+
Returns:
+ +plug
+
+
+ -
+
+
-
+
+
hostClass+ +
+
+ -
+
+
plugin+ +
+
+ -
+
+
config+ +
+
+
Registers plugins to be instantiated at the class level (plugins +which should be plugged into every instance of the class by default).
+Parameters:
+ +-
+
+
-
+
+
hostClass+ Function + + + + +++ + +The host class on which to register the plugins
+
+
+ -
+
+
plugin+ Function | Array + + + + +++ + +Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined)
+
+
+ -
+
+
config+ Object + + + + +++ + +(Optional) If plugin is the plugin class, the configuration for the plugin
+
+
+
unplug
+
+
+ -
+
+
-
+
+
plugin+ +
+
+
Removes a plugin from the host object. This will destroy the +plugin instance and delete the namespace from the host object.
+Parameters:
+ + +Returns:
+ +unplug
+
+
+ -
+
+
-
+
+
hostClass+ +
+
+ -
+
+
plugin+ +
+
+
Unregisters any class level plugins which have been registered by the host class, or any +other class in the hierarchy.
+