/tags/jsdoc_toolkit-2.0.1/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js
http://jsdoc-toolkit.googlecode.com/ · JavaScript · 33 lines · 14 code · 4 blank · 15 comment · 3 complexity · d5ff4cfe6136435f5755e2c9cd9457a1 MD5 · raw file
- /**
- @namespace Holds functionality related to running plugins.
- */
- JSDOC.PluginManager = {
- }
- /**
- @param name A unique name that identifies that plugin.
- @param handlers A collection of named functions. The names correspond to hooks in the core code.
- */
- JSDOC.PluginManager.registerPlugin = function(/**String*/name, /**Object*/handlers) {
- if (!defined(JSDOC.PluginManager.plugins))
- /** The collection of all plugins. Requires a unique name for each.
- */
- JSDOC.PluginManager.plugins = {};
-
-
- JSDOC.PluginManager.plugins[name] = handlers;
- }
- /**
- @param hook The name of the hook that is being caught.
- @param target Any object. This will be passed as the only argument to the handler whose
- name matches the hook name. Handlers cannot return a value, so must modify the target
- object to have an effect.
- */
- JSDOC.PluginManager.run = function(/**String*/hook, /**Mixed*/target) {
- for (var name in JSDOC.PluginManager.plugins) {
- if (defined(JSDOC.PluginManager.plugins[name][hook])) {
- JSDOC.PluginManager.plugins[name][hook](target);
- }
- }
- }