idman.rules
Class ChainEvaluator
java.lang.Object
|
+--idman.rules.ChainEvaluator
- public class ChainEvaluator
- extends java.lang.Object
Kernstück der Regelkettenevaluation.
Diese Klasse dient als Kern und Schnittstelle der gesamten
Regelkettenauswertung.
Regelketten bestehen aus Datenbankeinträgen einzelner, aufsteigend
nummerierter Regeln.
Regeln bestehen wiederum aus einer Bedingung und einer auszuführenden
Aktion, für den Fall, daß die Bedingung zutrifft.
Regeln der selben Kette werden bei Rang 0 beginnend mit aufsteigender
Rangnummer bearbeitet.
Eine Regel sieht wie (kette, rang, bedingung, aktion, parameter) aus.
Die einzelnen Felder haben folgende Bedeutung:
- kette Nummer der Kette, korrespondiert mit einem Kettennamen.
- rang Position der Regel innerhalb der Kette.
- bedingung Name einer Klasse die die Schnittstelle
Condition implementiert und deren match-Methode
aufgerufen wird um das Zutreffen der Bedingung festzustellen.
- aktion Dafür gibt es mehrere Möglichkeiten:
- paket.Klasse.methode: Angabe aus Paket-, Klassen- und
Methodennamen. Diese Methode wird aufgerufen und die Abarbeitung der
Regelkette danach fortgesetzt.
- ACCEPT: Die Bearbeitung der Regelkette wird sogleich
erfolgreich beendet und liefert true zurück.
- REJECT: Die Bearbeitung der Regelkette wird beendet und
liefert false.
- WARN: Der Listener wird über das auftreten einer Warnung
informiert und kann eine Entscheidung darüber treffen, ob die Kette
weiter abgearbeitet oder mit der Rückgabe von false beendet
werden soll.
- CALL kettenname: Hierbei wird die Bearbeitung der aktuellen
Kette abgebrochen und stattdessen wird die Kette, welche über ihren
Namen (kettenname) angegeben ist, bei der Regel an Position
0 beginnend ausgewertet.
- parameter Parameter für die Bedingung, sofern unterstützt.
Bei Aktionen der Form paket.Klasse.methode muß die Klasse einen
öffentlichen Konstruktor ohne Parameter aufweisen.
Desweiteren muß die angegebene Methode die Signatur
public void methode(java.lang.String, byte[], idman.mngt.Context)
besitzen.
Eventuell abweichende Rückgabewerte werden ignoriert.
- Version:
- $Id: ChainEvaluator.java,v 1.10 2003/10/28 17:05:39 tk4 Exp $
- Author:
- Thomas Kriegelstein
Field Summary |
static boolean |
debug
|
Method Summary |
static boolean |
evaluate(java.lang.String chainname,
idman.rules.ChainEvaluationListener listener,
java.lang.String id,
byte[] content,
idman.mngt.Context context)
Auswertungsfunktion für Regelketten. |
protected static void |
perform(java.lang.String action,
java.lang.String id,
byte[] content,
idman.mngt.Context context)
Führt die angegebene Aktion aus. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
debug
public static boolean debug
ChainEvaluator
public ChainEvaluator()
evaluate
public static boolean evaluate(java.lang.String chainname,
idman.rules.ChainEvaluationListener listener,
java.lang.String id,
byte[] content,
idman.mngt.Context context)
- Auswertungsfunktion für Regelketten.
- Parameters:
chainname
- Name der Regelkette mit deren Auswertung
begonnen werden soll.listener
- Objekt, welches über das Auftreten von Warnungen bei
der Auswertung der Regeln informiert werden soll.id
- Name eines Datenfeldes oder null.content
- Inhalt eines Datenfeldes oder null.context
- Verbindungsparameter.
- Returns:
- true, wenn ACCEPT als Aktion ausgeführt wurde
oder false, wenn REJECT auftrat bzw.
der Listener bei WARN false lieferte.
perform
protected static void perform(java.lang.String action,
java.lang.String id,
byte[] content,
idman.mngt.Context context)
- Führt die angegebene Aktion aus.
- Parameters:
action
- Auszuführende Aktion als paket.Klasse.methode.id
- Name eines Datenfeldes oder null.content
- Inhalt eines datenfeldes oder null.context
- Verbindungsdaten.
Copyright © 2003 DRIM Team. All Rights Reserved.