Détermine si deux objets (un objet à gauche et un objet à droite) sont égaux.
Number valeurs sont converties au format numérique CER (supporté par java.math.BigDecimal) avant comparaison ; les différences de zéros de début et de fin sont ignorées.
Les valeurs null sont comparées en toute sécurité ; si la valeur de gauche et la valeur de droite sont définies sur null, l'expression equals renvoie la valeur true ; si la valeur de gauche ou la valeur de droite est définie sur null, l'expression equals renvoie la valeur false.
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_equals"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
<Class name="EqualsExampleRuleClass">
<!-- TRUE -->
<Attribute name="identicalStrings">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<String value="A String"/>
<String value="A String"/>
</equals>
</derivation>
</Attribute>
<!-- FALSE -->
<Attribute name="differentStrings">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<String value="A String"/>
<String value="A different String"/>
</equals>
</derivation>
</Attribute>
<!-- TRUE -->
<Attribute name="identicalNumbers">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<!-- Ces nombres sont identiques,
sans tenir compte des
différences entre les zéros de début et de
fin -->
<Number value="123"/>
<Number value="000123.000"/>
</equals>
</derivation>
</Attribute>
<!-- FALSE -->
<Attribute name="differentTypes">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<!-- Ces objets sont de type
différent ; ils ne sont donc pas
égaux, même s'ils
"semblent" identiques.-->
<String value="123"/>
<Number value="123"/>
</equals>
</derivation>
</Attribute>
<!-- FALSE -->
<Attribute name="oneNull">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<null/>
<Number value="456"/>
</equals>
</derivation>
</Attribute>
<!-- TRUE -->
<Attribute name="twoNulls">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<null/>
<null/>
</equals>
</derivation>
</Attribute>
</Class>
</RuleSet>