Das folgende Beispiel soll den Aufbau einer Regel vom Typ "Löschen" und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
Fachlicher Hintergrund
Eine bestehende Nuclos-Instanz umfasst die Entität Bestellungen. Die Aufgabe besteht darin, vor dem Löschen einer Bestellung einen Vermerk in der Entität History vorzunehmen.
Quellcode
package org.nuclet.company; import org.nuclos.api.rule.DeleteRule; import org.nuclos.api.businessobject.Query; import org.nuclos.api.context.DeleteContext; import org.nuclos.api.annotation.Rule; import org.nuclos.api.exception.BusinessException; import org.nuclos.api.provider.BusinessObjectProvider; import org.nuclos.api.provider.QueryProvider; /** @name * @description * @usage * @change */ @Rule(name="BestellungLoeschen", description="BestellungLoeschen") public class BestellungLoeschen implements DeleteRule { public void delete(DeleteContext context) throws BusinessException { Bestellung b = context.getBusinessObject(Bestellung.class); // create new history entry AnfragenHistory newHistory = new AnfragenHistory(); newHistory.setBestellungId(b.getId()); newHistory.setLogicalDelete(context.isLogical()); // save new entry BusinessObjectProvider.insert(newHistory); } }
Überblick
Inhalte