Simple

baja. Simple

new Simple()

Description:
  • Represents baja:Simple in BajaScript.

    Simples are immutable and represent primitive data types in Niagara.
    They are the basic building blocks of the architecture. Simples contain
    no slots themselves but do contain an implicit data value that can be
    encoded and decoded in a String format.

    Simples must be immutable and under no circumstances should there be
    any attempt to modify the contents of a Simple.

    All Simples must conform to the following conventions...

    • Define a DEFAULT instance on the Simple constructor.
    • Define a make method.
    • Define a decodeFromString method on the Object's instance that takes a
      String and returns an instance of the Simple.
    • Define an encodeToString method on the Object's instance that encodes
      the value to a String.

    Since this Constructor represents an abstract class, it should never
    be directly used to create a new object.

Source:

Extends

Methods

decodeAsync(str, batchopt) → {baja.Simple|Promise.<baja.Simple>}

Description:
  • The string encoding of certain Simples may include Type information, or
    other data that may be require asynchronous operations to decode. BOX is
    designed to handle these situations when decoding data from the station,
    but when user code needs to decode string-encoded Simples directly, prefer
    this method as it gives the individual Simple a chance to import Types,
    etc. to ensure that the decoded Simple is fully correct.

    The default implementation just returns decodeFromString directly.

Source:
Parameters:
Name Type Attributes Description
str string
batch baja.comm.Batch <optional>

optional batch to use

Returns:

may return the Simple instance
directly, or a Promise resolving to same - so wrap in Promise.resolve()
if unsure.

Type
baja.Simple | Promise.<baja.Simple>

(abstract) decodeFromString(str) → {baja.Simple}

Description:
  • Every Simple implementation must have a decodeFromString function.

Source:
Parameters:
Name Type Description
str string
Returns:
Type
baja.Simple

(abstract) encodeToString() → {string}

Description:
  • Every Simple implementation must have an encodeToString function.

Source:
Returns:
Type
string

equals(obj) → {Boolean}

Description:
  • Equality test.

Source:
Overrides:
Parameters:
Name Type Description
obj
Returns:
Type
Boolean

equivalent(obj) → {Boolean}

Description:
  • Equivalence test.

    equivalent() is used to compare if two Objects have equivalent
    state, but might not want to return true for equals since it
    it has implied semantics for many operations. The default
    implementation returns the result of baja.Object#equals.

Source:
Inherited From:
Parameters:
Name Type Description
obj
Returns:
Type
Boolean

getAgents(isopt, batchopt) → {Promise}

Description:
  • Returns a promise that resolves to the agent list for this Object.

Source:
Inherited From:
See:
Parameters:
Name Type Attributes Description
is Array.<String> <optional>

An optional array of filters to add to the
agent query.

batch baja.comm.Batch <optional>

An optional object used to batch network
calls together.

Returns:

A promise that will resolve with the Agent Info.

Type
Promise

getIcon() → {baja.Icon}

Description:
  • Return the Object's Icon.

Source:
Inherited From:
Returns:
Type
baja.Icon

getType() → {Type}

Description:
  • Get the type of this instance.

Source:
Inherited From:
Returns:
Type
Type

getTypeDisplayName(cxopt) → {Promise.<string>|string}

Description:
  • Gets the friendly type display name for this object.

Source:
Since:
  • Niagara 4.10
Inherited From:
See:
  • baja.Type#getDisplayName
Parameters:
Name Type Attributes Description
cx Object <optional>

a context to be passed down to Type

Returns:

If no context is provided, the type
display name is returned synchronously as a string. If context provided,
the type display name is resolved via a promise as a string.

Type
Promise.<string> | string

(abstract) make() → {baja.Simple}

Description:
  • Every Simple implementation must have a make function. It can take
    any arbitrary arguments. When constructing the Simple with baja.$, any
    additional arguments will be passed to make(), with the following special
    cases:

    • When no arguments are passed, baja.$ will return the DEFAULT
      instance.
    • When one argument is passed and it is a string, baja.$ will use
      decodeFromString() to create the instance.
Source:
Example
//in the Simple declaration:
MySimple.prototype.make = function (a, b, c) {
  var mySimple = new MySimple();
  mySimple.a = a;
  mySimple.b = b;
  mySimple.c = c;
  return mySimple;
};

//when constructing:
var mySimple = baja.$('myModule:MySimple', 'a', 'b', 'c');
Returns:
Type
baja.Simple

newCopy(exactopt)

Description:
  • Every value may be cloned using the newCopy method.

    Please note that Simples are immutable so they don't
    allocate a new instance.

Source:
Inherited From:
See:
Parameters:
Name Type Attributes Description
exact Boolean <optional>

true if an exact copy of the value should be
made (only valid in the Component architecture).

Returns:

a copy of the value (or the same instance if the value is a
Simple).

toString(cxopt) → {String|Promise.<String>}

Description:
  • Returns the String representation of this object.

Source:
Overrides:
See:
Parameters:
Name Type Attributes Description
cx Object <optional>

optional context information to be used when
formatting the string

Returns:

a string (if no context passed), or
either a string or a Promise (if context passed).

Type
String | Promise.<String>

valueOf() → {String}

Source:
Overrides:
Returns:

the string encoding of the Simple, by default

Type
String