Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.
Unterschiede anzeigen
Seitenhistorie anzeigen
Version 1
Aktuelle »
Standardmäßig sieht das MT940-Nuclet einen Statuswechsel auf einem Referenzobjekt vor, sobald die Zahlungsbedingungen erfüllt sind. Da die Referenzentität nicht Teil des MT940-Nuclets ist, sind Quell- und Zielzustände dieses Statuswechsels bei der Integration zu definieren.
Mehr zur Prüfung der Zahlungsbedingungen und zur Funktionsweise des MT940-Nuclets finden Sie im Abschnitt 2.
4.7.3.1 Statuswechsel "PaymentReceived"
Der oben beschriebene Statuswechsel wird durch das Enum-Objekt "PaymentReceived" vom Typ ReferenceStatemodel.StateChange repräsentiert. Für diesen Statuswechsel müssen in der Klasse ReferenceFacade Quell- und Zielzustände definiert werden.
Statuswechsel | Typ | Methode | Rückgabewert | Bemerkung |
---|
PaymentReceived | Quellzustände | getSourceStates() | List<State> | es können ein oder mehrere Quellzustände definiert werden |
PaymentReceived | Zielzustand | getDestinationState() | State | der Zielzustand ist eindeutig zu definieren |
Die Definition ist aus den folgenden Gründen notwendig:
- Beim potentiellen Statuswechsel wird geprüft, ob die Objekte in einem gültigen Quellzustand sind.
- Bei der Durchführung des Statuswechsels muss der konkrete Zielzustand angegeben werden.
Da die tatsächlichen Zustände aus dem verwendeten Statusmodell nicht im MT940-Nuclet bekannt sind, muss mit dieser Schnittstellenregelung gearbeitet werden.
/**
* Liefert eine Liste von Quellzuständen zum gegebenen Statuswechsel.
*
* @param stateChange Der Statuswechsel, repräsentiert durch ein Objekt vom Typ <code>StateChange</code>.
*
* @return eine Liste von Quellzuständen zum gegebenen Statuswechsel
*
*/
public List<State> getSourceStates(final ReferenceStatemodel.StateChange stateChange)
{
final List<State> lstSourceStates = new ArrayList<State>();
switch (stateChange) {
case PaymentReceived:
// @replace Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// 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:
//
// return ProcessClientBillingSM.State_ZZ;
//
return null;
default:
return null;
}
}