Seitenhistorie
...
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-Klasse | Anmerkung | Funktion | Anwendungsfall |
---|---|---|---|
CreditorFacade | neu ab v2.0.0 |
| Überweisungen |
CreditorReferenceFacade | neu ab v2.0.0 |
| |
CreditTransferReferenceFacade | neu ab v2.0.0 |
| |
DebitorFacade | neu ab v2.0.0 |
| Lastschriften |
DebitorReferenceFacade | neu ab v2.0.0 |
| |
DirectDebitReferenceFacade | neu ab v2.0.0 |
| |
|
wird ab v2.0.0 ersetzt durch DebitorReferenceFacade | obsolet |
| |
|
wird ab v2.0.0 ersetzt durch DirectDebitReferenceFacade | obsolet |
|
Tabelle 4.8.2: Übersicht, Anpassungen in Fassaden-Klassen
4.7.2.1
...
CreditorFacade
In der Klasse DebitorFacade CreditorFacade muss eine Methode implementiert werden:
- getWrappedClass() sollte die Java-Klasse des verwendeten Debitorenobjektes 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 36 37 und 84 entsprechend ersetzt werden muss. |
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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; /** * 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<T>AbstractCreditorFacade<T> // replace! AbstractDebitorFacade<Client>AbstractCreditorFacade<Supplier> { private static final DebitorFacadeCreditorFacade instance = new DebitorFacadeCreditorFacade(); /** * Liefert die Singleton-Instanz dieser Klasse * */ public static CreditorFacade getInstance() { return instance; } /** * Wrap the context's *actual Liefertreference dieobjects Singleton-Instanzinside dieseran Klasse<code>AbstractReferenceWrapper</code> * * @param context A given *<code>UpdateContext</code> * * public static DebitorFacade getInstance() { return instance; } /** * Wrap the context's actual reference objects@return the context's actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code> * */ public AbstractCreditorWrapper getWrapper(final UpdateContext context) { return new CreditorWrapper(context.getBusinessObject(getWrappedClass())); } /** * Wrap the actual reference object inside an <code>AbstractReferenceWrapper</code> * * @param boCreditor The actual reference object * * @return the actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code> * * / public AbstractCreditorWrapper getWrapper(final Modifiable boCreditor) { return new CreditorWrapper(boCreditor); } /** * Get the class of the actual reference objects, i.e. the class wrapped by <code>CreditorWrapper</code> * * @return the class of the actual reference objects, i.e. the class wrapped by <code>CreditorWrapper</code> * */ public Class<T> getWrappedClass() // @replace! public class<Supplier> getWrappedClass() { // @replace! // // return Supplier.class; return null; } } |
4.7.2.2 CreditorReferenceFacade
In der Klasse CreditorReferenceFacade 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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
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
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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())); } * @param context A given <code>UpdateContext</code> * * @return the context's actual reference object, wrapped inside an <code>AbstractReferenceWrapper</code> * */ public AbstractDebitorWrapper getDebitorWrapper(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 getDebitorWrappergetWrapper(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 ReferenceFacade DebitorReferenceFacade muss ebenfalls nur eine Methode implementiert werden:
...
Hinweis |
---|
Bitte beachten Sie außerdem, dass das generische "<T>" in den Zeilen 33 35 und 65 66 entsprechend ersetzt werden muss. |
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
packagepackage org.nuclet.sepa.facade; import java.util.ArrayList; import java.util.List; import org.nuclos.api.businessobject.BusinessObject; import org.nuclosnuclet.api.businessobjectsepa.facade.Modifiable; import orgjava.nuclos.api.exception.BusinessException; util.ArrayList; import orgjava.nuclet.sepa.wrapper.AbstractReferenceWrapperutil.List; import org.nucletnuclos.sepaapi.wrapper.ReferenceWrapper; // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen! // // businessobject.BusinessObject; import org.nuclos.nucletapi.businessobject.businesstemplatefacade.ClientBillingModifiable; /** * Facade for Business Objects of type "Reference" * * @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 ReferenceFacade<T extends BusinessObject & Modifiable> extends AbstractReferenceFacade<T> // @replace public class<ClientBilling> getWrappedClass() { private static final ReferenceFacade instance = new ReferenceFacade(); /** * Liefert die Singleton-Instanz dieser Klasse * */ public static ReferenceFacade getInstance() { return instance; } /** 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>AbstractReferenceWrapper<<code>AbstractDebitorReferenceWrapper</code> * * @return the actual reference objects, wrapped inside an <code>AbstractReferenceWrapper<<code>AbstractDebitorReferenceWrapper</code> * */ public AbstractReferenceWrapperAbstractDebitorReferenceWrapper getReferenceWrappergetWrapper(final Modifiable boReference) { return new ReferenceWrapperDebitorReferenceWrapper(boReference); } } /** * Get the class of the actual reference objects, i.e. the class wrapped by <code>ReferenceWrapper<<code>DebitorReferenceWrapper</code> * * @return the class of the actual reference objects, i.e. the class wrapped by <code>ReferenceWrapper<<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 PaymentReferenceFacade DirectDebitReferenceFacade müssen zwei Methoden implementiert werden:
- getSEPAPaymentInformationAttributegetSEPATransactionIdAttribute() sollte das Attribut zurückliefern, das auf die SEPA-Zahlungsinformationen Transaktion referenziert
- getWrappedClass() sollte die Java-Klasse des verwendeten Zahlungsreferenzobjektes zurückgeben
...
Hinweis |
---|
Bitte beachten Sie außerdem, dass das generische "<T>" in den Zeilen 36 39 und 67 70 entsprechend ersetzt werden muss. |
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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.AbstractPaymentReferenceWrapperAbstractDirectDebitReferenceWrapper; import org.nuclet.sepa.wrapper.PaymentReferenceWrapperDirectDebitReferenceWrapper; // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen! // // Beispiel: // // import org.nuclet.businesstemplate.ClientBillingPosition; /** * Facade for Business Objects of type "PaymentReference" "DirectDebitReference" * * @note replaces the original class PaymentReferenceFacade * * @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 PaymentReferenceFacade<TDirectDebitReferenceFacade<T extends BusinessObject & Modifiable> extends AbstractPaymentReferenceFacade<T>AbstractDirectDebitReferenceFacade<T> // @replace! AbstractPaymentReferenceFacade<ClientBillingPosition> { private static final PaymentReferenceFacadeDirectDebitReferenceFacade instance = new PaymentReferenceFacadeDirectDebitReferenceFacade(); /** * Liefert die Singleton-Instanz dieser Klasse * */ public static PaymentReferenceFacadeDirectDebitReferenceFacade getInstance() { return instance; } /** * Wrap the actual payment reference objects inside an <code>AbstractPaymentReferenceWrapper<<code>AbstractDirectDebitReferenceWrapper</code> * * @return the actual payment reference objects, wrapped inside an <code>AbstractPaymentReferenceWrapper<<code>AbstractDirectDebitReferenceWrapper</code> * */ public AbstractPaymentReferenceWrapperAbstractDirectDebitReferenceWrapper getPaymentReferenceWrappergetWrapper(final Modifiable boPaymentReferenceboDirectDebitReference) { return new PaymentReferenceWrapperDirectDebitReferenceWrapper(boPaymentReferenceboDirectDebitReference); } /** * Get the class of the actual payment reference objects, i.e. the class wrapped by <code>PaymentReferenceWrapper<<code>DirectDebitReferenceWrapper</code> * * @return the class of the actual payment reference objects, i.e. the class wrapped by <code>PaymentReferenceWrapper<<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 payment informationtransaction * * @return the attribue, that identifies the SEPA payment informationtransaction * */ protected ForeignKeyAttribute<Long> getSEPAPaymentInformationAttributegetSEPATransactionIdAttribute() { // @replace! // // return ClientBillingPosition.SEPAPaymentInformation; return null; } } |
...