Date: Thu, 28 Mar 2024 10:52:48 +0000 (UTC) Message-ID: <1503600783.1674.1711623168471@wiki.rz.novabit.de> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1673_1454640973.1711623168470" ------=_Part_1673_1454640973.1711623168470 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Anlegen eines generischen BOs und implementierung einer generischen Rege= l
Mindestens zwei Businessobjekte mit gleichen Feldinhalten (z.B. fortlauf= ende Nummer)
In einem Projekt gibt es mehrere BOs, die bei der Neuanlage eine automat= ische Nummer vom System vergeben bekommen.
Bei den betroffenen BOs handelt es sich um:
Die bisherige Implementierung wurde =C3=BCber Verwendung von instanceof = gel=C3=B6st (siehe Codeausschnitt rechts) und soll nun =C3=BCber ein Generi= sches BO abgel=C3=B6st werden.
public = void insert(InsertContext context) throws BusinessException { final Modifiable<?> businessObject =3D context.getBusinessObj= ect(Modifiable.class); if (businessObject instanceof Angebot) { ((Angebot) businessObject).setAngebotsnr(NummernkreiseLogik.get= NextValue(Angebot.class)); } else if (businessObject instanceof Auftrag) { ((Auftrag) businessObject).setAuftragsnr(NummernkreiseLogik.get= NextValue(Auftrag.class)); } else if (businessObject instanceof Lieferschein) { ((Lieferschein) businessObject).setLieferscheinnr(Nummernkreise= Logik.getNextValue(Lieferschein.class)); } else if (businessObject instanceof Bestellung) { ((Bestellung) businessObject).setBestellnr(NummernkreiseLogik.g= etNextValue(Bestellung.class)); }=20 }
Zun=C3=A4chst wird ein neues generisches Businessobjekt namens 'Nummerie= rbar' mit dem Businessobj= ekt erstellt.
Dieses BO erh=C3=A4lt genau ein Attribut "Nummer".
Der Datentyp muss dem Datentyp des Feldes in den implentierenden BOs ent= sprechen !
Das BO enth=C3=A4lt keine speziellen Berechtigungen und auch kein Layout= . Es dient nur als abstraktes Businessobjekt f=C3=BCr die Gesch=C3=A4ftsreg= el bei der Nummergenerierung.
Das BO Nummerierbar wird einem beliebigen Nuclet zugewiesen.
Nun wird das Mapping f=C3=BCr die generische Implementierung konfigurier= t. F=C3=BCr jedes implementierende BO wird ein Datensatz mit dem entspreche= nden Attribut-Mapping erzeugt.
-> ->
Daraufhin wird vom System eine Klasse "Nummerierbar.java" erzeugt, die d= ie entsprechenden generischen Konstruktoren und Funktionen enth=C3=A4lt:
import org.nuclos.businessentity.*;=20 import org.nuclos.api.businessobject.Dependent;=20 import org.nuclos.api.businessobject.Flag;=20 import org.nuclos.api.UID;=20 import org.nuclos.api.businessobject.GenericBusinessObject;=20 import java.util.List;=20 import java.util.ArrayList;=20 import java.util.HashSet;=20 /** * BusinessObject: Nummerierbar *<br> *<br>Nuclet: org.nuclet.tulteclico *<br>DB-Name: [generic] *<br>Editable: true *<br>Localized: false *<br>Statemodel: false **/ public class Nummerierbar implements GenericBusinessObject<Long> { private org.nuclos.api.businessobject.BusinessObject<Long> businessOb= ject; public Nummerierbar(org.nuclet.tulteclico.Lieferschein businessObject) { this.businessObject =3D businessObject; } public Nummerierbar(org.nuclet.tulteclico.Bestellung businessObject) { this.businessObject =3D businessObject; } public Nummerierbar(org.nuclet.tulteclico.Auftrag businessObject) { this.businessObject =3D businessObject; } public Nummerierbar(org.nuclet.tulteclico.Angebot businessObject) { this.businessObject =3D businessObject; } public org.nuclos.api.UID getEntityUid() { return businessObject.getEntityUid(); } public org.nuclos.api.businessobject.BusinessObject<Long> getBusiness= Object() { return businessObject; } public java.lang.String getEntity() { return businessObject.getEntity(); } public java.lang.Long getId() { return businessObject.getId(); } public java.lang.Integer getVersion() { return businessObject.getVersion(); } public boolean isInsert() { return businessObject.isInsert(); } public boolean isUpdate() { return businessObject.isUpdate(); } public boolean isDelete() { return businessObject.isDelete(); } /** * Getter-Method for attribute: changedAt *<br> *<br>Entity: Nummerierbar *<br>DB-Name: DATCHANGED *<br>Data type: org.nuclos.common2.InternalTimestamp *<br>Localized: false *<br>Output format: null *<br>Scale: null *<br>Precision: null **/ public java.util.Date getChangedAt() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Lieferschein) = { return ((org.nuclet.tulteclico.Lieferschein) this.businessObject).g= etChangedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Bestellung) { return ((org.nuclet.tulteclico.Bestellung) this.businessObject).get= ChangedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCha= ngedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCha= ngedAt(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: changedBy *<br> *<br>Entity: Nummerierbar *<br>DB-Name: STRCHANGED *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getChangedBy() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Lieferschein) = { return ((org.nuclet.tulteclico.Lieferschein) this.businessObject).g= etChangedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Bestellung) { return ((org.nuclet.tulteclico.Bestellung) this.businessObject).get= ChangedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCha= ngedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCha= ngedBy(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: createdAt *<br> *<br>Entity: Nummerierbar *<br>DB-Name: DATCREATED *<br>Data type: org.nuclos.common2.InternalTimestamp *<br>Localized: false *<br>Output format: null *<br>Scale: null *<br>Precision: null **/ public java.util.Date getCreatedAt() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Lieferschein) = { return ((org.nuclet.tulteclico.Lieferschein) this.businessObject).g= etCreatedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Bestellung) { return ((org.nuclet.tulteclico.Bestellung) this.businessObject).get= CreatedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCre= atedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCre= atedAt(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: createdBy *<br> *<br>Entity: Nummerierbar *<br>DB-Name: STRCREATED *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getCreatedBy() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Lieferschein) = { return ((org.nuclet.tulteclico.Lieferschein) this.businessObject).g= etCreatedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Bestellung) { return ((org.nuclet.tulteclico.Bestellung) this.businessObject).get= CreatedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCre= atedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCre= atedBy(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: nummer *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Nummerierbar *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getNummer() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Lieferschein) = { return ((org.nuclet.tulteclico.Lieferschein) this.businessObject).g= etLieferscheinnr(); } if (this.businessObject instanceof org.nuclet.tulteclico.Bestellung) { return ((org.nuclet.tulteclico.Bestellung) this.businessObject).get= Bestellnr(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getAuf= tragsnr(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getAng= ebotsnr(); } // not implemented attribute: return null; } /** * Setter-Method for attribute: nummer *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Nummerierbar *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public void setNummer(java.lang.String pNummer) { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Lieferschein) = { ((org.nuclet.tulteclico.Lieferschein) this.businessObject).setLiefe= rscheinnr(pNummer); } if (this.businessObject instanceof org.nuclet.tulteclico.Bestellung) { ((org.nuclet.tulteclico.Bestellung) this.businessObject).setBestell= nr(pNummer); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { ((org.nuclet.tulteclico.Auftrag) this.businessObject).setAuftragsnr= (pNummer); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { ((org.nuclet.tulteclico.Angebot) this.businessObject).setAngebotsnr= (pNummer); } } }
Wir generieren nun im Server Regelmanager eine neue Regel, die bei der Neuanlage ausgef= =C3=BChrt werden soll.
Diese Regel wird allen implementierenden BOs entsprechend zugewiesen.
Die Reihenfolge und weitere Bedingungen der Ausf=C3=BChrung kann hierbei= nach wie vor individuell vorgenommen werden.
Nun wird der Regelcode ausgearbeitet.
Zum Vergleich siehe den alten Regelcode (mit instanceof) oben.
Statt dem jeweiligen BusinessObject wird das generische BO "Nummerierbar= " =C3=BCber den Context abgeholt. In der Klasse stehen jeweils die Getter u= nd Setter der definierten Felder zur Verf=C3=BCgung.
In einem Projekt gibt es BOs f=C3=BCr Angebot, Auftrag und Rechnung. All= e diese BOs enthalten ein Unterformular mit Belegpositionen und Spalten f= =C3=BCr Einzelpreis, Menge und Gesamtpreis. In allen F=C3=A4llen berechnet = sich der Gesamtpreis:
Gesamtpreis =3D Einzelpreis * Menge
Statt diese Implementierung in jedem BO einzeln vorzunehmen, m=C3=B6chte= n wir uns wieder dem Feature Generische Implementierung bedienen.
Die Berechnung findet in diesem Fall nur in den Belegpositionen statt. D= ennoch ben=C3=B6tigen wir jeweils ein generisches BO f=C3=BCr den Hauptdate= nsatz und f=C3=BCr das Unterformular. Wir erstellen also zwei Generische BO= s:
und erzeugen die ben=C3=B6tigten Datens=C3=A4tze in der generischen Impl= ementierung.
//Copyright (C) 2010 Novabit Informationssysteme GmbH // //This file is part of Nuclos. // //Nuclos is free software: you can redistribute it and/or modify //it under the terms of the GNU Affero General Public License as published = by //the Free Software Foundation, either version 3 of the License, or //(at your option) any later version. // //Nuclos is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU Affero General Public License for more details. // //You should have received a copy of the GNU Affero General Public License //along with Nuclos. If not, see <http://www.gnu.org/licenses/>. package org.nuclet.tulteclico; import org.nuclos.businessentity.*;=20 import org.nuclos.api.businessobject.Dependent;=20 import org.nuclos.api.businessobject.Flag;=20 import org.nuclos.api.UID;=20 import org.nuclos.api.businessobject.GenericBusinessObject;=20 import java.util.List;=20 import java.util.ArrayList;=20 import java.util.HashSet;=20 /** * BusinessObject: Beleg *<br> *<br>Nuclet: org.nuclet.tulteclico *<br>DB-Name: [generic] *<br>Editable: true *<br>Localized: false *<br>Statemodel: false **/ public class Beleg implements GenericBusinessObject<Long> { private org.nuclos.api.businessobject.BusinessObject<Long> businessOb= ject; public Beleg(org.nuclet.tulteclico.RechnungAusgang businessObject) { this.businessObject =3D businessObject; } public Beleg(org.nuclet.tulteclico.Auftrag businessObject) { this.businessObject =3D businessObject; } public Beleg(org.nuclet.tulteclico.Angebot businessObject) { this.businessObject =3D businessObject; } public org.nuclos.api.UID getEntityUid() { return businessObject.getEntityUid(); } public org.nuclos.api.businessobject.BusinessObject<Long> getBusiness= Object() { return businessObject; } public java.lang.String getEntity() { return businessObject.getEntity(); } public java.lang.Long getId() { return businessObject.getId(); } public java.lang.Integer getVersion() { return businessObject.getVersion(); } public boolean isInsert() { return businessObject.isInsert(); } public boolean isUpdate() { return businessObject.isUpdate(); } public boolean isDelete() { return businessObject.isDelete(); } /** * Getter-Method for attribute: createdAt *<br> *<br>Entity: Beleg *<br>DB-Name: DATCREATED *<br>Data type: org.nuclos.common2.InternalTimestamp *<br>Localized: false *<br>Output format: null *<br>Scale: null *<br>Precision: null **/ public java.util.Date getCreatedAt() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { return ((org.nuclet.tulteclico.RechnungAusgang) this.businessObject= ).getCreatedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCre= atedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCre= atedAt(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: createdBy *<br> *<br>Entity: Beleg *<br>DB-Name: STRCREATED *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getCreatedBy() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { return ((org.nuclet.tulteclico.RechnungAusgang) this.businessObject= ).getCreatedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCre= atedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCre= atedBy(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: changedAt *<br> *<br>Entity: Beleg *<br>DB-Name: DATCHANGED *<br>Data type: org.nuclos.common2.InternalTimestamp *<br>Localized: false *<br>Output format: null *<br>Scale: null *<br>Precision: null **/ public java.util.Date getChangedAt() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { return ((org.nuclet.tulteclico.RechnungAusgang) this.businessObject= ).getChangedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCha= ngedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCha= ngedAt(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: changedBy *<br> *<br>Entity: Beleg *<br>DB-Name: STRCHANGED *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getChangedBy() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { return ((org.nuclet.tulteclico.RechnungAusgang) this.businessObject= ).getChangedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { return ((org.nuclet.tulteclico.Auftrag) this.businessObject).getCha= ngedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { return ((org.nuclet.tulteclico.Angebot) this.businessObject).getCha= ngedBy(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public List<org.nuclet.tulteclico.Belegposition> getBelegposition(Fla= g... flags) { List<org.nuclet.tulteclico.Belegposition> result =3D new ArrayLis= t<>(); if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { for (org.nuclet.tulteclico.Rechnungsposition sub : ((org.nuclet.tul= teclico.RechnungAusgang) this.businessObject).getRechnungsposition(flags)) = { org.nuclet.tulteclico.Belegposition subGBO =3D new org.nuclet.t= ulteclico.Belegposition(sub); result.add(subGBO); } } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { for (org.nuclet.tulteclico.Auftragsposition sub : ((org.nuclet.tult= eclico.Auftrag) this.businessObject).getAuftragsposition(flags)) { org.nuclet.tulteclico.Belegposition subGBO =3D new org.nuclet.t= ulteclico.Belegposition(sub); result.add(subGBO); } } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { for (org.nuclet.tulteclico.Angebotsposition sub : ((org.nuclet.tult= eclico.Angebot) this.businessObject).getAngebotsposition(flags)) { org.nuclet.tulteclico.Belegposition subGBO =3D new org.nuclet.t= ulteclico.Belegposition(sub); result.add(subGBO); } } return result; } /** * Insert-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public void insertBelegposition(org.nuclet.tulteclico.Belegposition pBelegp= osition) { if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { ((org.nuclet.tulteclico.RechnungAusgang) this.businessObject).inser= tRechnungsposition((org.nuclet.tulteclico.Rechnungsposition)pBelegposition.= getBusinessObject()); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { ((org.nuclet.tulteclico.Auftrag) this.businessObject).insertAuftrag= sposition((org.nuclet.tulteclico.Auftragsposition)pBelegposition.getBusines= sObject()); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { ((org.nuclet.tulteclico.Angebot) this.businessObject).insertAngebot= sposition((org.nuclet.tulteclico.Angebotsposition)pBelegposition.getBusines= sObject()); } } /** * Delete-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public void deleteBelegposition(org.nuclet.tulteclico.Belegposition pBelegp= osition) { if (this.businessObject instanceof org.nuclet.tulteclico.RechnungAusgan= g) { ((org.nuclet.tulteclico.RechnungAusgang) this.businessObject).delet= eRechnungsposition((org.nuclet.tulteclico.Rechnungsposition)pBelegposition.= getBusinessObject()); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftrag) { ((org.nuclet.tulteclico.Auftrag) this.businessObject).deleteAuftrag= sposition((org.nuclet.tulteclico.Auftragsposition)pBelegposition.getBusines= sObject()); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebot) { ((org.nuclet.tulteclico.Angebot) this.businessObject).deleteAngebot= sposition((org.nuclet.tulteclico.Angebotsposition)pBelegposition.getBusines= sObject()); } } }
Das System erzeugt zwei generische Klassen:
//Copyright (C) 2010 Novabit Informationssysteme GmbH // //This file is part of Nuclos. // //Nuclos is free software: you can redistribute it and/or modify //it under the terms of the GNU Affero General Public License as published = by //the Free Software Foundation, either version 3 of the License, or //(at your option) any later version. // //Nuclos is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU Affero General Public License for more details. // //You should have received a copy of the GNU Affero General Public License //along with Nuclos. If not, see <http://www.gnu.org/licenses/>. package org.nuclet.tulteclico; import org.nuclos.businessentity.*;=20 import org.nuclos.api.businessobject.Dependent;=20 import org.nuclos.api.businessobject.Flag;=20 import org.nuclos.api.UID;=20 import org.nuclos.api.businessobject.GenericBusinessObject;=20 import java.util.List;=20 import java.util.ArrayList;=20 import java.util.HashSet;=20 /** * BusinessObject: Belegposition *<br> *<br>Nuclet: org.nuclet.tulteclico *<br>DB-Name: [generic] *<br>Editable: true *<br>Localized: false *<br>Statemodel: false **/ public class Belegposition implements GenericBusinessObject<Long> { private org.nuclos.api.businessobject.BusinessObject<Long> businessOb= ject; public Belegposition(org.nuclet.tulteclico.Rechnungsposition businessObject= ) { this.businessObject =3D businessObject; } public Belegposition(org.nuclet.tulteclico.Auftragsposition businessObject)= { this.businessObject =3D businessObject; } public Belegposition(org.nuclet.tulteclico.Angebotsposition businessObject)= { this.businessObject =3D businessObject; } public org.nuclos.api.UID getEntityUid() { return businessObject.getEntityUid(); } public org.nuclos.api.businessobject.BusinessObject<Long> getBusiness= Object() { return businessObject; } public java.lang.String getEntity() { return businessObject.getEntity(); } public java.lang.Long getId() { return businessObject.getId(); } public java.lang.Integer getVersion() { return businessObject.getVersion(); } public boolean isInsert() { return businessObject.isInsert(); } public boolean isUpdate() { return businessObject.isUpdate(); } public boolean isDelete() { return businessObject.isDelete(); } /** * Getter-Method for attribute: changedBy *<br> *<br>Entity: Belegposition *<br>DB-Name: STRCHANGED *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getChangedBy() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getChangedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getChangedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getChangedBy(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: changedAt *<br> *<br>Entity: Belegposition *<br>DB-Name: DATCHANGED *<br>Data type: org.nuclos.common2.InternalTimestamp *<br>Localized: false *<br>Output format: null *<br>Scale: null *<br>Precision: null **/ public java.util.Date getChangedAt() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getChangedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getChangedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getChangedAt(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: createdBy *<br> *<br>Entity: Belegposition *<br>DB-Name: STRCREATED *<br>Data type: java.lang.String *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getCreatedBy() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getCreatedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getCreatedBy(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getCreatedBy(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: gesamtpreis *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.Double *<br>Localized: false *<br>Output format: #,##0.00 *<br>Scale: 9 *<br>Precision: 2 **/ public java.math.BigDecimal getGesamtpreis() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getGesamtpreis(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getGesamtpreis(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getGesamtpreis(); } // not implemented attribute: return null; } /** * Setter-Method for attribute: gesamtpreis *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.Double *<br>Localized: false *<br>Output format: #,##0.00 *<br>Scale: 9 *<br>Precision: 2 **/ public void setGesamtpreis(java.math.BigDecimal pGesamtpreis) { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { ((org.nuclet.tulteclico.Rechnungsposition) this.businessObject).set= Gesamtpreis(pGesamtpreis); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { ((org.nuclet.tulteclico.Auftragsposition) this.businessObject).setG= esamtpreis(pGesamtpreis); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { ((org.nuclet.tulteclico.Angebotsposition) this.businessObject).setG= esamtpreis(pGesamtpreis); } } /** * Getter-Method for attribute: createdAt *<br> *<br>Entity: Belegposition *<br>DB-Name: DATCREATED *<br>Data type: org.nuclos.common2.InternalTimestamp *<br>Localized: false *<br>Output format: null *<br>Scale: null *<br>Precision: null **/ public java.util.Date getCreatedAt() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getCreatedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getCreatedAt(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getCreatedAt(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: einzelpreis *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.Double *<br>Localized: false *<br>Output format: #,##0.00 *<br>Scale: 9 *<br>Precision: 2 **/ public java.math.BigDecimal getEinzelpreis() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getEinzelpreis(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getEinzelpreis(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getEinzelpreis(); } // not implemented attribute: return null; } /** * Setter-Method for attribute: einzelpreis *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.Double *<br>Localized: false *<br>Output format: #,##0.00 *<br>Scale: 9 *<br>Precision: 2 **/ public void setEinzelpreis(java.math.BigDecimal pEinzelpreis) { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { ((org.nuclet.tulteclico.Rechnungsposition) this.businessObject).set= Einzelpreis(pEinzelpreis); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { ((org.nuclet.tulteclico.Auftragsposition) this.businessObject).setE= inzelpreis(pEinzelpreis); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { ((org.nuclet.tulteclico.Angebotsposition) this.businessObject).setE= inzelpreis(pEinzelpreis); } } /** * Getter-Method for attribute: menge *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.Integer *<br>Localized: false *<br>Output format: null *<br>Scale: 9 *<br>Precision: null **/ public java.lang.Integer getMenge() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getPos(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getPos(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getPos(); } // not implemented attribute: return null; } /** * Setter-Method for attribute: menge *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.Integer *<br>Localized: false *<br>Output format: null *<br>Scale: 9 *<br>Precision: null **/ public void setMenge(java.lang.Integer pMenge) { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { ((org.nuclet.tulteclico.Rechnungsposition) this.businessObject).set= Pos(pMenge); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { ((org.nuclet.tulteclico.Auftragsposition) this.businessObject).setP= os(pMenge); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { ((org.nuclet.tulteclico.Angebotsposition) this.businessObject).setP= os(pMenge); } } /** * Getter-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.String getBeleg() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getRechnung(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getAuftrag(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getAngebot(); } // not implemented attribute: return null; } /** * Getter-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public java.lang.Long getBelegId() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return ((org.nuclet.tulteclico.Rechnungsposition) this.businessObje= ct).getRechnungId(); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return ((org.nuclet.tulteclico.Auftragsposition) this.businessObjec= t).getAuftragId(); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return ((org.nuclet.tulteclico.Angebotsposition) this.businessObjec= t).getAngebotId(); } // not implemented attribute: return null; } /** * Setter-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public void setBelegId(java.lang.Long pBelegId) { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { ((org.nuclet.tulteclico.Rechnungsposition) this.businessObject).set= RechnungId(pBelegId); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { ((org.nuclet.tulteclico.Auftragsposition) this.businessObject).setA= uftragId(pBelegId); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { ((org.nuclet.tulteclico.Angebotsposition) this.businessObject).setA= ngebotId(pBelegId); } } /** * Getter-Method for attribute: beleg *<br> *<br>Attribute Information:<br> *<br> *<br>Entity: Belegposition *<br>DB-Name: [generic] *<br>Data type: java.lang.String *<br>Reference entity: Beleg *<br>Reference field: changedBy *<br>Localized: false *<br>Output format: null *<br>Scale: 255 *<br>Precision: null **/ public org.nuclet.tulteclico.Beleg getBelegBO() { // all implemented BOs: if (this.businessObject instanceof org.nuclet.tulteclico.Rechnungsposit= ion) { return new org.nuclet.tulteclico.Beleg(((org.nuclet.tulteclico.Rech= nungsposition) this.businessObject).getRechnungBO()); } if (this.businessObject instanceof org.nuclet.tulteclico.Auftragspositi= on) { return new org.nuclet.tulteclico.Beleg(((org.nuclet.tulteclico.Auft= ragsposition) this.businessObject).getAuftragBO()); } if (this.businessObject instanceof org.nuclet.tulteclico.Angebotspositi= on) { return new org.nuclet.tulteclico.Beleg(((org.nuclet.tulteclico.Ange= botsposition) this.businessObject).getAngebotBO()); } // not implemented attribute: return null; } }
Die Regel wird im Regelmanager allen relevanten BOs zugewiesen und der R= egelcode entsprechend programmiert