Seitenhistorie
...
| 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 |
| ||
| obsolet, wird ab v2.0.0 ersetzt durch DebitorReferenceFacade | obsolet |
| |
wird ab v2.0.0 ersetzt durch DirectDebitReferenceFacade | obsolet |
|
...
| 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.AbstractCreditorWrapper;
import org.nuclet.sepa.wrapper.CreditorWrapper;
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// import org.nuclet.businesstemplate.Supplier;
/**
* Facade for Business Objects of type "Creditor"
*
* @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 CreditorFacade<T extends BusinessObject & Modifiable> extends AbstractCreditorFacade<T> // replace! AbstractCreditorFacade<Supplier>
{
private static final CreditorFacade instance = new CreditorFacade();
/**
* Liefert die Singleton-Instanz dieser Klasse
*
*/
public static CreditorFacade 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 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:
...