dizmojs.Bundle

Bundle

An instance of this class represents a single bundle and
allows reading and setting its attributes where allowed, as well as
registering callbacks to listen for changes. Several convenience methods
are provided to make access easier.

Each dizmo is provided with an instance of this class in the global
variable bundle. It represents the bundle of the dizmo itself. An instance
representing another bundle can be obtained by passing its identifier to
the constructor, or via any method that directly returns an
instance.

new dizmojs.Bundle(id)

Given the identifier of a bundle, constructs a new instance that represents this bundle.
Parameters:
Name Type Description
id

String

The bundle identifier or a dizmo identifier of the bundle to represent.
Throws:
If the provided identifier does not correspond to a bundle
Type

BundleNotExistsError

Members

identifier :String

Type:
  • String

Methods

getAttribute(attributeName) → {String|Number}

Get value of an attribute of the bundle (attribute name is case INsensitive!). One can also get the parent attribute: For example dizmo.getAttribute(‘geometry’); will return an object with all the values under geometry. This is recursive, so ALL children on ALL levels below the parent will be retrieved.
Parameters:
Name Type Argument Description
attributeName

String

name of the attribute of the bundle. For a list of all attributes, refer to the data-tree.
Throws:
  • If the provided attribute name is not a string
    Type

    NotAStringError

  • If the provided attribute does not exist
    Type

    AttributeDoesNotExistError

Returns:
value of the Attribute of the viewer
Type

String
|

Number

subscribeToAttribute(attributeName, callback, subscribedCallback) → {String}

Subscribe a callback to changes on the given attribute. If subscribing on a parent node, the changes that are made to any sub nodes will be listened to. This is as subscribing to a recursive node on the private/public store.
Parameters:
Name Type Argument Description
attributeName

String

The attribute on which to listen for changes
callback

function

The function to call once changes have occurred
subscribedCallback

dizmojs.Bundle~onSubscriptionRegisteredCallback

<optional>

The function called once the subscription is registered
Throws:
  • If the provided attribute is not a string
    Type

    NotAStringError

  • If the attribute does not exist
    Type

    AttributeDoesNotExistError

  • If the callback is not a function
    Type

    NotAFunctionError

Returns:
The subscription id
Type

String

subscribeToAttributeConditional(attributeName, condition, callback, subscribedCallback) → {String}

Subscribe to an attribute and only call the given callback when the attribute is equal to the given condition
Parameters:
Name Type Argument Description
attributeName

String

The name of the attribute
condition

String
|

Boolean
|

Number

The value the attribute has to be equal to
callback

function

The function to call once the attribute is equal to the condition
subscribedCallback

dizmojs.Bundle~onSubscriptionRegisteredCallback

<optional>

The function called once the subscription is registered
Throws:
  • If the provided attribute name is not a string
    Type

    NotAStringError

  • If the attribute does not exist
    Type

    AttributeDoesNotExistError

  • If the callback is not a function
    Type

    NotAFunctionError

Returns:
The subscription id
Type

String

unsubscribeAttribute(subscriptionId)

Unsubscribe from the given attribute change
Parameters:
Name Type Description
subscriptionId

String

The subscription id returned from a subscribeToAttribute call
Throws:
If the given subscription id is not a string
Type

NotAStringError

getUpdateInformation() → {Object}

Retrieve update information for the bundle
Returns:
An object representation of the update information
Type

Object

update()

Update the bundle. The dizmos of this bundle have to be reloaded to show changes. A reload of dizmoViewer will also work.

getDizmos() → {Array}

Get all instances of this bundle
Returns:
An array of dizmojs.Dizmo instances
Type

Array

instantiateDizmo(options, publicProperties, privateProperties, instantiatedCallback)

Instantiate a new dizmo
Parameters:
Name Type Description
options

Object

An object containing key/value pairs to set attributes of the dizmo
publicProperties

Object

An object containing key/value pairs to set public properties of the dizmo
privateProperties

Object

An object containing key/value pairs to set private properties of the dizmo
instantiatedCallback

dizmojs.Bundle~onDizmoInstantiatedCallback

<optional>

The function called once the dizmo has been instantiated
Throws:
  • If the attributes, publicProperties or privateProperties parameters are not objects or undefined.
    Type

    NotAnObjectError

  • If the provided callback is not a function or undefined
    Type

    NotAFunctionError

Example
var privateKeyValues = new Object({
  username: "joedoe",
  password: "my_secret_password"
});

var bundle = viewer.getBundleById('com.dizmo.mybundle');
bundle.instantiateDizmo({}, {}, privateKeyValues, function(dizmoInstance, error) {
    // do something with dizmoInstance and/or error
});

uninstall()

Uninstall the bundle. This only works if there are no more instances (aka Dizmos) of the bundle running.
Throws:
If the bundle is an internal bundle and can thus not be uninstalled
If there are still instances of the bundle running
Type

UninstallBundleError

Type Definitions

onDizmoInstantiatedCallback(dizmoInstance, error)

A callback invoked when the dizmo has been instantiated, or when the instantiating of the dizmo failed.
Parameters:
Name Type Description
dizmoInstance

dizmojs.Dizmo

The dizmo instance of the newly instantiated dizmo
error

Object

An error object containing an error number and an error message.

onSubscriptionRegisteredCallback()

A callback that is called as soon as the subscription has been registered in the dizmoViewer.