Versionen im Vergleich

Schlüssel

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

...

Außerdem stellen die Fassaden Wrapper-Methoden bereit, die die tatsächlich verwendeten Businessobjekte auf die in Abschnitt 4.8.1. definierten Wrapper-Objekte umwandeln.

Diese Methoden sind von Ihnen im Normalfall nicht anzupassen, sofern Sie die Wrapper-Klassen aus dem SEPA-Nuclet verwenden. 

Bei der Anbindung des SEPA-Nuclets sind die folgende Fassadenklassen für Debitoren, Referenzen und Zahlungsreferenzen anzupassen (die Klassen befinden sich alle im Java-Package org.nuclet.sepa.facade):

Fassaden-KlasseAnmerkungFunktionAnwendungsfall
CreditorFacadeneu ab v2.0.0
  • Definition der tatsächlichen Kreditorenklasse (Kontakt, Lieferant, etc.)
  • Wrapper-Methoden
Überweisungen
CreditorReferenceFacadeneu ab v2.0.0
  • Definition der tatsächlich verwendeten Referenzobjekte bei Überweisungen (Eingangsrechnung, Forderung, etc.)
  • Wrapper-Methoden
CreditTransferReferenceFacadeneu ab v2.0.0
  • Definition der tatsächlichen Zahlungsreferenzklasse (Rechnungsposition, Forderung, Buchung, etc.)
  • Definition von Attributen
  • Wrapper-Methoden
DebitorFacadeneu ab v2.0.0
  • Definition der tatsächlichen Debitorenklasse (Kontakt, Kunde, Mitglied, etc.)
  • Wrapper-Methoden
Lastschriften
DebitorReferenceFacadeneu ab v2.0.0
  • Definition der tatsächlichen Zahlungsreferenzklasse (Ausgangsrechnung, Forderung, etc.)
  • Definition von Attributen
  • Wrapper-Methoden
DirectDebitReferenceFacadeneu ab v2.0.0
  • Definition der tatsächlich verwendeten Referenzobjekte bei Lastschriften (Rechnungsposition, Forderung, Buchung, etc.)
  • Wrapper-Methoden

ReferenceFacade

wird ab v2.0.0 ersetzt durch DebitorReferenceFacade

obsolet
  • Definition der tatsächlich verwendeten Referenzobjekte
  • Wrapper-Methoden
Lastschriften

PaymentReferenceFacade

wird ab v2.0.0 ersetzt durch DirectDebitReferenceFacade

obsolet
  • Definition der tatsächlichen Zahlungsreferenzklasse
  • Definition von Attributen
  • Wrapper-Methoden

 Tabelle 4.8.2: Übersicht, Anpassungen in Fassaden-Klassen

 




4.7.2.1 CreditorFacade

In der Klasse CreditorFacade muss eine Methode implementiert werden:

...

Hinweis

Bitte beachten Sie außerdem, dass das generische "<T>" in den Zeilen 35 und 66 entsprechend ersetzt werden muss.

Codeblock
firstline
languagejava
firstline1
titleorg.nuclet.sepa.facade.CreditorReferenceFacade
1linenumberstrue
collapsetrue
package org.nuclet.sepa.facade;


import java.util.ArrayList;
import java.util.List;

import org.nuclos.api.businessobject.BusinessObject;
import org.nuclos.api.businessobject.facade.Modifiable;
import org.nuclos.api.exception.BusinessException; 

import org.nuclet.sepa.facade.AbstractCreditorReferenceFacade;
import org.nuclet.sepa.wrapper.AbstractCreditorReferenceWrapper;
import org.nuclet.sepa.wrapper.CreditorReferenceWrapper;


// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
// 
// import org.nuclet.businesstemplate.SupplierBilling;


/**
 * Facade for Business Objects of type "Creditor Reference"
 *  
 * 
 * @version 1.0
 * @date 02.02.2015
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.0.0
 * @sincenucletversion 2.0.0
 * @since 02.02.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class CreditorReferenceFacade<T extends BusinessObject & Modifiable> extends AbstractCreditorReferenceFacade<T> // @replace public class<ClientBilling> getWrappedClass()
{
    private static final CreditorReferenceFacade instance = new CreditorReferenceFacade();            
    
    
    /**
     * Liefert die Singleton-Instanz dieser Klasse
     *
     */
    public static CreditorReferenceFacade getInstance()
    {
        return instance;
    }                 
    
    /**
     * Wrap the actual reference objects inside an <code>AbstractCreditorReferenceWrapper</code>
     * 
     * @return the actual reference objects, wrapped inside an <code>AbstractCreditorReferenceWrapper</code>
     *
     */
    public AbstractCreditorReferenceWrapper getWrapper(final Modifiable boReference)
    {
        return new CreditorReferenceWrapper(boReference);
    }
    
    /**
     * Get the class of the actual reference objects, i.e. the class wrapped by <code>CreditorReferenceWrapper</code>
     * 
     * @return the class of the actual reference objects, i.e. the class wrapped by <code>CreditorReferenceWrapper</code>
     *
     */
    public Class<T> getWrappedClass() // @replace public class<SupplierBilling> getWrappedClass()
    {
        // @replace! 
        //
        // return SupplierBilling.class;
        
        return null;
    } 
        
}

...


4.7.2.3 CreditTransferReferenceFacade

...

Hinweis

Bitte beachten Sie außerdem, dass das generische "<T>" in den Zeilen 39 und 70 entsprechend ersetzt werden muss.

Codeblock
firstline
languagejava
firstline1
titleorg.nuclet.sepa.facade.CreditTransferReferenceFacade
1linenumberstrue
collapsetrue
package org.nuclet.sepa.facade;


import java.util.ArrayList;
import java.util.List;

import org.nuclos.api.businessobject.BusinessObject;
import org.nuclos.api.businessobject.facade.Modifiable;
import org.nuclos.api.businessobject.attribute.ForeignKeyAttribute;
import org.nuclos.api.exception.BusinessException; 

import org.nuclet.sepa.facade.AbstractCreditTransferReferenceFacade;
import org.nuclet.sepa.wrapper.AbstractCreditTransferReferenceWrapper;
import org.nuclet.sepa.wrapper.CreditTransferReferenceWrapper;


// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
// 
// import org.nuclet.businesstemplate.SupplierBillingPosition;


/**
 * Facade for Business Objects of type "CreditTransferReference"
 * 
 * @note replaces the original class PaymentReferenceFacade
 *  
 * @version 1.0
 * @date 02.02.2015
 * @nuclet org.nuclet.SEPA
 * @nucletversion 2.0.0
 * @sincenucletversion 2.0.0
 * @since 02.02.2015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class CreditTransferReferenceFacade<T extends BusinessObject & Modifiable> extends AbstractCreditTransferReferenceFacade<T> // @replace! AbstractCreditTransferReferenceFacade<SupplierBillingPosition>
{
    private static final CreditTransferReferenceFacade instance = new CreditTransferReferenceFacade();            
    
    
    /**
     * Liefert die Singleton-Instanz dieser Klasse
     *
     */
    public static CreditTransferReferenceFacade getInstance()
    {
        return instance;
    }                 
    
    /**
     * Wrap the actual payment reference objects inside an <code>AbstractCreditTransferReferenceWrapper</code>
     * 
     * @return the actual payment reference objects, wrapped inside an <code>AbstractCreditTransferReferenceWrapper</code>
     *
     */
    public AbstractCreditTransferReferenceWrapper getWrapper(final Modifiable boDirectDebitReference)
    {
        return new CreditTransferReferenceWrapper(boDirectDebitReference);
    }
    
    /**
     * Get the class of the actual payment reference objects, i.e. the class wrapped by <code>CreditTransferReferenceWrapper</code>
     * 
     * @return the class of the actual payment reference objects, i.e. the class wrapped by <code>CreditTransferReferenceWrapper</code>
     *
     */
    public Class<T> getWrappedClass() // @replace! public Class<SupplierBillingPosition> getWrappedClass()
    {
        // @replace! 
        //
        // return SupplierBillingPosition.class;
        
        return null;
    } 
    
    /**
     * Get the attribue, that identifies the SEPA transaction
     * 
     * @return the attribue, that identifies the SEPA transaction
     *
     */
    protected ForeignKeyAttribute<Long> getSEPATransactionIdAttribute()
    {
        // @replace!
        //
        // return SupplierBillingPosition.SEPATransactionId;
        
        return null;
    }
        
}

...


4.7.2.4 DebitorFacade

In der Klasse DebitorFacade muss eine Methode implementiert werden:

...

Codeblock
languagejava
titleorg.nuclet.sepa.facade.DirectDebitReferenceFacade
linenumberstrue
collapsetrue
package org.nuclet.sepa.facade;


import java.util.ArrayList;
import java.util.List;

import org.nuclos.api.businessobject.BusinessObject;
import org.nuclos.api.businessobject.facade.Modifiable;
import org.nuclos.api.businessobject.attribute.ForeignKeyAttribute;
import org.nuclos.api.exception.BusinessException; 

import org.nuclet.sepa.facade.AbstractDirectDebitReferenceFacade;
import org.nuclet.sepa.wrapper.AbstractDirectDebitReferenceWrapper;
import org.nuclet.sepa.wrapper.DirectDebitReferenceWrapper;


// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
// 
// import org.nuclet.businesstemplate.ClientBillingPosition;


/**
 * Facade for Business Objects of type "DirectDebitReference"
 * 
 * @note replaces the original class PaymentReferenceFacade
 *  
 * @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 DirectDebitReferenceFacade<T extends BusinessObject & Modifiable> extends AbstractDirectDebitReferenceFacade<T> // @replace! AbstractPaymentReferenceFacade<ClientBillingPosition>
{
    private static final DirectDebitReferenceFacade instance = new DirectDebitReferenceFacade();            
    
    
    /**
     * Liefert die Singleton-Instanz dieser Klasse
     *
     */
    public static DirectDebitReferenceFacade getInstance()
    {
        return instance;
    }                 
    
    /**
     * Wrap the actual payment reference objects inside an <code>AbstractDirectDebitReferenceWrapper</code>
     * 
     * @return the actual payment reference objects, wrapped inside an <code>AbstractDirectDebitReferenceWrapper</code>
     *
     */
    public AbstractDirectDebitReferenceWrapper getWrapper(final Modifiable boDirectDebitReference)
    {
        return new DirectDebitReferenceWrapper(boDirectDebitReference);
    }
    
    /**
     * Get the class of the actual payment reference objects, i.e. the class wrapped by <code>DirectDebitReferenceWrapper</code>
     * 
     * @return the class of the actual payment reference objects, i.e. the class wrapped by <code>DirectDebitReferenceWrapper</code>
     *
     */
    public Class<T> getWrappedClass() // @replace! public Class<ClientBillingPosition> getWrappedClass()
    {
        // @replace! 
        //
        // return ClientBillingPosition.class;
        
        return null;
    } 
    
    /**
     * Get the attribue, that identifies the SEPA transaction
     * 
     * @return the attribue, that identifies the SEPA transaction
     *
     */
    protected ForeignKeyAttribute<Long> getSEPATransactionIdAttribute()
    {
        // @replace!
        //
        // return ClientBillingPosition.SEPAPaymentInformation;
        
        return null;
    }
        
}

 

...