Wechseln zu: Navigation, Suche

Verwenden von Drools 5

Drools 5 führt das Konzept von harten und weichen Schlüsselwörtern ein.

Harte Schlüsselwörter

Harte Schlüsselwörter sind reserviert. Sie können kein hartes Schlüsselwort verwenden, wenn Sie Domänenobjekte, Eigenschaften, Methoden, Funktionen und andere Elemente benennen, die im Regeltext verwendet werden. Die folgende Liste von harten Schlüsselwörtern muss beim Schreiben von Regeln als Bezeichner vermieden werden:

  • true
  • false
  • null

Weiche Schlüsselwörter

Weiche Schlüsselwörter werden nur in ihrem Kontext erkannt, so dass Sie diese Wörter auf Wunsch auch an anderen Stellen verwendet werden können. Genesys empfiehlt jedoch, dies nach Möglichkeit zu vermeiden, um Verwechslungen zu verhindern. Die Liste der weichen Schlüsselwörter lautet:

  • lock-on-active
  • date-effective
  • date-expires
  • no-loop
  • auto-focus
  • activation-group
  • agenda-group
  • ruleflow-group
  • entry-point
  • duration
  • package
  • import
  • dialect
  • salience
  • enabled
  • attributes
  • rule
  • extend
  • when
  • then
  • template
  • query
  • declare
  • function
  • global
  • eval
  • not
  • in
  • or
  • and
  • exists
  • forall
  • accumulate
  • collect
  • from
  • action
  • reverse
  • result
  • end
  • over
  • init

Sie können diese Wörter (hart und weich) als Teil eines Methodennamens in verketteter Form problemlos verwenden, z. B. notSomething() oder accumulateSomething().

Ausschließen von harten Schlüsselwörtern

Obwohl die drei oben genannten harten Schlüsselwörter wahrscheinlich nicht in Ihren vorhandenen Domänenmodellen verwendet werden, bietet die DRL-Sprache die Möglichkeit, harte Schlüsselwörter im Regeltext auszuschließen, falls Sie sie anstelle von Schlüsselwörtern unbedingt als Identifikatoren verwenden müssen. Um einem Wort auszuschließen, müssen Sie es einfach, wie folgt, in Akzente setzen:

Holiday( `true` == "yes" ) // 

Bitte beachten Sie, dass Drools diesen Verweis auf die Methode auflösen wird:

Holiday.isTrue()
Diese Seite wurde zuletzt am 22. November 2019 um 09:39 Uhr bearbeitet.
Comments or questions about this documentation? Contact us for support!