Interface SynchronizeBackend
- All Known Implementing Classes:
AbstractSynchronizeBackend
,HBCISynchronizeBackend
,ScriptingSynchronizeBackend
public interface SynchronizeBackend
Interface fuer ein Backend, welches Bank-Geschaeftsvorfaelle ausfuehren kann.
Die Standard-Implementierung von Hibiscus verwendet HBCI. Es koennen aber
weitere hinzugefuegt werden. Eine weitere verwendet z.Bsp. die Scripting-Funktionen.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescription<T> T
create
(Class<? extends SynchronizeJob> type, Konto konto) Liefert eine Instanz des angegebenen Job-Typs.execute
(List<SynchronizeJob> jobs) Fuehrt die uebergebenen Jobs auf dem Backend aus.Liefert die aktuelle Session oder NULL wenn gerade keine laeuft.getName()
Liefert einen sprechenden Namen fuer das Backend.Liefert eine optionale Liste mit Property-Namen, die in Hibiscus in den Sync-Einstellungen als Eingabefelder fuer zusaetzliche Konfigurationsoptionen angezeigt werden sollen.Liefert eine Liste der auszufuehrenden Synchronisierungsjobs auf dem angegebenen Konto.boolean
supports
(Class<? extends SynchronizeJob> type, Konto konto) Liefert true, wenn das Backend den angegebenen Job-Typ fuer das angegebene Konto unterstuetzt.
-
Field Details
-
QUEUE_STATUS
Queue, an die der aktuelle Prozess-Status der Synchronisierung (RUNNING, ERROR, DONE, CANCEL) geschickt wird.- See Also:
-
QUEUE_ERROR
Queue, die im Fehlerfall benachrichtigt wird. Die Message wird synchron als QueryMessage geschickt. Enthaelt sie in getData() als Rueckgabe-Wert TRUE, wird die Synchronisierung trotz Fehler nur in diesem Fall beim naechsten Konto dennoch fortgesetzt. Andernfalls wird sie abgebrochen.- See Also:
-
-
Method Details
-
supports
Liefert true, wenn das Backend den angegebenen Job-Typ fuer das angegebene Konto unterstuetzt.- Parameters:
type
- der zu pruefende Job-Typ.konto
- das Konto.- Returns:
- true, wenn es ihn unterstuetzt, sonst false.
-
create
<T> T create(Class<? extends SynchronizeJob> type, Konto konto) throws de.willuhn.util.ApplicationException Liefert eine Instanz des angegebenen Job-Typs.- Parameters:
type
- der zu erstellende Job-Typ.konto
- das Konto.- Returns:
- die Instanz des Jobs.
- Throws:
de.willuhn.util.ApplicationException
- bei einem Anwendungsfehler.
-
getSynchronizeJobs
Liefert eine Liste der auszufuehrenden Synchronisierungsjobs auf dem angegebenen Konto.- Parameters:
k
- das Konto. Wenn kein Konto angegeben ist, werden die Jobs aller Konten zurueckgeliefert.- Returns:
- Liste der auszufuehrenden Jobs. Die Funktion darf auch NULL liefern.
-
getPropertyNames
Liefert eine optionale Liste mit Property-Namen, die in Hibiscus in den Sync-Einstellungen als Eingabefelder fuer zusaetzliche Konfigurationsoptionen angezeigt werden sollen. Wird z.Bsp. vom ScriptingBackend verwendet, um dort die Zugangsdaten zur Webseite hinterlegen zu koennen, ohne dafuer Kontonummer, Benutzerkennung, usw. des Kontos "missbrauchen" zu muessen. Die vom Benutzer eingegebenen Werte werden als Meta-Daten zum Konto gespeichert. Sie koennen mittelsHibiscusDBObject.getMeta(String, String)
wieder abgerufen werden. Besitzt ein Property den Suffix "(true/false)" wird es als Checkbox angezeigt. Besitzt ein Property den Suffix "(pwd)" oder "(password)" wird es als Passwort-Eingabe angezeigt. Der Suffix wird vor dem Speichern des Property in den Meta-Daten des Konto entfernt.- Parameters:
k
- das Konto.- Returns:
- Liste von lesbaren Property-Namen. Die werden dem Benutzer 1:1 als Label von Eingabefeldern angezeigt.
-
execute
SynchronizeSession execute(List<SynchronizeJob> jobs) throws de.willuhn.util.ApplicationException, de.willuhn.jameica.system.OperationCanceledException Fuehrt die uebergebenen Jobs auf dem Backend aus.- Parameters:
jobs
- die auszufuehrenden Jobs.- Returns:
- die neue Session.
- Throws:
de.willuhn.util.ApplicationException
- bei einem Anwendungsfehler.de.willuhn.jameica.system.OperationCanceledException
- wenn der User die Synchronisierung abgebrochen hat.
-
getCurrentSession
SynchronizeSession getCurrentSession()Liefert die aktuelle Session oder NULL wenn gerade keine laeuft.- Returns:
- die aktuelle Session oder NULL wenn gerade keine laeuft.
-
getName
String getName()Liefert einen sprechenden Namen fuer das Backend.- Returns:
- sprechender Name fuer das Backend.
-