Creates a new list from items known at rule set design time.
The fixedlist expression specifies:
The type of item in the list returned (see Supported Data Types); and
The items in the list.
The created list will contain its members in the order listed in the rule set.
However, if the fixedlist is contained within a list processing operation but only specifies 0 or 1 list members, the CER rule set validator will issue a warning, indicating that the list may be unnecessary.
If you need to create a list where the number of items in the list is not known at design time, consider using dynamiclist instead.
<?xml version="1.0" encoding="UTF-8"?> <RuleSet name="Example_fixedlist" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "http://www.curamsoftware.com/CreoleRulesSchema.xsd"> <Class name="Person"> <!-- The pets owned by this Person --> <Attribute name="pets"> <type> <javaclass name="List"> <ruleclass name="Pet"/> </javaclass> </type> <derivation> <!-- A fixed list of Pets --> <fixedlist> <listof> <ruleclass name="Pet"/> </listof> <members> <!-- Every Person has exactly two pets, Skippy and Lassie --> <create ruleclass="Pet"> <String value="Skippy"/> <String value="Kangaroo"/> </create> <create ruleclass="Pet"> <String value="Lassie"/> <String value="Dog"/> </create> </members> </fixedlist> </derivation> </Attribute> <Attribute name="isEntitledToBenefits"> <type> <javaclass name="Boolean"/> </type> <derivation> <all> <!-- A fixed list of Boolean conditions --> <fixedlist> <listof> <javaclass name="Boolean"/> </listof> <members> <!-- Must be an adult --> <compare comparison=">="> <reference attribute="age"/> <Number value="18"/> </compare> <!-- Must be resident in the state --> <reference attribute="isResidentInTheState"/> <!-- Must have income under the threshold for benefits --> <compare comparison="<"> <reference attribute="totalIncome"/> <Number value="100"/> </compare> </members> </fixedlist> </all> </derivation> </Attribute> <Attribute name="totalIncome"> <type> <javaclass name="Number"/> </type> <derivation> <!-- A pointless sum of one item - the CER rule set validator will warn that this fixedlist may be unnecessary. --> <sum> <fixedlist> <listof> <javaclass name="Number"/> </listof> <members> <!-- Sum up only the earned income --> <reference attribute="earnedIncome"/> </members> </fixedlist> </sum> </derivation> </Attribute> <Attribute name="earnedIncome"> <type> <javaclass name="Number"/> </type> <derivation> <specified/> </derivation> </Attribute> <Attribute name="isResidentInTheState"> <type> <javaclass name="Boolean"/> </type> <derivation> <specified/> </derivation> </Attribute> <Attribute name="age"> <type> <javaclass name="Number"/> </type> <derivation> <specified/> </derivation> </Attribute> </Class> <Class name="Pet"> <Initialization> <Attribute name="name"> <type> <javaclass name="String"/> </type> </Attribute> <Attribute name="species"> <type> <javaclass name="String"/> </type> </Attribute> </Initialization> </Class> </RuleSet>