Framework()
Initialize an instance of the current class using the new keyword along with this constructor.
Methods
-
RegisterPluginFactory(factory)
-
Registers a plugin factory in a global list of factories and then registers the factory with any existing framework instances.
Parameters:
Name Type Description factory
object The factory creation function -
RegisterFrameworkInstance(framework)
-
Registers a framework instance in a global list of frameworks and then register any plugin factory that are in the global plugin factory list.
Parameters:
Name Type Description framework
object Instance of the framework to register -
UnregisterFrameworkInstance(framework)
-
Remove a framework instance from the global list of instance. You must have a reference to the FrameworkRegistrationObject from that framework to remove it. This is meant for framework instances to remove themselves from the list only.
Parameters:
Name Type Description framework
object Instance of the FrameworkRegistrationObject created when framework instance was registered -
setPluginMetadata(pluginMetadata) → {boolean}
-
Set the metadata for all plugins. Each plugin will only receive the data pluginMetadata["myPluginName"]. This can only be set once per framework instance.
Parameters:
Name Type Description pluginMetadata
object Object containing metadata for all plugins Returns:
Return true if metadata is valid and has not been set before.- Type
- boolean
-
destroy()
-
Destructor/cleanup for OO.Analytics.Framework.
-
getRecordedEvents() → {Array}
-
Returns a shallow copy array of the currently stored recordedEvents in chronological order.
Returns:
Shallow copy of recordedEvents in chronological order.- Type
- Array
-
registerPlugin(pluginFactory) → {string}
-
Register plugin as a factory. It will be validated and an instance of it will be maintained internally. The plugin will then be able to receive events from the framework. Multiple of the same plugin factory can be registered. Each one will have its own unique plugin id.
Parameters:
Name Type Description pluginFactory
function Plugin factory function Returns:
Returns a unique plugin id for this plugin factory.- Type
- string
-
unregisterPlugin(pluginIDToRemove) → {boolean}
-
Remove plugin from the framework. All instances will stop receiving messages from the framework.
Parameters:
Name Type Description pluginIDToRemove
string Plugin id to be removed Returns:
Return true if plugin was found and removed.- Type
- boolean
-
validatePlugin(plugin) → {boolean}
-
Validates that a plugin instance has all the correct functions.
Parameters:
Name Type Description plugin
object Plugin instance to be validated Returns:
Return true if plugin contains all the correct functions.- Type
- boolean
-
getPluginIDList() → {Array}
-
Get a list of plugin ids for the currently registered plugins.
Returns:
An array of plugin IDs.- Type
- Array
-
isPluginActive(pluginID) → {boolean}
-
Return whether or not a plugin is active and able to receive events.
Parameters:
Name Type Description pluginID
string Plugin id to check Returns:
Returns true if plugin is active. If plugin isn't registered, it will return false.- Type
- boolean
-
makePluginActive(pluginID) → {boolean}
-
Set a plugin to be active and receive messages.
Parameters:
Name Type Description pluginID
string Plugin id to set to active Returns:
Returns true if plugin found and was able to be activated.- Type
- boolean
-
makePluginInactive(pluginID) → {boolean}
-
Set a plugin to be inactive.
Parameters:
Name Type Description pluginID
string Plugin id to set to inactive Returns:
Returns true if plugin found and was able to be deactivated.- Type
- boolean
-
flattenEvents(eventObject) → {Array.<string>}
-
Helper function to flatten an object with a nested objects into a single array of values.
Parameters:
Name Type Description eventObject
object The event key-value pair to flatten Returns:
An array of strings representing the flattened values of the object.- Type
- Array.<string>
-
createEventDictionary() → {object|null}
-
Helper function to create the events lookup dictionary.
Returns:
The created events dictionary. Returns null if there are any errors.- Type
- object | null
-
publishEvent(eventName, params) → {boolean}
-
Publish an event to all registered and active plugins.
Parameters:
Name Type Description eventName
string Name of event to publish params
Array Parameters to pass along with the event. Returns:
Return true if message is in OO.Analytics.EVENTS and was successfully published.- Type
- boolean