new Simple()
Represents baja:Simple
in BajaScript.
Simple
s 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.
Simple
s must be immutable and under no circumstances should there be
any attempt to modify the contents of a Simple.
All Simple
s must conform to the following conventions...
- Define a
DEFAULT
instance on theSimple
constructor. - Define a
make
method. - Define a
decodeFromString
method on the Object's instance that takes aString
and returns an instance of theSimple
. - Define an
encodeToString
method 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.
Extends
Methods
-
decodeAsync(str [, batch])
-
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.Parameters:
Name Type Argument 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 inPromise.resolve()
if unsure.- Type
- baja.Simple | Promise.<baja.Simple>
-
<abstract> decodeFromString(str)
-
Every Simple implementation must have a
decodeFromString
function.Parameters:
Name Type Description str
string Returns:
- Type
- baja.Simple
-
<abstract> encodeToString()
-
Every Simple implementation must have an
encodeToString
function.Returns:
- Type
- string
-
equals(obj)
-
Equality test.
Parameters:
Name Type Description obj
- Overrides:
Returns:
- Type
- Boolean
-
equivalent(obj)
-
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.Parameters:
Name Type Description obj
- Inherited From:
Returns:
- Type
- Boolean
-
getAgents( [is], batch)
-
Returns a promise that resolves to the agent list for this Object.
Parameters:
Name Type Argument Description is
Array.<String> <optional>
An optional array of filters to add to the
agent query.batch
baja.comm.Batch An optional object used to batch network
calls together.- Inherited From:
- See:
Returns:
A promise that will resolve with the Agent Info.
- Type
- Promise
-
getIcon()
-
Return the Object's Icon.
- Inherited From:
Returns:
- Type
- baja.Icon
-
getType()
-
Get the type of this instance.
- Inherited From:
Returns:
- Type
- Type
-
<abstract> make()
-
Every Simple implementation must have a
make
function. It can take
any arbitrary arguments. When constructing the Simple withbaja.$
, any
additional arguments will be passed tomake()
.Returns:
- Type
- baja.Simple
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');
-
newCopy( [exact])
-
Every value may be cloned using the
newCopy
method.Please note that
Simple
s are immutable so they don't
allocate a new instance.Parameters:
Name Type Argument Description exact
Boolean <optional>
true if an exact copy of the value should be
made (only valid in the Component architecture).- Inherited From:
- See:
Returns:
a copy of the value (or the same instance if the value is a
Simple
). -
toString( [cx])
-
Returns the String representation of this object.
Parameters:
Name Type Argument Description cx
Object <optional>
optional context information to be used when
formatting the string- Overrides:
- See:
Returns:
a string (if no context passed), or
either a string or a Promise (if context passed). -
valueOf()
-
Return the inner value of the object.
By default the object's instance is returned.
- Inherited From:
Returns:
the inner value of the object or just the object's instance.
- Type
- *