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-KlasseAnmerkungFunktion
Java-PackageAnzupassende Methoden
Anwendungsfall
CreditorFacadeneu ab v2.0.0
DebitorFacade
  • Definition der tatsächlichen
Debitorenklasse
  • Kreditorenklasse (Kontakt, Lieferant, etc.)
  • Wrapper-Methoden
org.nuclet.sepa.facade
  • getDebitorWrapper(UpdateContext)
  • getDebitorWrapper(Modifiable)
  • getWrappedClass()
ReferenceFacadeDefinition der tatsächlichen Klasse für Referenzobjekte
Überweisungen
CreditorReferenceFacadeneu ab v2.0.0
  • Definition der tatsächlich verwendeten Referenzobjekte bei Überweisungen (Eingangsrechnung, Forderung, etc.)
  • Wrapper-Methoden
org.nuclet.sepa.facade
  • getReferenceWrapper(Modifiable)
  • getWrappedClass()
PaymentReferenceFacade
CreditTransferReferenceFacadeneu ab v2.0.0
  • Definition der tatsächlichen Zahlungsreferenzklasse
  • (Rechnungsposition, Forderung, Buchung, etc.)
  • Definition von Attributen
  • Wrapper-Methoden
org.nuclet.sepa.facade
  • getPaymentReferenceWrapper(Modifiable)
  • getWrappedClass()
  • getSEPAPaymentInformationAttribute()

Tabelle 4.8.2: Übersicht, Anpassungen in Fassaden-Klassen

 

 

4.7.2.1 DebitorFacade

In der Klasse DebitorFacade müssen drei Methoden implementiert werden:

  • getDebitorWrapper(UpdateContext) wandelt das Debitoren-Businessobjekt aus dem UpdateContext in ein Objekt vom Typ AbstractDebitorWrapper
  • getDebitorWrapper(Modifiable) wandelt ein Debitoren-Businessobjekt in ein Objekt vom Typ AbstractDebitorWrapper
  • getWrappedClass() sollte die Java-Klasse des verwendeten Debitorenobjektes zurückgeben

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Währungsbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.

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:

  • getWrappedClass() sollte die Java-Klasse des verwendeten Kreditorenobjektes zurückgeben

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Debitorenbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.

Hinweis

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

Codeblock
languagejava
titleorg.nuclet.sepa.facade.CreditorFacade
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.
Codeblock
languagejava
titleorg.nuclet.sepa.facade.DebitorFacade
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.context.UpdateContext;
import org.nuclos.api.exception.BusinessException;

import org.nuclet.sepa.facade.AbstractCreditorFacade;
import org.nuclet.sepa.wrapper.AbstractDebitorWrapperAbstractCreditorWrapper;
import org.nuclet.sepa.wrapper.DebitorWrapperCreditorWrapper;


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


import de.bffs.Person;

/*/**
 * Facade for Business Objects of type "DebitorCreditor"
 * 
 * @version 1.0
 * @date 2130.0301.20142015
 * @nuclet org.nuclet.SEPA
 * @nucletversion 12.0.0
 * @sincenucletversion 12.0.0
 * @since 2130.0301.20142015
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class DebitorFacade<TCreditorFacade<T extends BusinessObject & Modifiable> extends AbstractDebitorFacade<Person> AbstractCreditorFacade<T> // replace! AbstractCreditorFacade<Supplier>
{
 private static final DebitorFacadeCreditorFacade instance = new DebitorFacadeCreditorFacade(); 
 
 
 /**
 * Liefert die Singleton-Instanz dieser Klasse
 *
 */
 public static DebitorFacadeCreditorFacade getInstance()
 {
 return instance;
 } 
 
 /**
 * Wrap the context's actual reference objects inside an <code>AbstractReferenceWrapper</code>
 * 
 * @param context A given <code>UpdateContext</code>
 * 
 * @return the context's actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code>
 *
 */
 public AbstractDebitorWrapperAbstractCreditorWrapper getDebitorWrappergetWrapper(final UpdateContext context)
 {
 // @replace! 
 //
 // return new DebitorWrapperCreditorWrapper(context.getBusinessObject(getWrappedClass())); 
 }
 return new DebitorWrapper(context.getBusinessObject(getWrappedClass()));
 
 }
 
 
 /**
 * Wrap the actual reference object inside an <code>AbstractReferenceWrapper</code>
 * 
 * @param boDebitorboCreditor The actual reference object
 * 
 * @return the actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code>
 *
 */
 public AbstractDebitorWrapperAbstractCreditorWrapper getDebitorWrappergetWrapper(final Modifiable boDebitorboCreditor)
 {
 // @replace! 
 //
 // return new DebitorWrapperCreditorWrapper(boDebitorboCreditor);
 
 return new DebitorWrapper(boDebitor);
 }
 
 /**
 * Get the class of the actual reference objects, i.e. the class wrapped by <code>DebitorWrapper<<code>CreditorWrapper</code>
 * 
 * @return the class of the actual reference objects, i.e. the class wrapped by <code>DebitorWrapper<<code>CreditorWrapper</code>
 *
 */
 public Class<Person>Class<T> getWrappedClass()
  // @replace! public class<Supplier> getWrappedClass()
 {
 // @replace! 
 //
 // return ClientSupplier.class;
 
 return Person.classnull;
 } 
 
}
4.7.2.2

...

CreditorReferenceFacade

In der Klasse ReferenceFacade müssen die Methode getWrappedClass() und getNuclosStateAttribute() CreditorReferenceFacade muss ebenfalls nur eine Methode implementiert werden:

  • getWrappedClass() sollte die Java-Klasse des verwendeten Referenzobjektes (bspw. org.nuclet.businessobject.ClientBilling) zurückgeben
  • getNuclosStateAttribute() sollte dasjenige Attribut des verwendeten Referenzobjektes zurückliefern, dass den Nuclos-Status repräsentiert

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Währungsbusinessobjekt Referenzbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.Die Beschreibung zur Anpassung der beiden Methoden getSourceStates() und getDestinationStates() finden Sie im nächsten Abschnitt (4.7.3)

Hinweis

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

Codeblock
languagejava
firstline1
titleorg.nuclet.mt940sepa.facade.ReferenceFacadeCreditorReferenceFacade
linenumberstrue
collapsetrue
package org.nuclet.mt940sepa.facade;


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

import org.nuclos.api.businessobject.BusinessObject;
import org.nuclos.api.businessobject.Queryfacade.Modifiable;
import org.nuclos.api.businessobjectexception.QueryOperationBusinessException; 

import org.nuclosnuclet.apisepa.businessobjectfacade.SearchExpressionAbstractCreditorReferenceFacade;
import org.nuclosnuclet.apisepa.businessobjectwrapper.attribute.PrimaryKeyAttributeAbstractCreditorReferenceWrapper;
import org.nuclosnuclet.apisepa.businessobjectwrapper.facade.Stateful;
CreditorReferenceWrapper;


// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
// 
// import org.nuclosnuclet.apibusinesstemplate.context.JobContextSupplierBilling;
import org.nuclos.api.context.RuleContext;
import org.nuclos.api.exception.BusinessException; 
import org.nuclos.api.provider.QueryProvider;
import org.nuclos.api.provider.BusinessObjectProvider;
import org.nuclos.api.statemodel.State;

import org.nuclet.common.facade.AbstractFacade;

import org.nuclet.mt940.statemodel.ReferenceStatemodel;
import org.nuclet.mt940.wrapper.AbstractReferenceWrapper;
import org.nuclet.mt940.wrapper.ReferenceWrapper;

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


/**
 * Facade for Business Objects of type "Reference"
 * 
 * 
 * @version 1.1
 * @date 20.02.2014
 * @nuclet org.nuclet.MT940
 * @nucletversion 1.4.0
 * @sincenucletversion 1.2.0
 * @since 20.09.2013
 * @author frank.lehmann@nuclos.de 
 * 
 */
public class ReferenceFacade<T extends BusinessObject & Stateful> extends AbstractReferenceFacade<T>
{
    private static final ReferenceFacade instance = new ReferenceFacade();


/**
 * 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;
   
 }   
    
    /**
     * Liefert
 die Singleton-Instanz dieser Klasse
     /**
     */
 Wrap the actual reference publicobjects staticinside ReferenceFacade getInstance()an <code>AbstractCreditorReferenceWrapper</code>
    {
 * 
     * return@return instance;
the actual reference  } objects, wrapped inside an <code>AbstractCreditorReferenceWrapper</code>
     *
     */
    public AbstractCreditorReferenceWrapper getWrapper(final Modifiable boReference)
    {
     /**
   return  * Liefert eine Liste von Quellzuständen zum gegebenen Statuswechsel.new CreditorReferenceWrapper(boReference);
    }
    
     /** 
     * @paramGet stateChangethe Derclass Statuswechsel,of repräsentiertthe durch ein Objekt vom Typ <code>StateChange</code>.actual reference objects, i.e. the class wrapped by <code>CreditorReferenceWrapper</code>
     * 
     * @return eine Liste von Quellzuständen zum gegebenen Statuswechselthe class of the actual reference objects, i.e. the class wrapped by <code>CreditorReferenceWrapper</code>
     * 
     */
    public List<State>Class<T> getSourceStates(final ReferenceStatemodel.StateChange stateChange)
    {
   getWrappedClass() // @replace public class<SupplierBilling> getWrappedClass()
    {
     final List<State> lstSourceStates =// new ArrayList<State>();@replace! 
        //
        switch (stateChange) {// return SupplierBilling.class;
        
            case PaymentReceived:return null;
    } 
           // @replace Bitte 
}


4.7.2.3 CreditTransferReferenceFacade

In der Klasse CreditTransferReferenceFacade müssen zwei Methoden implementiert werden:

  • getSEPATransactionIdAttribute() sollte das Attribut zurückliefern, das auf die SEPA-Transaktion referenziert
  • getWrappedClass() sollte die Java-Klasse des verwendeten Zahlungsreferenzobjektes zurückgeben

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Zahlungsreferenzbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.

Hinweis

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

Codeblock
languagejava
firstline1
titleorg.nuclet.sepa.facade.CreditTransferReferenceFacade
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.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:

  • getWrappedClass() sollte die Java-Klasse des verwendeten Debitorenobjektes zurückgeben

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Debitorenbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.

Hinweis

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

Codeblock
languagejava
titleorg.nuclet.sepa.facade.DebitorFacade
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.context.UpdateContext;
import org.nuclos.api.exception.BusinessException;

import org.nuclet.sepa.facade.AbstractDebitorFacade;
import org.nuclet.sepa.wrapper.AbstractDebitorWrapper;
import org.nuclet.sepa.wrapper.DebitorWrapper;


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


/**
 * Facade for Business Objects of type "Debitor"
 *  
 * @version 1.0
 * @date 21.03.2014
 * @nuclet org.nuclet.SEPA
 * @nucletversion 1.1.4
 * @sincenucletversion 1.0.0
 * @since 21.03.2014
 * 
 * @author frank.lehmann@nuclos.de
 * 
 */
public class DebitorFacade<T extends BusinessObject & Modifiable> extends AbstractDebitorFacade<T> // replace! AbstractDebitorFacade<Client>
{
    private static final DebitorFacade instance = new DebitorFacade();            
    
    
    /**
     * Liefert die Singleton-Instanz dieser Klasse
     *
     */
    public static DebitorFacade getInstance()
    {
        return instance;
    }                 
    
    /**
     * Wrap the context's actual reference objects inside an <code>AbstractReferenceWrapper</code>
     * 
     * @param context A given <code>UpdateContext</code>
     * 
     * @return the context's actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code>
     *
     */
    public AbstractDebitorWrapper getWrapper(final UpdateContext context)
    {
        return new DebitorWrapper(context.getBusinessObject(getWrappedClass()));                
    }
    
    
    /**
     * Wrap the actual reference object inside an <code>AbstractReferenceWrapper</code>
     * 
     * @param boDebitor The actual reference object
     * 
     * @return the actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code>
     *
     */
    public AbstractDebitorWrapper getWrapper(final Modifiable boDebitor)
    {
        return new DebitorWrapper(boDebitor);
    }
    
    /**
     * Get the class of the actual reference objects, i.e. the class wrapped by <code>DebitorWrapper</code>
     * 
     * @return the class of the actual reference objects, i.e. the class wrapped by <code>DebitorWrapper</code>
     *
     */
    public Class<T> getWrappedClass() // @replace! public class<Client> getWrappedClass()
    {
        // @replace! 
        //
        // return Client.class;
        
        return null;
    } 
        
}
4.7.2.5 DebitorReferenceFacade

In der Klasse DebitorReferenceFacade muss ebenfalls nur eine Methode implementiert werden:

  • getWrappedClass() sollte die Java-Klasse des verwendeten Referenzobjektes zurückgeben

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Referenzbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.

Hinweis

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

Codeblock
languagejava
titleorg.nuclet.sepa.facade.DebitorReferenceFacade
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.exception.BusinessException; 

import org.nuclet.sepa.wrapper.AbstractDebitorReferenceWrapper;
import org.nuclet.sepa.wrapper.DebitorReferenceWrapper;


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


/**
 * Facade for Business Objects of type "Debitor Reference"
 * 
 * @note replaces the original class ReferenceFacade
 * 
 * @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 DebitorReferenceFacade<T extends BusinessObject & Modifiable> extends AbstractDebitorReferenceFacade<T> // @replace public class<ClientBilling> getWrappedClass()
{
 private static final DebitorReferenceFacade instance = new DebitorReferenceFacade(); 
 
 
 /**
 * Liefert die Singleton-Instanz dieser Klasse
 *
 */
 public static DebitorReferenceFacade getInstance()
 {
 return instance;
 } 
 
 /**
 * Wrap the actual reference objects inside an <code>AbstractDebitorReferenceWrapper</code>
 * 
 * @return the actual reference objects, wrapped inside an <code>AbstractDebitorReferenceWrapper</code>
 *
 */
 public AbstractDebitorReferenceWrapper getWrapper(final Modifiable boReference)
 {
 return new DebitorReferenceWrapper(boReference);
 }
 
 /**
 * Get the class of the actual reference objects, i.e. the class wrapped by <code>DebitorReferenceWrapper</code>
 * 
 * @return the class of the actual reference objects, i.e. the class wrapped by <code>DebitorReferenceWrapper</code>
 *
 */
 public Class<T> getWrappedClass() // @replace public class<ClientBilling> getWrappedClass()
 {
 // @replace! 
 //
 // return ClientBilling.class;
 
 return null;
 } 
 
}
4.7.2.6 DirectDebitReferenceFacade

In der Klasse DirectDebitReferenceFacade müssen zwei Methoden implementiert werden:

  • getSEPATransactionIdAttribute() sollte das Attribut zurückliefern, das auf die SEPA-Transaktion referenziert
  • getWrappedClass() sollte die Java-Klasse des verwendeten Zahlungsreferenzobjektes zurückgeben

Ein Beispiel dazu ist jeweils in einem Kommentarblock angegeben, dieses Beispiel ist an das tatsächlich genutzte Zahlungsreferenzbusinessobjekt (bzw. dessen BusinessObject-Klasse) anzupassen.

Hinweis

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

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!                // Beispiel:
                //
                // lstSourceStateIds.add(ProcessClientBillingSM.State_AB);
                // lstSourceStateIds.add(ProcessClientBillingSM.State_XY);
            
                break;
            default:
                break;
        }
        
        return lstSourceStates;
    }
    
    /**
     * Liefert den Zielzustand zum gegebenen Statuswechsel.
     * 
     * @param stateChange Der Statuswechsel, repräsentiert durch ein Objekt vom Typ <code>StateChange</code>.
     * 
     * @return der Zielzustand von Quellzuständen zum gegebenen Statuswechsel
     * 
     */
    public State getDestinationState(final ReferenceStatemodel.StateChange stateChange)
    {
        switch (stateChange) {        
            case PaymentReceived:
                // @replace Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
                //
// Beispiel:
// 
// import org.nuclet.businesstemplate.ClientBillingPosition;


/**
 * Facade for Business Objects of type "DirectDebitReference"
 *   // Beispiel:
 * @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  // return ProcessClientBillingSM.State_ZZ;
                //
          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();      
      
    
    
  return null; /**
     * Liefert die Singleton-Instanz dieser Klasse
     *
     */
    public static DirectDebitReferenceFacade default:
   getInstance()
    {
         return nullinstance;
    }     }
        
    }
    
    /**
     * Wrap the actual payment reference objects inside an <code>AbstractReferenceWrapper<<code>AbstractDirectDebitReferenceWrapper</code>
     * 
     * @return the actual payment reference objects, wrapped inside an <code>AbstractReferenceWrapper</code>
     *
     */
    public AbstractReferenceWrapper getReferenceWrapper(final BusinessObject boReference)
    {
        // @replace! 
<code>AbstractDirectDebitReferenceWrapper</code>
     *
     *//
    public AbstractDirectDebitReferenceWrapper getWrapper(final  // return new ReferenceWrapper(boReference);Modifiable boDirectDebitReference)
        {
        return new ReferenceWrapperDirectDebitReferenceWrapper(boReferenceboDirectDebitReference);
    }
    
    /**
     * Get the class of the actual payment reference objects, i.e. the class wrapped by <code>ReferenceWrapper<<code>DirectDebitReferenceWrapper</code>
     * 
     * @return the class of the actual payment reference objects, i.e. the class wrapped by <code>ReferenceWrapper<<code>DirectDebitReferenceWrapper</code>
     *
     */
    public Class<T> getWrappedClass() // @replace! public Class<ClientBillingPosition> getWrappedClass()
    {
        // @replace! 
        //
        // return ClientBillingClientBillingPosition.class;
        
        return null;
    } 
    
    /**
     * Get the attribute <code>NuclosState</code> ofattribue, that identifies the actual referenceSEPA objectstransaction
     * 
     * @return the attribute <code>NuclosState</code> ofattribue, that identifies the actualSEPA reference objectstransaction
     *
     */
    publicprotected PrimaryKeyAttribute<State>ForeignKeyAttribute<Long> getNuclosStateAttributegetSEPATransactionIdAttribute()
    {
        // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
        //
        // Beispiel:
        //
        // ClientBilling.NuclosStatereturn ClientBillingPosition.SEPAPaymentInformation;
        
        return null;
    }
        
}