equals

두 오브젝트(왼쪽에 있는 오브젝트와 오른쪽에 있는 오브젝트)가 동일한지를 판별합니다.

비교하기 전에 Number 값을 CER의 고유 숫자 형식으로 변환합니다(java.math.BigDecimal이 지원). 선두 또는 후미에 오는 0의 차이는 무시합니다.

null 값은 안전하게 비교됩니다. 왼쪽과 오른쪽 둘 다 null이면 equals 표현식이 true를 리턴합니다. 왼쪽과 오른쪽 값 중 하나만 null인 경우 equals 표현식에서 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>
          <!-- 이러한 수는 동일하며
            선두/후미에 오는 0의
            사소한 차이는
            무시합니다. -->
          <Number value="123"/>
          <Number value="000123.000"/>
        </equals>
      </derivation>
    </Attribute>

    <!-- FALSE -->
    <Attribute name="differentTypes">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <equals>
          <!-- 이러한 오브젝트는
            유형이 서로 다르므로
            서로 같아 "보여도"
            동일하지 않습니다.-->
          <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>