Conditions, Triggers, and Predicates
Use Conditions to control what tasks are enabled or disabled in the Simulation Assistant, and to make sure that the user creates a valid simulation.
Conditions are classes that track objects meeting certain criteria. When a Condition finds such an object, it holds the object (records a reference to it) and sets its Satisfied property to true. If the object is deleted, or if its properties or the properties of its children change to no longer meet the criteria, the Condition stops holding and sets its Satisfied property to false.
A Condition hunts for objects using a set of Triggers. A Trigger monitors a set of objects, such as those in the lookup hierarchy. When it finds the type of object that is specified for it, it passes the object to the Condition for evaluation.
A Condition makes the evaluation using a Predicate. If the object meets the criteria for the Predicate, the Predicate returns true and the Condition sets its Satisfied property to true.
A Condition has one Predicate, and the Predicate evaluates one object at a time. However, the object can contain other objects or point to other objects (for example, if the passed object is a manager node). The Predicate can evaluate the object with combinations of logical operations using the CompoundPredicate extension.
See:
-
-
subclass CSOCondition
-
-
ConditionTrigger (abstract class)
-
subclass CSOConditionTrigger
-
subclass LookupConditionTrigger
-
sub-subclass CSOLookupConditionTrigger
-
-
subclass LoopIterationTrigger
-
subclass TaskConditionTrigger
-
-
-
subclass CompoundPredicate
-