Nuclos Event-Regel Aktualisieren: Interface, UpdateContext, Struktur, Zuweisung im Server-Regelmanager, Beispielcode (Java). |
Sprache: Deutsch · English
Ereignis-Regel „Aktualisieren“: Interface, Kontext und ein Beispiel – so reagierst du auf dieses Nuclos-Ereignis.
Auf dieser Seite |
Diese serverseitige Regel wird ausgeführt beim Aktualisieren eines Datensatzes (vor dem Speichern). Sie kann einem Businessobjekt zugewiesen werden.
Grundgerüst der Regelklasse (der Regeleditor legt es automatisch an):
package org.nuclet.lager;
import org.nuclos.api.rule.UpdateRule;
import org.nuclos.api.context.UpdateContext;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.exception.BusinessException;
/** @name
* @description
* @usage
* @change
*/
@Rule(name="Aktualisieren einer Lagerposition", description="Aktualisieren eines Lagerposition")
public class AktualisierenLagerposition implements UpdateRule {
public void update(UpdateContext context) throws BusinessException {
}
} |
Der Kontext |
Im Server-Regelmanager per Drag-and-Drop dem Ziel zuweisen. Optional lässt sich die Ausführung auf einen Status oder eine Aktion einschränken; die Reihenfolge steuerst du über die Pfeil-Buttons.

Zuweisung „Aktualisieren“.
Das folgende Beispiel soll den Aufbau einer Regel vom Typ „Aktualisieren„ und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
package org.nuclet.company;
import java.util.List;
import org.nuclos.api.rule.UpdateRule;
import org.nuclos.api.context.UpdateContext;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.exception.BusinessException;
/** @name
* @description
* @usage
* @change
*/
@Rule(name="UpdateBestellung", description="UpdateBestellung")
public class UpdateBestellung implements UpdateRule {
public void update(UpdateContext context) throws BusinessException {
Bestellung curBestellung = context.getBusinessObject(Bestellung.class);
List<Bestellposition> lstPositionen = curBestellung.getPositionen();
double gesamteArtikelAnzahl = 0d;
for (Bestellposition curPos : lstPositionen) {
gesamteArtikelAnzahl += curPos.getAnzahlArtikel();
}
curBestellung.setKurzbeschreibung("Bestellung " + curBestellung.getNummer() + " umfasst insgesamt " + gesamtArtikelAnzahl + "Artikel.");
}
} |