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 das Businessobjekt Bestellungen. Die Aufgabe besteht darin, vor dem Löschen einer Bestellung einen Vermerk in dem Businessobjekt 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);
        
    }
}
  • Keine Stichwörter