Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalt
maxLevel2


 

Beispielfall 1: Nummernkreise

In einem Projekt gibt es mehrere BOs, die bei der Neuanlage eine automatische Nummer vom System vergeben bekommen.

Bei den betroffenen BOs handelt es sich um:

  • Angebot
  • Auftrag
  • Lieferschein
  • Bestellung

Die bisherige Implementierung wurde über Verwendung von instanceof gelöst (siehe Codeausschnitt rechts) und soll nun über ein Generisches BO abgelöst werden.

 

Codeblock
languagejava
titleBisherige Implementierung:
public void insert(InsertContext context) throws BusinessException {
        final Modifiable<?> businessObject = context.getBusinessObject(Modifiable.class);
        if (businessObject instanceof Angebot) {
            ((Angebot) businessObject).setAngebotsnr(NummernkreiseLogik.getNextValue(Angebot.class));
        } else if (businessObject instanceof Auftrag) {
            ((Auftrag) businessObject).setAuftragsnr(NummernkreiseLogik.getNextValue(Auftrag.class));
        } else if (businessObject instanceof Lieferschein) {
            ((Lieferschein) businessObject).setLieferscheinnr(NummernkreiseLogik.getNextValue(Lieferschein.class));
        } else if (businessObject instanceof Bestellung) {
            ((Bestellung) businessObject).setBestellnr(NummernkreiseLogik.getNextValue(Bestellung.class));
        } 
    }

Zunächst wird ein neues generisches Businessobjekt namens 'Nummerierbar' erstellt.

Dieses BO erhält genau ein Attribut "Nummer".

Warnung

Der Datentyp muss dem Datentyp des Feldes in den implentierenden BOs entsprechen !

Image Added Image Added