new Simple()
- Description:
Represents
baja:Simplein 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 aStringformat.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
DEFAULTinstance on theSimpleconstructor. - Define a
makemethod. - Define a
decodeFromStringmethod on the Object's instance that takes a
Stringand returns an instance of theSimple. - Define an
encodeToStringmethod on the Object's instance that encodes
the value to aString.
Since this Constructor represents an abstract class, it should never
be directly used to create a new object.- Define a
- 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
decodeFromStringdirectly.
- 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
decodeFromStringfunction.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
str |
string |
Returns:
- Type
- baja.Simple
(abstract) encodeToString() → {string}
- Description:
Every Simple implementation must have an
encodeToStringfunction.
- 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 |
batch |
baja.comm.Batch |
<optional> |
An optional object used to batch network |
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
makefunction. It can take
any arbitrary arguments. When constructing the Simple withbaja.$, any
additional arguments will be passed tomake(), with the following special
cases:- When no arguments are passed,
baja.$will return theDEFAULT
instance. - When one argument is passed and it is a string,
baja.$will use
decodeFromString()to create the instance.
- When no arguments are passed,
- 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
newCopymethod.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 |
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 |
Returns:
a string (if no context passed), or
either a string or a Promise (if context passed).
valueOf() → {String}
- Source:
- Overrides:
Returns:
the string encoding of the Simple, by default
- Type
- String