Constructor
new mendix/lib/MxObject()
Methods
addReference(attr, guid) → {boolean}
If attr
is a reference attribute, sets it to the given object.
If attr
is a reference set attribute, adds the given object to it.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | The reference attribute. Can refer to either a reference or reference set attribute. |
guid |
GUID |
|
Returns:
true
if successful, false
otherwise
- Type
- boolean
Example
mxobj.addReference("MyFirstModule.Ent_RefEnt", "12345");
addReferences(attr, guids) → {boolean}
Add an object to a reference set attribute.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | the reference set attribute |
guids |
Array.<GUID> |
|
Returns:
true
if successful, false
otherwise
- Type
- boolean
Example
mxobj.addReferences("MyFirstModule.Ent_RefEnt", ["12345", "12346"]);
compare(mxobj) → {boolean}
Compare this MxObject
to another MxObject
and find out if they are the same.
This means they have the same Entity type and their attributes have the same value.
Parameters:
Name | Type | Description |
---|---|---|
mxobj |
mendix/lib/MxObject |
|
- Deprecated:
- since version 7.18.0
Returns:
mxobj true
if they are identical, false
otherwise
- Type
- boolean
Example
mxobj.compare(mxobj); // true
fetch(path, callback, error)
Gets an object or value of an attribute, through a path from this object.
The result is passed to a callback and depends on the requested path:
| Path resolves to | Result
|-------------------------------------------------------------------------------------
| attribute | value of the attribute
| object reference | GUID
of the object
| object reference set | array of GUIDs
with the objects
| entity | array of GUIDs
for a reference set, MxObject
otherwise
If no path is given, the result is set to the object itself. A reference set can only be the last reference in the path.
Parameters:
Name | Type | Description |
---|---|---|
path |
string | path from the object to the desired object or attribute |
callback |
mendix/lib/MxObject~FetchCallback | called when fetching is done |
error |
mendix/lib/MxObject~FetchErrorCallback | function to handle errors |
Examples
mxobj.fetch("Name", function(value) {
alert("Person's name is " + value);
});
mxobj.fetch("MyFirstModule.Friend/MyFirstModule.Person", function(value) {
alert("Name of person's friend is " + value.get("Name"));
});
mxobj.fetch("MyFirstModule.Owns/MyFirstModule.Pet", function(value) {
alert("Person owns the following pets: " + value);
});
mxobj.fetch("MyFirstModule.Friend/MyFirstModule.Person/" +
"MyFirstModule.Father/MyFirstModule.Person/" +
"Age", function(value) {
alert("Name of the father of this person's friend is " + value);
});
get(attr) → {string|number|external:Big|boolean}
Returns the value of an attribute.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | attribute whose value to return |
Returns:
value of the specified attribute. The return type depends on the type of the attribute as follows:
Attribute type | Javascript type | Javascript value |
---|---|---|
Integer, Long, Decimal | external:Big |
instance containing the number |
Autonumber | string |
string representation of the number |
DateTime | number |
timestamp of the date |
Enum | string |
value of the enumeration |
String | string |
|
Boolean | boolean |
|
Reference | string |
referenced object GUID as a string |
ReferenceSet | Array<string> |
referenced object GUIDs as strings |
Empty values are always returned as the empty string (""
).
- Type
- string | number | external:Big | boolean
Examples
mxobj.get("IsActive"); // true
mxobj.get("Name"); // "John Doe"
numericValue = mxobj.get("LoginCount");
numericValue instanceof Big // true
numericValue.toString() // "315"
getAttributes()
Convenience function
Example
var attrs = mxobject.getAttributes(); // ["Name", "Age"];
getChildren(attr) → {Array.<mendix/lib/MxObject>}
Retrieves the MxObjects
referenced by a reference attribute, if these objects
were retrieved together with the current one using mx.data.get
's args.filter.references
.
Otherwise returns an empty array, including the case when the reference has been modified since retrieval. When trying to retrieve a non-reference attribute this way, an exception is thrown. Passing a reference that contains multiple associations also throws an exception.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | attribute whose referenced objects to return |
Returns:
MxObject
s referenced by the given reference attribute
- Type
- Array.<mendix/lib/MxObject>
getEntity() → {string}
Gets the entity name.
Returns:
the entity name
- Type
- string
Example
mxobject.getEntity(); // "System.User"
getEnumCaption()
Convenience function
Example
mxobject.getEnumCaption("Color", "red"); // "Rouge"
getEnumMap()
Convenience function
Example
mxobject.getEnumMap("Color"); // [ { key : "red", caption : "Red" },
// { key : "green", caption : "Green" },
// { key : "blue", caption : "Blue" } ]
getGuid()
Returns the GUID
of this MxObject
.
Example
mxobj.getGuid(); // "1234567890131"
getOptions()
Convenience function
Example
mxobject.getOptions("Color"); // [ "red", "green", "blue" ]
getOriginalReferences(attr) → {Array.<GUID>}
Retrieves the original MxObjects
referenced by a reference or reference set attribute.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | reference attribute whose original referenced objects to return |
Returns:
GUIDs
of the original referenced objects
- Type
- Array.<GUID>
Example
mxobj.getReferences("MyFirstModule.Ref"); // [ "12345", "12346" ]
mxobj.set("MyFirstModule.Ref", [ "12347" ]); // [ "12347" ]
mxobj.getReferences("MyFirstModule.Ref"); // [ "12347" ]
mxobj.getOriginalReferences("MyFirstModule.Ref"); // [ "12345", "12346" ]
getOriginalValue(attr) → {string|number|external:Big|boolean}
Returns the original, last committed, value of an attribute.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | attribute whose value to return |
- See:
-
- mendix/lib/MxObject#get for an overview of how the return value depends on the attribute's type.
Returns:
original value of the specified attribute.
- Type
- string | number | external:Big | boolean
Example
mxobj.get("Name"); // "Fred"
mxobj.set("Name", "Henry");
mxobj.get("Name"); // "Henry"
mxobj.getOriginalValue("Name") // "Fred"
getReference(reference) → {string}
Retrieves the GUID of the object referenced by a reference attribute. When trying to retrieve a non-reference or reference set attribute this way, an exception is thrown.
Parameters:
Name | Type | Description |
---|---|---|
reference |
string | attribute whose referenced object to return |
Returns:
GUID
of the MxObject
referenced by the given reference attribute
- Type
- string
Example
// Get GUID of object over association MyFirstModule.Ref.
refs = mxobj.getReference("MyFirstModule.Ref"); // "12345"
getReferenceAttributes()
Convenience function
Example
var refs = mxobject.getReferenceAttributes(); // [ "Mod.Person_Parent",
// "Mod.Person_Company" ]
getReferences(attr) → {Array.<GUID>}
Retrieves the MxObjects
referenced by a reference or reference set attribute.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | reference attribute whose referenced objects to return |
Returns:
GUIDs
of the references objects
- Type
- Array.<GUID>
Example
// Get GUIDs of objects over association MyFirstModule.Ref.
mxobj.getReferences("MyFirstModule.Ref"); // [ "12345", "12346" ]
getSelectorEntity()
Convenience function
Example
mxobject.getSelectorEntity("Order_OrderLine"); // "CRM.OrderLine"
getSubEntities()
Convenience function
Example
mxobject.getSubEntities(); // [ "MyModule.EntityA", "MyModule.EntityB" ]
getSuperEntities()
Convenience function
Example
mxobject.getSuperEntities(); // [ "MyModule.EntityC",
// "MyModule.EntityD",
// "System.User" ]
hasChanges() → {boolean}
Checks an MxObject
for changes.
Returns:
true
if this MxObject
has changes, false
otherwise
- Type
- boolean
Example
mx.data.get({
guid: "12345",
callback: function(obj) {
// Object is fresh from the runtime; next line prints 'false'.
console.log(obj.hasChanges());
obj.set("Name", "foo");
// Object has a changed attribute; next line prints 'true'.
console.log(obj.hasChanges());
}
});
hasSubEntities()
Convenience function
Example
mxobject.getSubEntities(); // [ "MyModule.EntityA", "MyModule.EntityB" ]
hasSuperEntities()
Convenience function
Example
if (mxobject.hasSuperEntities()) {
alert("This object inherits from another Entity");
} else {
alert("This object does not inherit from another Entity");
}
inheritsFrom()
Convenience function
Example
if (mxobject.inheritsFrom("System.User")) {
alert("This object inherits from System.User");
} else {
alert("This object does not inherit from System.User");
}
isA()
Convenience function
Example
if (mxobject.isA("System.User")) {
alert("This object is a System.User");
} else {
alert("This object is not a System.User");
}
isBoolean()
Convenience function
Example
if (mxobject.isBoolean("Checked")) {
alert("Attribute 'Checked' is a Boolean");
} else {
alert("Attribute 'Checked' is not a Boolean");
}
isDate()
Convenience function
Example
if (mxobject.isDate("DoB")) {
alert("Attribute 'DoB' is a Date");
} else {
alert("Attribute 'DoB' is not a Date");
}
isEnum()
Convenience function
Example
if (mxobject.isEnum("Colors")) {
alert("Attribute 'Colors' is an Enumeration");
} else {
alert("Attribute 'Colors' is not an Enumeration");
}
isLocalizedDate()
Convenience function
Example
if (mxobject.isLocalizedDate("DoB")) {
alert("Attribute 'DoB' is a Localized Date");
} else {
alert("Attribute 'DoB' is not a Localized Date");
}
isNumeric()
Convenience function
Example
if (mxobject.isNumeric("Count")) {
alert("Attribute 'Count' is numeric");
} else {
alert("Attribute 'Count' is not numeric");
}
isObjectReference()
Convenience function
Example
if (mxobject.isObjectReference("Mother")) {
alert("Attribute Parent is a reference");
} else {
alert("Attribute Parent is not a reference");
}
isObjectReferenceSet()
Convenience function
Example
if (mxobject.isObjectReferenceSet("Children")) {
alert("Attribute Children is a reference set");
} else {
alert("Attribute Children is not a reference set");
}
isPassword()
Convenience function
Example
if (mxobject.isPassword("Password")) {
alert("Attribute 'Password' is a Password");
} else {
alert("Attribute 'Password' is not a Password");
}
isReadonlyAttr(attr) → {boolean}
Checks whether an attribute is read-only.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | attribute for which to check |
Returns:
true
if attr
is a read-only attribute, false
otherwise
- Type
- boolean
isReference()
Convenience function
Example
if (mxobject.isReference("Children")) {
alert("Attribute Children is a reference set");
} else {
alert("Attribute Children is not a reference set");
}
removeReferences(attr, guids) → {boolean}
Removes references from a reference attribute.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | refererence attribute to remove references from |
guids |
Array.<GUID> |
|
Returns:
false
if an exception occured while removing the reference,
true
otherwise
- Type
- boolean
Example
mxobj.removeReferences("MyFirstMdule.Ent_RefEnt", ["12345", "12346"]);
set(attr, val)
Sets the value of attribute attr
to the value of val
.
The type of val
depends on the type of attribute.
This only changes the mendix/lib/MxObject
instance in the client session. To
commit the object to the backend database, see mx.data.commit
.
Parameters:
Name | Type | Description |
---|---|---|
attr |
string | attribute to set |
val |
* | value to set |
Throws:
Error if value
is invalid, use validator#validate before calling this method
Examples
mxobj.set("Name", "John Smith");
mxobj.set("IsActive", true);
Type Definitions
FetchCallback(requested)
Callback for returning data with mendix/lib/MxObject#fetch
.
Parameters:
Name | Type | Description |
---|---|---|
requested |
* | object, attribute value or an |
FetchErrorCallback(error)
Error callback for mendix/lib/MxObject#fetch
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | error describing the failure of the request |