HasIterator |
|
|
Collect CollectUnique Each FindByName UniqueName |
|
FirstNonNil |
Define Class HasIterator; mixes in with Object; // iterator operation Each(function: EachFunction; parameters: Pointer): Object, noFail, noMethod; operation Collect(collection: ObjectList; function: EachFunction; parameters: Pointer), noFail; operation CollectUnique(collection: ObjectList; function: EachFunction; parameters: Pointer), noFail; attribute FirstNonNil: Object, readOnly; // returns first object by calling Each // rarely override // string matching operation FindByName(name: HasText): Object, noFail; operation UniqueName(name: HasText): Boolean, noFail; end class;