Determina si dos objetos (un objeto de lado izquierdo y un objeto del lado derecho) son iguales.
Los valores de Number se convierten al propio formato numérico de CER (respaldado por java.math.BigDecimal) antes de la comparación; las diferencias en los ceros iniciales o de cola se ignoran.
Los valores null se comparan sin riesgo; si el lado izquierdo y el lado derecho son null, la expresión equals devuelve true; si sólo uno de los valores del lado izquierdo y lado derecho es null, la expresión equals devuelve 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">
<!-- VERDADERO -->
<Attribute name="identicalStrings">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<String value="A String"/>
<String value="A String"/>
</equals>
</derivation>
</Attribute>
<!-- FALSO -->
<Attribute name="differentStrings">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<String value="A String"/>
<String value="A different String"/>
</equals>
</derivation>
</Attribute>
<!-- VERDADERO -->
<Attribute name="identicalNumbers">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<!-- Estos números son iguales,
ignorando las diferencias
triviales en los ceros
iniciales/de cola -->
<Number value="123"/>
<Number value="000123.000"/>
</equals>
</derivation>
</Attribute>
<!-- FALSO -->
<Attribute name="differentTypes">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<!-- Estos objetos son de
tipos diferentes, por lo tanto
no son iguales aunque
"parezcan" iguales.-->
<String value="123"/>
<Number value="123"/>
</equals>
</derivation>
</Attribute>
<!-- FALSO -->
<Attribute name="oneNull">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<null/>
<Number value="456"/>
</equals>
</derivation>
</Attribute>
<!-- VERDADERO -->
<Attribute name="twoNulls">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<equals>
<null/>
<null/>
</equals>
</derivation>
</Attribute>
</Class>
</RuleSet>