Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Codeblock
package org.nuclet.lager; 

import org.nuclos.api.rule.StateChangeRule; 
import org.nuclos.api.context.StateChangeContext; 
import org.nuclos.api.annotation.Rule; 
import org.nuclos.api.exception.BusinessException; 

/** @name        
  * @description 
  * @usage       
  * @change      
*/

@Rule(name="Statuswechsel Lagerbestand", description="Statuswechsel Lagerbestand")
public class StatuswechselLagerbestand implements StateChangeRule {
    
	public void changeState(StateChangeContext context) throws BusinessException { 
    }
}

 

 

Das entsprechende Interface schreibt die Implementierung der Methode "changeState" vor und liefert als Kontext die Klasse "StateChangeContext". Darin enthalten sind der Ausgangsstatus und der Zielstatus, der mit dem Ausführen des Wechsels angestrebt wird. Wird nun ein Wechsel eines Status durchgeführt und entsprechen Ziel- und Ausgangsstatus den Angaben der Regelzuweisung, wird eine Instanz dieser Regel erstellt und die Methode "changeState" aufgerufen. Weiterhin können die Funktionen des übergeordneten RuleContexts genutzt werden.

Innerhalb der changeState-Methode kann der Regelprogrammierer auch eine BusinessException auslösen, die zum Abbruch des Events und des Statuswechsels selbst führt. Die Fehlermeldung wird in Nuclos angezeigt.

Die Angabe der Annotation "Rule" ist nicht zwingend notwendig, wird aber empfohlen, da die Beschreibungen (name und description) im Regelbibliotheksbaum angezeigt werden.

...

Jede Änderung wird automatisch gespeichert.

Beispiel

Hier finden Sie ein Beispiel, das den Aufbau einer Regel vom Typ "Statuswechsel" veranschaulicht.

Probleme und Lösungen

Support und Informationen zur Problembehandlung finden Sie hier.