Conditional Statements

Conditional statements are logically joined together and are a part of a collection specification.. Each conditional statement is composed of a RODM field, a RODM class, a value (or optionally), a set of values, and an operation. For each object within the specified class, the specified field is compared to the value or list-of-values using the operation. If the operation compares successfully, then the object matches the condition. Otherwise, it fails the condition. The list of all objects that compare successfully with the condition are the result of the conditional statement. These objects are of RODM type ObjectList.

The simplest form of a collection specification is a single conditional statement, and can be expressed in the following general terms:
{Class/Field} operation {Value}   ==>  list_of_objects
For each object in the given Class, take the Field value of the object and compare it to Value using the comparison operation. If the values compare successfully, place the object in the output list_of_objects.

The {Value} term can also be a reference to a set of values, much like the {Class/Field} term indirectly references all objects on the Class. Each value is listed directly in the collection specification. When more than one value is listed in the {Value} term, the Field value of an object is compared against each value in the value list. One or more of the values in the value list must compare successfully for the object to be added to the list_of_objects.

The single conditional statement can also be expressed in the following terms:
{Value1} operation {Value2}  ==>  list_of_objects
Where both Value1 and Value2 can be either a single value or a value list. Value1 refers to the value of the Field on each object in the Class. Value2 refers to the list of values directly specified in the conditional statement. This generic syntax is useful when complex conditional statements are described.

In the case of the simple collection specification, the list_of_objects that results becomes the object list for either the ContainsObjects field or the AggregationChild/IsPartOf fields of the collection creation object. In effect, this list_of_objects is the final output from the collection specification