Ausführen eines Arbeitsschrittes

MethodeBeispiel
execute
import org.nuclos.api.provider.GenerationProvider;

public class AuftragAbschliessen implements UpdateFinalRule {
    public void updateFinal(UpdateContext context) throws BusinessException { 
        Auftrag a = context.getBusinessObject(Auftrag.class);
        Rechnung r = GenerationProvider.execute(a, ErstelleRechnungAusAuftragGEN.class);
    }
}

Erläuterung:

Die Ausführung eines Arbeitsschrittes über den GenerationProvider kann aus jeder Regel heraus vorgenommen werden. Aufgrund der Typsicherheit müssen Quell- und Zielobjekte immer zum Arbeitsschritt, resp. zu den hinterlegten Typen der generierten Arbeitsschritt-Klasse passen. Im oberen Beispiel erstellt der Arbeitsschritt "Erstelle Rechnung aus Auftrag" eine Rechnung. Der übergebene Parameter a muss vom Typ "Auftrag" sein. Der Rückgabewert muss wiederum vom Typ "Rechnung" sein. Erlaubt sind nur diese Typen von BusinessObjekten, andere Angaben führen zu Compile-Fehlern in der Regel,da sie nicht zur Klasse "ErstelleRechnungAusAuftragGEN" passen.

Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.