Statuswechsel

import org.nuclos.api.provider.StatemodelProvider;


MethodeBeispiel
changeState
public class Auftragbeantragen implements StateChangeFinalRule {
   public void changeStateFinal(StateChangeContext context) throws BusinessException { 
        
       Auftrag neuerAuftrag = context.getBusinessObject(Auftrag.class);
        
       // Wurde noch keine Auftragsnummer hinterlegt, kann der Auftrag nicht
       // ausgeführt werden. Wir brauchen eine weitere Prüfung
       if (neuerAuftrag.getAuftragsnr() == null) {
           // Neuer Status: Prüfen (Numeral 55)
           StatemodelProvider.changeState(neuerAuftrag, ProzessAuftragSM.State_55);
       }
       else {
           // Prüfung ok, neuer Status: beauftragt (Numeral 30)
           StatemodelProvider.changeState(neuerAuftrag, ProzessAuftragSM.State_30);
       }
    }  
}
  • Keine Stichwörter

Kommentar

  1. Zwei wichtige Hinweise zum obigen Codebeispiel (Nuclos 3.12.4 ohne Nuclets):

    • Die automatisch generierten Klassen liegen aktuell im Namespace "org.nuclet.statemodel", d.h. ein entsprechendes import-Kommando einfügen
    • Der Name der Status-Klasse ist komplett in GROSSBUCHSTABEN (im Code oben müsste es PROZESSAUFTRAGSM.State_55 heißen