SEPA Nuclet interfaces: adapting the wrapper classes to the actually used business objects.

globe with meridians Language: Deutsch · English

hammer and wrench 4.8.1 SEPA: Nuclet interfaces

Adapt the Nuclet-independent wrapper classes (creditors, debtors, references, payment references) to the business objects actually used in the target Nuclet.

Auf dieser Seite

This page was machine-translated from German as a first draft and is currently under review. The authoritative source remains the German original (see the language switch above).

The aim of this step is to connect the business object actually used in the target Nuclet to the Java code of the SEPA Nuclet. To this end, the approach of using Nuclet-independent wrapper classes is followed – instead of the business object classes generated for the business objects.

For the technical background, please also read the article "Interfaces in Java rules".

This integration step can only be carried out once the prerequisites from section 3 are met – i.e. as soon as corresponding attributes exist in the business objects used.

When connecting the SEPA Nuclet, wrapper classes must be adjusted for creditors (suppliers, etc.), debtors (customers, etc.), references (invoices, documents, etc.) and payment references (receivables, invoice line items, etc.).

The following overview lists all wrapper classes grouped by use case. All classes are located in the Java package org.nuclet.sepa.wrapper.

If you want to use the SEPA Nuclet either only for direct debits or only for credit transfers, then only the respective classes for your use case need to be adjusted. You can ignore the remaining classes.

Wrapper classNoteFunctionUse case
CreditorReferenceWrappernew from v2.0.0connection to the reference objects used (incoming invoices, credit notes, etc.)Credit transfers

CreditorWrappernew from v2.0.0connection to the creditors, suppliers, etc. used
CreditTransferReferenceWrappernew from v2.0.0connection to the payment reference objects used (receivables, invoice line items, postings, etc.)
DebitorReferenceWrappernew from v2.0.0, replaces ReferenceWrapperconnection to the reference objects used (outgoing invoices, etc.)Direct debits
DebitorWrapper
connection to the debtors, customers, etc. used
DirectDebitReferenceWrappernew from v2.0.0connection to the payment reference objects used (receivables, invoice line items, postings, etc.)
ReferenceWrapperobsolete from v2.0.0, replaced by DebitReferenceWrapperconnection to the reference objects used (invoices, etc.)Direct debits
PaymentReferenceWrapperobsolete from v2.0.0, replaced by DirectDebitReferenceWrapperconnection to the payment reference objects used (receivables, invoice line items, etc.)Direct debits

Table 4.8.1: Overview of Nuclet interfaces

Please note that this integration step is only about establishing the connection to the attributes of the actually used business objects.

You normally do not have to implement any process logic at this point.

4.8.1.1 CreditorReferenceWrapper

The ReferenceWrapper class serves as the Nuclet interface for actually used reference objects (invoices, receivables, documents, etc.).

These are the objects that are used as a reference for payment instructions in SEPA exports.

MethodFunctionAdjustment optional?
CreditorReferenceWrapperAssignment of the actually used business objectnein



getCreditorId()returns the database ID of the creditorja
getCreditTransferReference()

returns the identification feature for credit transfers (e.g. the invoice number)

ja
getReferenceDate()

returns a reference date (e.g. the invoice date)

ja
getTotalAmount()

returns the total amount of a transaction (e.g. the invoice amount);

if the implementation null returns, the amounts are determined from the individual amounts

(see below: CreditTransferReferenceWrapper)

ja

Table 4.8.1.1: Adjustments in CreditorReferenceWrapper

Examples are given in comment blocks; these examples must therefore be adapted, during integration, to the actually used business object (or its BusinessObject class).

package org.nuclet.sepa.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;

import org.nuclet.sepa.wrapper.AbstractCreditorReferenceWrapper;

// @replace!
// 
// import org.nuclet.businesstemplate.SupplierBilling;


/**
 * Abstract wrapper class for debitors (supplier billings, invoices, etc.)
 * 
 * @version 1.1
 * @date 11.01.2016
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.1.3
 * @sincenucletversion 1.0.0
 * @since 30.01.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class CreditorReferenceWrapper extends AbstractCreditorReferenceWrapper
{         
    public CreditorReferenceWrapper(final Modifiable reference)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // if (reference instanceof SupplierBilling) {
        //     this.businessObject = reference;
        // }
    }

    /**
     * Liefert die Datenbank-ID des Kreditoren
     * 
     */
    public Long getCreditorId()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((SupplierBilling)this.businessObject).getSupplierId();
        
        return null;
    }
    
    /**
     * Liefert das Identifizierungsmerkmal für Lastschriften (z.B. die Rechnungsnummer)
     * 
     */
    public String getCreditTransferReference()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // 
        // return ((SupplierBilling)this.businessObject).getBillingNumber();
        
        return null;
    }        
    
    /**
     * Liefert ein Referenzdatum (bspw. das Rechnungsdatum)
     * 
     */
    public Date getReferenceDate()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((SupplierBilling)this.businessObject).getBillingDate();
        
        return null;
    }    
    
    /**
     * Liefert den Gesamtbetrag (bspw. den Rechnungsbetrag)
     * 
     * @note Falls die Implementierung *null* zurückliefert, werden die Beträge aus den
     * Einzelbeträgen ermittelt (d.h. aus den CreditTransferReferenceWrapper-Objekten)
     */
    public BigDecimal getTotalAmount() {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((SupplierBilling)this.businessObject).getTotalAmountGross();
        
        return BigDecimal.ZERO;
    }
    
}
4.8.1.2 CreditorWrapper

The CreditorWrapper class serves as the Nuclet interface to the actually used creditor business object.

The constructor of the class and the getIso4217Code() method must be filled with application-specific behaviour. The latter method should return the ISO 4217 currency code (see Wikipedia) of the currency object.

MethodFunctionAdjustment optional?
CreditorWrapperAssignment of the actually used business objectnein


getBic()returns the debtor's BIC, i.e. the business identifier of the debtor's bank (BIC = Business Identifier Code, formerly: Bank Identifier Code)nein
getIban()returns the debtor's IBAN, i.e. the international bank account number (IBAN = International Bank Account Number)nein
getName()returns the name of the debtornein

Table 4.8.1.2: Adjustments in CreditorWrapper

 

Examples are given in comment blocks; these examples must therefore be adapted, during integration, to the actually used currency business object (or its BusinessObject class).

package org.nuclet.sepa.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;

import org.nuclet.sepa.wrapper.AbstractCreditorWrapper;

// @replace!
// 
// import org.nuclet.businesstemplate.Supplier;


/**
 * Wrapper implementation for creditors 
 * 
 * @version 1.0
 * @date 30.01.2015
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.0.0
 * @sincenucletversion 2.0.0
 * @since 30.01.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class CreditorWrapper extends AbstractCreditorWrapper
{
 public CreditorWrapper(final Modifiable reference)
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // if (reference instanceof Supplier) {
 // this.businessObject = reference;
 // }
 }
 
 
 /**
 * Liefert den Namen des Debitors
 * 
 */
 public String getName()
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // return ((Supplier)this.businessObject).getName();
 
 return null;
 }
 
 
 
 
 /**
 * Liefert den BIC für SEPA-Zahlungen
 * 
 */
 public String getBic()
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // return ((Supplier)this.businessObject).getBic();
 
 return null;
 } 

 /**
 * Liefert den IBAN für SEPA-Zahlungen
 * 
 */
 public String getIban()
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // return ((Supplier)this.businessObject).getIban();
 
 return null;
 } 

}
4.8.1.3 CreditTransferReferenceWrapper

The CreditTransferReferenceWrapper class serves as the Nuclet interface to the actually used business object for payment references.

By payment references we mean those objects:

MethodFunctionAdjustment optional?
CreditTransferReferenceWrapper()Assignment of the actually used business objectnein



getAmount()

returns the amount to be paid;

is used when the getTotalAmount() method from the parent

CreditorReferenceWrapper null returns

nein
getReferenceId()returns the database ID of the parent reference object (see 4.7.1.2)nein



setSEPAExportDate()

sets the export date after a completed SEPA export

nein
setSEPAPaymentInformationId()sets the SEPA payment information after a completed SEPA exportnein

Table 4.8.1.3: Adjustments in CreditTransferReferenceWrapper

 Examples are given in comment blocks; these examples must therefore be adapted, during integration, to the actually used business object (or its BusinessObject class).

package org.nuclet.sepa.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;

import org.nuclet.sepa.wrapper.AbstractPaymentReferenceWrapper;

// @replace!
// 
// import org.nuclet.businesstemplate.SupplierBillingPosition;


/**
 * Wrapper implementation for SEPA credit transfer references (invoices, due payments, etc.)
 * 
 * @version 1.0
 * @date 30.01.2015
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.0.0
 * @sincenucletversion 2.0.0
 * @since 30.01.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class CreditTransferReferenceWrapper extends AbstractCreditTransferReferenceWrapper
{
    public CreditTransferReferenceWrapper(final Modifiable reference)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // if (reference instanceof SupplierBillingPosition) {
        //     this.businessObject = reference;
        // }
    }
    
    /**
     * Liefert die Datenbank-ID des übergeordneten Referenzobjektes
     * (also bspw. die ID der Rechnung, falls es sich bei den Zahlungsreferenzen um
     * Rechnungspositionen handelt) 
     * 
     */
    public Long getReferenceId()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((SupplierBillingPosition)this.businessObject).getClientBillingId();
        
        return null;
    }
    
    /**
     * Liefert den Zahlungsbetrag
     * 
     */
    public BigDecimal getAmount()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((SupplierBillingPosition)this.businessObject).getAmount();
        
        return null;
    }        
    
    public void setSEPATransactionId(final Long lngSEPATransactionId)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ((SupplierBillingPosition)this.businessObject).setSEPATransactionId(lngSEPATransactionId);
    }
    
    public void setSEPAExportDate(final Date datSEPAExportDate)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ((SupplierBillingPosition)this.businessObject).setSEPAExportDate(datSEPAExportDate);
    }

}
4.8.1.4 DebitorReferenceWrapper

The ReferenceWrapper class serves as the Nuclet interface for actually used reference objects (invoices, receivables, documents, etc.).

These are the objects that are used as a reference for payment instructions in SEPA exports.

MethodFunctionAdjustment optional?
DebitorReferenceWrapperAssignment of the actually used business objectnein



getDebitorId()returns the database ID of the debtorja
getDirectDebitReference()

returns the identification feature for direct debits (e.g. the invoice number)

ja
getReferenceDate()

returns a reference date (e.g. the invoice date)

ja
getTotalAmount()

returns the total amount of a transaction (e.g. the invoice amount);

if the implementation null returns, the amounts are determined from the individual amounts

(see below: DirectDebitReferenceWrapper)
ja

Table 4.8.1.4: Adjustments in DebitorReferenceWrapper

Examples are given in comment blocks; these examples must therefore be adapted, during integration, to the actually used business object (or its BusinessObject class).

package org.nuclet.sepa.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;

import org.nuclet.sepa.wrapper.AbstractDebitorReferenceWrapper;

// @replace!
// 
// import org.nuclet.businesstemplate.ClientBilling;


/**
 * Abstract wrapper class for debitors (client billings, invoices, etc.)
 * 
 * @note replaces the original class ReferenceWrapper
 * 
 * @version 2.1
 * @date 11.01.2016
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.1.3
 * @sincenucletversion 2.0.0
 * @since 30.01.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class DebitorReferenceWrapper extends AbstractDebitorReferenceWrapper
{         
    public DebitorReferenceWrapper(final Modifiable reference)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // if (reference instanceof ClientBilling) {
        //     this.businessObject = reference;
        // }
    }

    /**
     * Liefert die Datenbank-ID des Debitoren
     * 
     */
    public Long getDebitorId()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((ClientBilling)this.businessObject).getClientId();
        
        return null;
    }
    
    /**
     * Liefert das Identifizierungsmerkmal für Lastschriften (z.B. die Rechnungsnummer)
     * 
     */
    public String getDirectDebitReference()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // 
        // return ((ClientBilling)this.businessObject).getBillingNumber();
        
        return null;
    }        
    
    /**
     * Liefert ein Referenzdatum (bspw. das Rechnungsdatum)
     * 
     */
    public Date getReferenceDate()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((ClientBilling)this.businessObject).getBillingDate();
        
        return null;
    }
    
    /**
     * Liefert den Gesamtbetrag (bspw. den Rechnungsbetrag)
     * 
     * @note Falls die Implementierung *null* zurückliefert, werden die Beträge aus den
     * Einzelbeträgen ermittelt (d.h. aus den DirectDebitReferenceWrapper-Objekten)
     */
    public BigDecimal getTotalAmount() {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((ClientBilling)this.businessObject).getTotalAmountGross();
        
        return BigDecimal.ZERO;
    }
}
4.8.1.5 DebitorWrapper

The DebitorWrapper class serves as the Nuclet interface to the actually used debtor business object.

The constructor of the class and the getIso4217Code() method must be filled with application-specific behaviour. The latter method should return the ISO 4217 currency code (see Wikipedia) of the currency object.

MethodFunctionAdjustment optional?
DebitorWrapperAssignment of the actually used business objectnein


getBic()returns the debtor's BIC, i.e. the business identifier of the debtor's bank (BIC = Business Identifier Code, formerly: Bank Identifier Code)nein
getDateOfSEPAMandateSignature()returns the date on which the SEPA mandate was issued/signed by the debtornein
getHasSEPAMandateChanged()returns information on whether the debtor's SEPA mandate has changed (i.e. whether the bank details have changed)nein
getIban()returns the debtor's IBAN, i.e. the international bank account number (IBAN = International Bank Account Number)nein
getIsNewDebitorAgent()returns information on whether the debtor has changed bank since the last SEPA exportnein
getName()returns the name of the debtornein
getOriginalDebitorAccount()returns the debtor's previous IBAN, in case it has changed since the last SEPA exportnein
getSEPAMandateIdentification()returns the debtor's SEPA mandate identificationnein
getSEPASequenceTypeId()returns the SEPA sequence type for the debtor (is the SEPA direct debit first, one-off or recurring?)nein



setHasSEPAMandateChanged()sets information on whether the debtor's SEPA mandate has changed (i.e. whether the bank details have changed)nein
setIsNewDebitorAgent()sets information on whether the debtor has changed bank since the last SEPA exportnein
setOriginalDebitorAccount()sets the debtor's previous IBAN, in case it has changed since the last SEPA exportnein
setSEPASequenceTypeId()sets the SEPA sequence type for the debtor (is the SEPA direct debit first, one-off or recurring?)nein

Table 4.8.1.5: Adjustments in DebitorWrapper

Examples are given in comment blocks; these examples must therefore be adapted, during integration, to the actually used currency business object (or its BusinessObject class).

package org.nuclet.sepa.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.businesstemplate.Client;


/**
 * Wrapper implementation for debitors 
 * 
 * @version 1.0
 * @date 21.03.2014
 * @nuclet org.nuclet.SEPA
 * @nucletversion 1.0.0
 * @sincenucletversion 1.0.0
 * @since 21.03.2014
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class DebitorWrapper extends AbstractDebitorWrapper
{
    public DebitorWrapper(final Modifiable reference)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // if (reference instanceof Client) {
        //    this.businessObject = reference;
        // }
    }
    
    
    /**
     * Liefert den Namen des Debitors
     * 
     */
    public String getName()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getName();
        
        return null;
    }
    
    
    /**
     * Liefert die SEPA-Mandatskennung
     */
    public String getSEPAMandateIdentification()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getSEPAMandateIdentification();
        
        return null;
    }
               
    /**
     * Liefert das Ausstellungsdatum des SEPA-Mandats
     */
    public Date getDateOfSEPAMandateSignature()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getDateOfSEPAMandateSignature();
        
        return null;
    }
    
    /**
     * Liefert Informationen darüber, ob sich das SEPA-Mandat auf Debitorenseite 
     * geändert hat
     */
    public Boolean getHasSEPAMandateChanged()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getHasSEPAMandateChanged();
        
        return null;
    }
    
    /**
     * Setzt die Informationen darüber, ob sich das SEPA-Mandat auf Debitorenseite 
     * geändert hat
     */
    public void setHasSEPAMandateChanged(final Boolean blnHasSEPAMandateChanged)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ((Client)this.businessObject).setHasSEPAMandateChanged(blnHasSEPAMandateChanged);
    }
    
    /**
     * Liefert Informationen darüber, ob sich das Kreditinstitut auf Debitorenseite
     * gewechselt wurde
     */
    public Boolean getIsNewDebitorAgent()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getIsNewDebitorAgent();
        
        return null;
    }
    
    /**
     * Setzt die Informationen darüber, ob sich das Kreditinstitut auf Debitorenseite
     * gewechselt wurde
     */
    public void setIsNewDebitorAgent(final Boolean blnIsNewDebitorAgent)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ((Client)this.businessObject).setIsNewDebitorAgent(blnIsNewDebitorAgent);
    }
 
    /**
     * Liefert die Datenbank-ID der SEPA-Laufzeit
     * 
     */
    public Long getSEPASequenceTypeId()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getSEPASequenceTypeId();
        
        return null;
    }
    
    /**
     * Setzt die Datenbank-ID der SEPA-Laufzeit
     * 
     */
    public void setSEPASequenceTypeId(final Long lngSEPASequenceTypeId)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ((Client)this.businessObject).setSEPASequenceTypeId(lngSEPASequenceTypeId);
    }

          
    /**
     * Liefert den BIC für SEPA-Zahlungen
     * 
     */
    public String getBic()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getBic();
        
        return null;
    }
    

    /**
     * Liefert den IBAN für SEPA-Zahlungen
     * 
     */
    public String getIban()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getIban();
        
        return null;
    }
    
    /**
     * Liefert die alte IBAN bei SEPA-Mandatsänderungen
     * 
     */
    public String getOriginalDebitorAccount()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // return ((Client)this.businessObject).getOriginalDebitorAccount();
        
        return null;
    }
    
    /**
     * Setzt die alte IBAN bei SEPA-Mandatsänderungen
     * 
     */
    public void setOriginalDebitorAccount(final String strOriginalDebitorAccount)
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ((Client)this.businessObject).setOriginalDebitorAccount(strOriginalDebitorAccount);
    }
    

}
4.8.1.6 DirectDebitReferenceWrapper

The CreditTransferReferenceWrapper class serves as the Nuclet interface to the actually used business object for payment references.

By payment references we mean those objects:

MethodFunctionAdjustment optional?
DirectDebitReferenceWrapper()Assignment of the actually used business objectnein



getAmount()

returns the amount to be paid;

is used when the getTotalAmount() method from the parent

DebitorReferenceWrapper null returns

nein
getReferenceId()returns the database ID of the parent reference object (see 4.7.1.2)nein



setSEPAExportDate()

sets the export date after a completed SEPA export

nein
setSEPAPaymentInformationId()sets the SEPA payment information after a completed SEPA exportnein

Table 4.8.1.3: Adjustments in DirectDebitReferenceWrapper

 Examples are given in comment blocks; these examples must therefore be adapted, during integration, to the actually used business object (or its BusinessObject class).

package org.nuclet.sepa.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;

import org.nuclet.sepa.wrapper.AbstractDirectDebitReferenceWrapper;

// @replace!
// 
// import org.nuclet.businesstemplate.ClientBillingPosition;


/**
 * Wrapper implementation for SEPA direct debit references (invoices, due payments, etc.)
 * 
 * @note replaces the original class AbstractPaymentReferenceWrapper
 * 
 * @version 1.0
 * @date 30.01.2015
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.0.0
 * @sincenucletversion 2.0.0
 * @since 30.01.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class DirectDebitReferenceWrapper extends AbstractDirectDebitReferenceWrapper
{
 public DirectDebitReferenceWrapper(final Modifiable reference)
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // if (reference instanceof ClientBillingPosition) {
 // this.businessObject = reference;
 // }
 }
 
 /**
 * Liefert die Datenbank-ID des übergeordneten Referenzobjektes
 * (also bspw. die ID der Rechnung, falls es sich bei den Zahlungsreferenzen um
 * Rechnungspositionen handelt) 
 * 
 */
 public Long getReferenceId()
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // return ((ClientBillingPosition)this.businessObject).getClientBillingId();
 
 return null;
 }
 
 /**
 * Liefert den Zahlungsbetrag
 * 
 */
 public BigDecimal getAmount()
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // return ((ClientBillingPosition)this.businessObject).getAmount();
 
 return null;
 } 
 
 public void setSEPATransactionId(final Long lngSEPATransactionId)
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // ((ClientBillingPosition)this.businessObject).setSEPATransactionId(lngSEPATransactionId);
 }
 
 public void setSEPAExportDate(final Date datSEPAExportDate)
 {
 // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
 //
 // Beispiel:
 //
 // ((ClientBillingPosition)this.businessObject).setSEPAExportDate(datSEPAExportDate);
 }

}

Related pages

open book Nuclet: SEPA


SEPA Nuclet data sheet

Öffnen →

open book Interfaces


All integrations

Öffnen →