Seitenhistorie
...
Mehr zur Prüfung der Zahlungsbedingungen und zur Funktionsweise des MT940-Nuclets finden Sie im Abschnitt "2 Funktion".
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 | getSourceStateNumbers() | List<Integer> | 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.
Codeblock | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/**
* 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<Integer> getSourceStateNumbers(final ReferenceStatemodel.StateChange stateChange)
{
final List<Integer> lstSourceStateIds = new ArrayList<Integer>();
switch (stateChange) {
case PaymentReceived:
// @replace Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// lstSourceStateIds.add(ProcessClientBillingSM.State_AB.getNumeral());
// lstSourceStateIds.add(ProcessClientBillingSM.State_XY.getNumeral());
break;
default:
break;
}
return lstSourceStateIds;
}
/**
* 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;
}
} |
Überblick
Inhalte