Equal - Check whether multiple objects are equal
This action compares several objects to check whether they are all equal
(or, for numbers, "equal but for an insignificant difference").
Two objects are considered equal if they are equal content-wise:
- Primitive data objects (numbers, dates etc.) are compared by
value (with some tolerance for numbers, as described for
Math/Equal).
- For composite objects, a comparison of each component is made
("deep comparison"). The objects don't have to share the
same data model, but their corresponding components should
all be equal.
Specific templates for numbers, dates and texts, also exist:
Math/Equal,
Dates/Equal and
Text/Equal repectively.
Triggers
The action's template has two triggers (Object 1 and Object 2),
but the action can be used
with any number of triggers. The action
compares any of the objects received through any of the triggers:
- For any non-repetitive trigger
(e.g. Object 1 or Object 2 in the action's template): comparing the
object received through the trigger (if any);
- For any repetitive trigger:
comparing any of the objects received through the
trigger (if any).
Exits [none required]
The two exits represent two mutually exclusive possibilities:
<Yes> (non-repetitive exit [not required]): One
of the input objects, in case all input objects are considered equal.
<No> (non-repetitive empty exit [not required]): Charged
in case at least two objects are considered different.
Usage Example (composite data structure)
"tersus.web/Authorization/Session Tracking/User Sessions View/Search Group/Previous/Determine Start From" from the
Tersus Web Site Application project (old project):
Known Bugs
For better performance, the action does not compare any input object
to any other input object. Instead, each object is compared to one other
object only. This means, if there are more than two input objects, that
the comparison tolerance of numbers might increase a little over the "official
tolerance", as described in Math/Equal.