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 Classes Modifier and Type Class Description protected classHBCISynchronizeBackend.HBCIJobGroupHilfsklasse, 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
Fields Modifier and Type Field Description static java.lang.StringHBCI_TRACEQueue, 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 Constructor Description HBCISynchronizeBackend()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Tcreate(java.lang.Class<? extends SynchronizeJob> type, Konto konto)Liefert eine Instanz des angegebenen Job-Typs.protected AbstractSynchronizeBackend.JobGroupcreateJobGroup(Konto k)Muss ueberschrieben werden, um dort eine Instanz der JobGroup zurueckzuliefern, in der die sync()-Funktion implementiert ist.SynchronizeSessionexecute(java.util.List<SynchronizeJob> jobs)Fuehrt die uebergebenen Jobs auf dem Backend aus.protected java.lang.Class<HBCISynchronizeJobProvider>getJobProviderInterface()Liefert das Marker-Interface der Job-Provider des Backends.java.lang.StringgetName()Liefert einen sprechenden Namen fuer das Backend.java.util.List<java.lang.String>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.java.util.List<Konto>getSynchronizeKonten(Konto k)Liefert eine Liste der Konten, fuer die die Synchronisierung ausgefuehrt werden.booleansupports(java.lang.Class<? extends SynchronizeJob> type, Konto konto)Liefert true, wenn das Backend den angegebenen Job-Typ fuer das angegebene Konto unterstuetzt.-
Methods inherited from class de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend
getCurrentSession, getImplementor, getJobProviders, getSynchronizeJobs
-
-
-
-
Field Detail
-
HBCI_TRACE
public static final java.lang.String HBCI_TRACE
Queue, ueber die die rohen HBCI-Nachrichten getraced werden koennen.- See Also:
- Constant Field Values
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:SynchronizeBackendLiefert einen sprechenden Namen fuer das Backend.- Returns:
- sprechender Name fuer das Backend.
- See Also:
SynchronizeBackend.getName()
-
createJobGroup
protected AbstractSynchronizeBackend.JobGroup createJobGroup(Konto k)
Description copied from class:AbstractSynchronizeBackendMuss ueberschrieben werden, um dort eine Instanz der JobGroup zurueckzuliefern, in der die sync()-Funktion implementiert ist.- Specified by:
createJobGroupin classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>- Parameters:
k- das Konto der Gruppe.- Returns:
- die Instanz der Gruppe.
- See Also:
AbstractSynchronizeBackend.createJobGroup(de.willuhn.jameica.hbci.rmi.Konto)
-
getJobProviderInterface
protected java.lang.Class<HBCISynchronizeJobProvider> getJobProviderInterface()
Description copied from class:AbstractSynchronizeBackendLiefert das Marker-Interface der Job-Provider des Backends.- Specified by:
getJobProviderInterfacein classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>- Returns:
- das Marker-Interface der Job-Provider des Backends.
- See Also:
AbstractSynchronizeBackend.getJobProviderInterface()
-
getSynchronizeKonten
public java.util.List<Konto> getSynchronizeKonten(Konto k)
Description copied from class:AbstractSynchronizeBackendLiefert 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:
getSynchronizeKontenin classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>- Parameters:
k- das Konto.- Returns:
- die Liste der Konten.
- See Also:
AbstractSynchronizeBackend.getSynchronizeKonten(de.willuhn.jameica.hbci.rmi.Konto)
-
create
public <T> T create(java.lang.Class<? extends SynchronizeJob> type, Konto konto) throws de.willuhn.util.ApplicationException
Description copied from interface:SynchronizeBackendLiefert eine Instanz des angegebenen Job-Typs.- Specified by:
createin interfaceSynchronizeBackend- Overrides:
createin 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.- See Also:
SynchronizeBackend.create(java.lang.Class, de.willuhn.jameica.hbci.rmi.Konto)
-
supports
public boolean supports(java.lang.Class<? extends SynchronizeJob> type, Konto konto)
Description copied from interface:SynchronizeBackendLiefert true, wenn das Backend den angegebenen Job-Typ fuer das angegebene Konto unterstuetzt.- Specified by:
supportsin interfaceSynchronizeBackend- Overrides:
supportsin classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>- Parameters:
type- der zu pruefende Job-Typ.konto- das Konto.- Returns:
- true, wenn es ihn unterstuetzt, sonst false.
- See Also:
SynchronizeBackend.supports(java.lang.Class, de.willuhn.jameica.hbci.rmi.Konto)
-
execute
public SynchronizeSession execute(java.util.List<SynchronizeJob> jobs) throws de.willuhn.util.ApplicationException, de.willuhn.jameica.system.OperationCanceledException
Description copied from interface:SynchronizeBackendFuehrt die uebergebenen Jobs auf dem Backend aus.- Specified by:
executein interfaceSynchronizeBackend- Overrides:
executein 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.- See Also:
AbstractSynchronizeBackend.execute(java.util.List)
-
getPropertyNames
public java.util.List<java.lang.String> getPropertyNames(Konto konto)
Description copied from interface:SynchronizeBackendLiefert 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:
getPropertyNamesin interfaceSynchronizeBackend- Overrides:
getPropertyNamesin classAbstractSynchronizeBackend<HBCISynchronizeJobProvider>- Parameters:
konto- das Konto.- Returns:
- Liste von lesbaren Property-Namen. Die werden dem Benutzer 1:1 als Label von Eingabefeldern angezeigt.
- See Also:
AbstractSynchronizeBackend.getPropertyNames(de.willuhn.jameica.hbci.rmi.Konto)
-
-