Seitenhistorie
Ziel dieses Schrittes ist, das tatsächlich im Zielnuclet verwendeten Businessobjekt an den Java-Code des MT940-Nuclets anzubinden. Dazu wird der Ansatz verfolgt, Nuclet-unabhängige Wrapper-Klassen zu verwenden – anstelle der zu den Businessobjekten generierten Businessobjekt-Klassen.
Zu den technischen Hintergründen lesen Sie dazu bitte auch den Artikel "Schnittstellen in Java-Regeln".
Hinweis |
---|
Dieser Integrationsschritt kann erst durchgeführt werden, sobald die Vorbedingungen aus Abschnitt 3 erfüllt sind – d.h. sobald die entsprechenden Referenzobjekte angepasst wurden. |
Bei der Anbindung des DATEV-Nuclets ist nur eine Wrapper-Klassen für die tatsächlich genutzten Referenzobjekte anzupassen.
Wrapper-Klasse | Funktion | Java-Package | Anzupassende Methoden/Konstruktoren |
---|---|---|---|
ReferenceWrapper | Anbindung an verwendete Referenzobjekte | org.nuclet.datev.wrapper |
|
Tabelle 4.8.1: Übersicht Nuclet-Schnittstellen
4.8.1.1 ReferenceWrapper
Die Klasse ReferenceWrapper dient als Nuclet-Schnittstelle zu den tatsächlich genutzten Referenz-Businessobjekten.
Referenz-Businessobjekte sind jene Objekte, die einen DATEV-Export repräsentieren (bspw. Rechnungen für einen Rechnungsexport, Kunden für einen Kundenexport oder Umsätze für einen Umsatzexport). Bitte beachten Sie hierzu auch die Beschreibungen in Abschnitt 3.
Anzupassen sind der Konstruktor der Klasse sowie die folgenden Methoden:
Methode | Funktion | Anpassung optional? |
---|---|---|
ReferenceWrapper | Zuordnung der tatsächlich genutzten Businessobjekte | nein |
setDATEVInformationId() | setzt die Referenz eines Objektes von Typ "DATEV Information" | nein |
setExportDateDATEV() | setzt ein Export-Datum zur Kennzeichnung des Objektes bei erfolgtem DATEV-Export | nein |
Tabelle 4.8.1.1: Anpassungen in ReferenceWrapper
Beispiele dazu sind in Kommentarblöcken angegeben; diese Beispiele sind bei der Integration also an die tatsächlich genutzte Währungsbusinessobjekt (bzw. deren BusinessObject-Klasse) anzupassen.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
package org.nuclet.datev.wrapper; |
...
import java.math.BigDecimal; |
...
import java.util.Date; |
...
import java.util.List; |
...
import org.nuclos.api.businessobject.BusinessObject; |
...
import org.nuclos.api.businessobject.facade.Modifiable; |
...
import org.nuclos.api.businessobject.facade.Stateful; |
...
// @replace! |
...
// import org.nuclet.businessobject.ClientBilling; |
...
// import org.nuclet.businessobject.Client; |
...
/** |
...
* Wrapper class implementation for DATEV references (client billing, clients, turnover, etc.) |
...
* * @version 1.0 |
...
* @date 01.02.2014 |
...
* @nuclet org.nuclet.DATEV |
...
* @nucletversion 2.0.0 |
...
* @sincenucletversion 2.0.0 |
...
* @since 01.02.2014 |
...
* * @author frank.lehmann@nuclos.de |
...
* */ |
...
public class ReferenceWrapper extends AbstractReferenceWrapper |
...
{ |
...
public ReferenceWrapper(final BusinessObject businessObject) |
...
{ // @replace! |
...
// |
...
// if (businessObject instanceof ClientBilling) { |
...
// |
...
this.businessObject = businessObject; |
...
// } else if (businessObject instanceof Client) { |
...
// |
...
this.businessObject = businessObject; |
...
// |
...
} } /** |
...
* Setzt die Referenz eines Objektes vom Typ "DATEV Information", repräsentiert |
...
* durch die Datenbank-ID dieses Objektes |
...
* * @param lngDATEVInformationId Die Datenbank-ID eines Objektes vom Typ "DATEV Information" |
...
* */ public void setDATEVInformationId(final Long lngDATEVInformationId) |
...
{ // @replace! |
...
// |
...
// if (businessObject instanceof ClientBilling) { |
...
// |
...
((ClientBilling)this.businessObject).setDATEVInformationId(lngDATEVInformationId); |
...
// } else if (businessObject instanceof Client) { |
...
// |
...
((Client)this.businessObject).setDATEVInformationId(lngDATEVInformationId); |
...
// } |
...
} /** |
...
* Setzt das Export-Datum bei erfolgtem DATEV-Export zur Kennzeichnung eines |
...
* erfolgten Exportes |
...
* * @param datExportDateDATEV Ein Export-Datum * */ public void setExportDateDATEV(final Date datExportDateDATEV) { // @replace! // // if (businessObject instanceof ClientBilling) { // ((ClientBilling)this.businessObject).setExportDateDATEV(datExportDateDATEV); |
...
// } |
...
else if (businessObject instanceof Client) { |
...
// |
...
((Client)this.businessObject).setExportDateDATEV(datExportDateDATEV); |
...
// } } } |
} }