Attributs calculés

Les attributs calculés sont répertoriés directement dans la classe de règles.

Conseil : Dans une classe de règles, l'ordre dans lequel les attributs calculés sont spécifiés n'a pas d'importance. Vous êtes libre de réorganiser les attributs calculés dans une classe de règles sans affecter le comportement de la classe de règles.
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_RuleClass"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
  <Class name="Person">

    <Initialization>
      <!-- Les attributs initialisés possèdent tous un type,
           mais pas de dérivation.

           Vous ne devez PAS réorganiser de façon arbitraire
           les attributs initialisés. -->
      <Attribute name="firstName">
        <type>
          <javaclass name="String"/>
        </type>
      </Attribute>
      <Attribute name="age">
        <type>
          <javaclass name="Number"/>
        </type>
      </Attribute>
    </Initialization>

    <!-- Chaque attribut calculé indique
         un type et une dérivation.

         Vous êtes libre de réorganiser arbitrairement
         les attributs calculés. -->
    <Attribute name="isAdult">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <compare comparison=">=">
          <reference attribute="age"/>
          <Number value="18"/>
        </compare>
      </derivation>
    </Attribute>

    <Attribute name="isSeniorCitizen">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <compare comparison=">=">
          <reference attribute="age"/>
          <Number value="65"/>
        </compare>
      </derivation>
    </Attribute>

  </Class>

</RuleSet>