Seitenhistorie
...
Name: | MT940 |
---|---|
Package: | org.nuclet.mt940 |
Namensraum: | 940 |
Version: | 1.1.0 |
Datum: | 08.08.2013 |
Hinweis | ||
---|---|---|
| ||
Achtung: Ab Version 1.1.0 ist keine Währungsentität mehr im Nuclet enthalten. Eine Währungsentität muss also im Zielsystem existieren oder angelegt werden. Zwingend notwendig für diese Währungsentität ist, dass ein Attribut existiert, in dem der dreistellige ISO-4217-Währungscode als Identifizierungsmerkmal gespeichert wird (siehe dazu auch Wikipedia). |
Überblick
Kurzbeschreibung
...
Codeblock | ||||
---|---|---|---|---|
| ||||
/** * Check, if the changes done to the given bank transaction should result in further * changes and/or state changes of the references <code>BusinessObject</code> * * @param context the current context * * @throws BusinessException, in case an error or exception occurs */ private void checkReferences(UpdateContext context) throws BusinessException { // @replace! // // This code segment needs to be filled with application specific behaviour. // // } |
e) CurrencyWrapper
Die Klasse CurrencyWrapper dient als Nuclet-Schnittstelle zur tatsächlich genutzten Währungsentität. Der Konstruktor der Klasse und die Methode getIso4217Code() sind mit anwendungsspezifischem Verhalten zu befüllen. Letztere Methode sollte den ISO-4217-Währungscode (siehe dazu Wikipedia) des Währunsobjektes zurückliefern. Beispiele dazu sind in Kommentarblöcken angegeben; diese Beispiele sind bei der Integration also an die tatächlich genutzte Währungsentität (bzw. deren BusinessObject-Klasse) anzupassen.
...
Codeblock | ||||
---|---|---|---|---|
| ||||
package org.nuclet.mt940.wrapper; import org.nuclos.api.businessobject.BusinessObject; // @replace // // mit eigenem Code zu ersetzen, Beispiel: // // import org.nuclet.currency.Currency; /** * Konkrete Wrapper-Klasse für Währungsobjekte * */ public class CurrencyWrapper extends AbstractCurrencyWrapper { public CurrencyWrapper(final BusinessObject currency) { // @replace Bitte bei Nuclet-Integration mit eigenem Code ersetzen! // // Beispiel: // // if (currency instanceof Currency) { // this.businessObject = currency; // } } /** * Liefert die Datenbank-ID des Währungsobjektes. */ public Long getId() { return this.businessObject.getId(); } /** * Liefert den ISO-4217-Code des Währungsobjektes. * @see https://de.wikipedia.org/wiki/ISO_4217 * @see https://en.wikipedia.org/wiki/ISO_4217 */ public String getIso4217Code() { // @replace Bitte bei Nuclet-Integration mit eigenem Code ersetzen! // // Beispiel: // // return ((Currency)this.businessObject).getIso4217Code(); return null; } } |
f) CurrencyFacade
In der Klasse CurrencyFacade muss die Methode getCurrencyByIso4217Code() mit anwendungsspezifischem Verhalten gefüllt werden. Die Methode erwartet einen ISO-4217-Währungscode (siehe Wikipedia) als Parameter und sollte ein Objekt vom Typ CurrencyWrapper (siehe Punkt e), oben) zurückgeben. Ein Beispiel dazu ist in einem Kommentarblock angegeben, dieses Beispiel ist an die tatächlich genutzte Währungsentität (bzw. deren BusinessObject-Klasse) anzupassen.
...
Codeblock | ||||
---|---|---|---|---|
| ||||
package org.nuclet.mt940.facade; import java.util.List; import org.nuclos.api.businessobject.Query; import org.nuclos.api.businessobject.QueryOperation; import org.nuclos.api.businessobject.SearchExpression; import org.nuclos.api.context.JobContext; 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.nuclet.common.facade.AbstractFacade; import org.nuclet.mt940.wrapper.AbstractCurrencyWrapper; // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen! // // Beispiel: // // import org.nuclet.currency.Currency; /** * Facade for Business Objects of type "Currency" * * * @version 1.0 * @date 07.08.2013 * @nuclet org.nuclet.MT940 * @nucletversion 1.1.0 * @sincenucletversion 1.1.0 * @since 07.08.2013 * @author frank.lehmann@nuclos.de * */ public class CurrencyFacade extends AbstractCurrencyFacade { private static final CurrencyFacade instance = new CurrencyFacade(); /** * Liefert die Singleton-Instanz dieser Klasse * */ public static CurrencyFacade getInstance() { return instance; } /** * Fetches the currency which determined by a given ISO 4217 code from the database * * @param strIso4217Code the ISO 4217 code of the currency to be found * * @return the currency which is marked as "base currency" from the database * @throws BusinessException, if more than one currency-objects are found */ public AbstractCurrencyWrapper getCurrencyByIso4217Code(final String strIso4217Code) { // @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen! // // Beispiel: // // // final Query<Currency> queryGetCurrency = QueryProvider.create(Currency.class); // queryGetCurrency.where(Currency.Iso4217Code.eq(strIso4217Code)); // // final List<Currency> lstCurrency = QueryProvider.execute(queryGetCurrency); // // if (lstCurrency != null && lstCurrency.size() > 0) { // return new CurrencyWrapper(lstCurrency.get(0)); // } else { // return null; // } return null; } } |
...
Nutzung
Einrichten des Eingangsverzeichnisses
...