Splunk Dev

SplunkJS: What's the difference between get() and getInstance()?

marco_sulla
Path Finder

What is the difference between:

mvc.Components.get(id)

and

mvc.Components.getInstance(id)

in SplunkJS?

Is there a reference for Splunk mvc library?

Tags (2)
1 Solution

marco_sulla
Path Finder

With getInstance() you can also create the component if it does not exists. From $SPLUNK_HOME/share/splunk/search_mrsparkle/exposed/js/splunkjs/mvc/registry.js:

/**
 * @param id                The id of the instance to return.
 * @param options           (Optional).
 * @param options.create    Whether to create a new token model with
 *                          the given name if the specified instance
 *                          does not exist.
 * @return                  The specified instance, or a falsy value
 *                          if the instance does not exist and
 *                          options.create is omitted or false.
 */
getInstance: function(id, options) {
    options = options || {};

    // If an instance with this id doesn't exist,
    // figure out whether we want to create one or not.
    if (!this.has(id)) {
        if (options.create) {
            this.registerInstance(id, this._createTokenModel(id));
        }
        else {
            console.error(this.createError("No instance with id: " + id));
        }
    }

    return this.get(id);
},

View solution in original post

marco_sulla
Path Finder

With getInstance() you can also create the component if it does not exists. From $SPLUNK_HOME/share/splunk/search_mrsparkle/exposed/js/splunkjs/mvc/registry.js:

/**
 * @param id                The id of the instance to return.
 * @param options           (Optional).
 * @param options.create    Whether to create a new token model with
 *                          the given name if the specified instance
 *                          does not exist.
 * @return                  The specified instance, or a falsy value
 *                          if the instance does not exist and
 *                          options.create is omitted or false.
 */
getInstance: function(id, options) {
    options = options || {};

    // If an instance with this id doesn't exist,
    // figure out whether we want to create one or not.
    if (!this.has(id)) {
        if (options.create) {
            this.registerInstance(id, this._createTokenModel(id));
        }
        else {
            console.error(this.createError("No instance with id: " + id));
        }
    }

    return this.get(id);
},
Get Updates on the Splunk Community!

[Upcoming Webinar] Demo Day: Transforming IT Operations with Splunk

Join us for a live Demo Day at the Cisco Store on January 21st 10:00am - 11:00am PST In the fast-paced world ...

New Year. New Skills. New Course Releases from Splunk Education

A new year often inspires reflection—and reinvention. Whether your goals include strengthening your security ...

Splunk and TLS: It doesn't have to be too hard

Overview Creating a TLS cert for Splunk usage is pretty much standard openssl.  To make life better, use an ...