Determines the largest value in a list (or null if the list is empty).
The list can contain any type of comparable object, including (but not limited to):
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_max"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
<Class name="MaxExampleRuleClass">
<!-- Will pick out "Cherry" as the "largest" String value -->
<Attribute name="alphabeticallyLastFruit">
<type>
<javaclass name="String"/>
</type>
<derivation>
<max>
<reference attribute="fruits"/>
</max>
</derivation>
</Attribute>
<Attribute name="fruits">
<type>
<javaclass name="List">
<javaclass name="String"/>
</javaclass>
</type>
<derivation>
<fixedlist>
<listof>
<javaclass name="String"/>
</listof>
<members>
<String value="Apple"/>
<String value="Banana"/>
<String value="Cherry"/>
</members>
</fixedlist>
</derivation>
</Attribute>
<!-- Determines the number of spots on the spottiest dog -->
<Attribute name="largestNumberOfSpots">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<max>
<dynamiclist>
<list>
<reference attribute="dalmatians"/>
</list>
<listitemexpression>
<reference attribute="numberOfSpots">
<current/>
</reference>
</listitemexpression>
</dynamiclist>
</max>
</derivation>
</Attribute>
<Attribute name="dalmatians">
<type>
<javaclass name="List">
<ruleclass name="Dalmation"/>
</javaclass>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
</Class>
<Class name="Dalmation">
<Attribute name="numberOfSpots">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
</Class>
</RuleSet>