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!

Good Sourcetype Naming

When it comes to getting data in, one of the earliest decisions made is what to use as a sourcetype. Often, ...

See your relevant APM services, dashboards, and alerts in one place with the updated ...

As a Splunk Observability user, you have a lot of data you have to manage, prioritize, and troubleshoot on a ...

Splunk App for Anomaly Detection End of Life Announcement

Q: What is happening to the Splunk App for Anomaly Detection?A: Splunk is officially announcing the ...