Class HBCISynchronizeBackend
java.lang.Object
de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend<HBCISynchronizeJobProvider>
de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend
- All Implemented Interfaces:
SynchronizeBackend
@Lifecycle(CONTEXT)
public class HBCISynchronizeBackend
extends AbstractSynchronizeBackend<HBCISynchronizeJobProvider>
Synchronize-Backend fuer HBCI.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
Hilfsklasse, um die Jobs nach Konten zu gruppieren.Nested classes/interfaces inherited from class de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend
AbstractSynchronizeBackend.JobGroup, AbstractSynchronizeBackend.Synchronization, AbstractSynchronizeBackend.Worker
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Queue, ueber die die rohen HBCI-Nachrichten getraced werden koennen.Fields inherited from class de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend
i18n, worker
Fields inherited from interface de.willuhn.jameica.hbci.synchronize.SynchronizeBackend
QUEUE_ERROR, QUEUE_STATUS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> T
create
(Class<? extends SynchronizeJob> type, Konto konto) Kann ueberschrieben werden, um weitere Checks durchzufuehren oder weitere Context-Properties im Job zu setzen.protected AbstractSynchronizeBackend.JobGroup
Muss ueberschrieben werden, um dort eine Instanz der JobGroup zurueckzuliefern, in der die sync()-Funktion implementiert ist.execute
(List<SynchronizeJob> jobs) Kann ueberschrieben werden, um weitere Checks durchzufuehren.protected Class
<HBCISynchronizeJobProvider> Liefert das Marker-Interface der Job-Provider des Backends.getName()
Liefert einen sprechenden Namen fuer das Backend.getPropertyNames
(Konto konto) 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 Konten, fuer die die Synchronisierung ausgefuehrt werden.boolean
supports
(Class<? extends SynchronizeJob> type, Konto konto) Kann ueberschrieben werden, um weitere Checks durchzufuehren.Methods inherited from class de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend
getCurrentSession, getImplementor, getJobProviders, getSynchronizeJobs
-
Field Details
-
HBCI_TRACE
Queue, ueber die die rohen HBCI-Nachrichten getraced werden koennen.- See Also:
-
-
Constructor Details
-
HBCISynchronizeBackend
public HBCISynchronizeBackend()
-
-
Method Details
-
getName
Description copied from interface:SynchronizeBackend
Liefert einen sprechenden Namen fuer das Backend.- Returns:
- sprechender Name fuer das Backend.
-
createJobGroup
Description copied from class:AbstractSynchronizeBackend
Muss ueberschrieben werden, um dort eine Instanz der JobGroup zurueckzuliefern, in der die sync()-Funktion implementiert ist.- Specified by:
createJobGroup
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- Parameters:
k
- das Konto der Gruppe.- Returns:
- die Instanz der Gruppe.
-
getJobProviderInterface
Description copied from class:AbstractSynchronizeBackend
Liefert das Marker-Interface der Job-Provider des Backends.- Specified by:
getJobProviderInterface
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- Returns:
- das Marker-Interface der Job-Provider des Backends.
-
getSynchronizeKonten
Description copied from class:AbstractSynchronizeBackend
Liefert eine Liste der Konten, fuer die die Synchronisierung ausgefuehrt werden. Die Funktion macht nichts anderes, als: - alle zur Synchronisierung aktiven zurueckzuliefern, wenn k=null ist - eine Liste mit nur dem angegebenen Konto zurueckzuliefern, wenn k!=null ist. Die Liste enthaelt jedoch generell nur Konten, die nicht deaktiviert sind. Kann ueberschrieben werden, um die Liste weiter einzuschraenken.- Overrides:
getSynchronizeKonten
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- Parameters:
k
- das Konto.- Returns:
- die Liste der Konten.
-
create
public <T> T create(Class<? extends SynchronizeJob> type, Konto konto) throws de.willuhn.util.ApplicationException Description copied from class:AbstractSynchronizeBackend
Kann ueberschrieben werden, um weitere Checks durchzufuehren oder weitere Context-Properties im Job zu setzen.- Specified by:
create
in interfaceSynchronizeBackend
- Overrides:
create
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- Parameters:
type
- der zu erstellende Job-Typ.konto
- das Konto.- Returns:
- die Instanz des Jobs.
- Throws:
de.willuhn.util.ApplicationException
- bei einem Anwendungsfehler.
-
supports
Description copied from class:AbstractSynchronizeBackend
Kann ueberschrieben werden, um weitere Checks durchzufuehren.- Specified by:
supports
in interfaceSynchronizeBackend
- Overrides:
supports
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- Parameters:
type
- der zu pruefende Job-Typ.konto
- das Konto.- Returns:
- true, wenn es ihn unterstuetzt, sonst false.
-
execute
public SynchronizeSession execute(List<SynchronizeJob> jobs) throws de.willuhn.util.ApplicationException, de.willuhn.jameica.system.OperationCanceledException Description copied from class:AbstractSynchronizeBackend
Kann ueberschrieben werden, um weitere Checks durchzufuehren.- Specified by:
execute
in interfaceSynchronizeBackend
- Overrides:
execute
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- 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.
-
getPropertyNames
Description copied from interface:SynchronizeBackend
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.- Specified by:
getPropertyNames
in interfaceSynchronizeBackend
- Overrides:
getPropertyNames
in classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>
- Parameters:
konto
- das Konto.- Returns:
- Liste von lesbaren Property-Namen. Die werden dem Benutzer 1:1 als Label von Eingabefeldern angezeigt.
-