| Auszug | ||
|---|---|---|
| ||
MT940-Nuclet – 4.7.1 MT940: Nuclet-Schnittstellen: Ziel dieses Schrittes ist, das tatsächlich im Zielnuclet verwendeten Businessobjekt an den Java-Code des MT940-Nuclets anzubinden. Dazu wird der Ansat |
Sprache: Deutsch · English (in Aufbau)
Ziel dieses Schrittes ist, das tatsächlich im Zielnuclet verwendeten Businessobjekt an den Java-Code des MT940-Nuclets anzubinden. Dazu wird der Ansatz verfolgt, …
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | ||||||
|---|---|---|---|---|---|---|
| ||||||
Auf dieser Seite
|
...
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 entsprechende Businessobjekte für Währung, Referenzen und ggf. Zahlungsbedingungen existieren. |
...
Bei der Anbindung des MT940-Nuclets sind Wrapper-Klassen für Währungsobjekte, Referenzen und Zahlungsbedingungen (optional) anzupassen.
...
Tabelle 4.7.1: Übersicht Nuclet-Schnittstellen
Die Klasse CurrencyWrapper dient als Nuclet-Schnittstelle zum tatsächlich genutzten Währungsbusinessobjekt.
...
Tabelle 4.7.1.1: Anpassungen in CurrencyWrapper
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.
...
Tabelle 4.7.1.2: Anpassungen in ConditionsOfPaymentWrapper
Beispiele dazu sind in Kommentarblöcken angegeben; diese Beispiele sind bei der Integration also an das tatsächlich genutzte Businessobjekt (bzw. deren BusinessObject-Klasse) anzupassen.
...
Tabelle 4.7.1.3: Anpassungen in ReferenceWrapper
Beispiele dazu sind in Kommentarblöcken angegeben; diese Beispiele sind bei der Integration also an das tatsächlich genutzte Businessobjekt (bzw. deren BusinessObject-Klasse) anzupassen.
| Codeblock | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
package org.nuclet.mt940.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.Stateful;
import org.nuclos.api.provider.QueryProvider;
import org.nuclet.mt940.BankTransactionRef;
import org.nuclet.mt940.wrapper.ConditionsOfPaymentWrapper;
import org.nuclet.mt940.wrapper.AbstractConditionsOfPaymentWrapper;
// @replace!
//
// mit eigenem Code zu ersetzen, Beispiel:
//
// import org.nuclet.businessnuclet.ClientBilling;
// import org.nuclet.businessnuclet.ConditionsOfPayment;
/**
* Konkrete Wrapper-Klasse für Referenzobjekte (Rechnungen, o.ä.)
*
* @version 1.2
* @date 07.07.2014
* @nuclet org.nuclet.MT940
* @nucletversion 1.4.1
* @sincenucletversion 1.2.0
* @since 20.09.2013
*
* @author frank.lehmann@nuclos.de
*/
public class ReferenceWrapper extends AbstractReferenceWrapper
{
public ReferenceWrapper(final Stateful reference)
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// if (reference instanceof ClientBilling) {
// this.businessObject = reference;
// }
}
/**
* Liefert die Referenz-Nummer, anhand derer der Datensatz eindeutig
* zu identifizieren ist
*/
public String getReferenceNumber()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBilling)this.businessObject).getBillingNumber();
return null;
}
/**
* Liefert die Datenbank-ID der referenzierten Zahlungsbedingungen
*
*/
public Long getConditionsOfPaymentId()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBilling)this.businessObject).getConditionsOfPaymentId();
return null;
}
/**
* Liefert die Information darüber, ob die erste eingehende Zahlung den Statuswechsel
* im Referenzobjekt auslösen soll, d.h. den Statusübergang in Richtung "Bezahlt",
* "Beglichen", o.ä.
*/
public Boolean getAcceptFirstIncomingPayment()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBilling)this.businessObject).getAcceptFirstIncomingPayment();
return Boolean.FALSE;
}
/**
* Liefert alle zugeordneten Bankumsätze, indirekt über die Zwischenentität "BankTransactionRef",
* d.h. es sollten alle Einträge des entsprechenden Unterformulars zurückgegeben werden.
*
*/
public List<BankTransactionRef> getBankTransactionRef()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// ((ClientBilling)this.businessObject).getBankTransactionRef();
return null;
}
/**
* Liefert die tatsächlich genutzten Zahlungsbedingungen als "gewrapptes" Objekt.
*
*/
public AbstractConditionsOfPaymentWrapper getConditionsOfPayment()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// final Long lngConditionsOfPaymentId = ((ClientBilling)this.businessObject).getConditionsOfPaymentId();
// final ConditionsOfPayment boConditionsOfPayment = QueryProvider.getById(ConditionsOfPayment.class, lngConditionsOfPaymentId);
//
// return new ConditionsOfPaymentWrapper(boConditionsOfPayment);
return null;
}
/**
* Liefert das Zahlungsdatum.
*
*/
public Date getDateOfInvoice()
{
// @replace Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBilling)this.businessObject).getBillingDate();
return null;
}
/**
* Liefert den Bruttogesamtbetrag des Referenzobjektes, d.h. den über eingehende
* Zahlung auszugleichenden Betrag.
*
*/
public BigDecimal getTotalAmountGross()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBilling)this.businessObject).getTotalAmountGross();
return BigDecimal.ZERO;
}
/**
* Setzt das "Payment Date" (Zahlungsdatum, Bezahlt am, o.ä.) im Referenzobjekt.
*
* @param datPaymentDate
*
*/
public void setPaymentDate(final Date datPaymentDate)
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// ((ClientBilling)this.businessObject).setPaymentDate(datPaymentDate);
}
} |