T
- der konkrete Typ des JobProviders.SynchronizeBackend
HBCISynchronizeBackend
, ScriptingSynchronizeBackend
public abstract class AbstractSynchronizeBackend<T extends SynchronizeJobProvider> extends java.lang.Object implements SynchronizeBackend
Modifier and Type | Class | Description |
---|---|---|
protected class |
AbstractSynchronizeBackend.JobGroup |
Abstrakte Basis-Klasse, die die Jobs nach Konten gruppiert und ausfuehrt.
|
protected class |
AbstractSynchronizeBackend.Synchronization |
Container fuer alle auszufuehrenden Jobs gruppiert nach Konto.
|
protected class |
AbstractSynchronizeBackend.Worker |
Implementierung des eigentlichen Worker-Threads.
|
Modifier and Type | Field | Description |
---|---|---|
protected static de.willuhn.util.I18N |
i18n |
|
protected AbstractSynchronizeBackend.Worker |
worker |
QUEUE_ERROR, QUEUE_STATUS
Constructor | Description |
---|---|
AbstractSynchronizeBackend() |
Modifier and Type | Method | Description |
---|---|---|
<R> R |
create(java.lang.Class<? extends SynchronizeJob> type,
Konto konto) |
Liefert eine Instanz des angegebenen Job-Typs.
|
protected abstract AbstractSynchronizeBackend.JobGroup |
createJobGroup(Konto k) |
Muss ueberschrieben werden, um dort eine Instanz der JobGroup zurueckzuliefern,
in der die sync()-Funktion implementiert ist.
|
SynchronizeSession |
execute(java.util.List<SynchronizeJob> jobs) |
Fuehrt die uebergebenen Jobs auf dem Backend aus.
|
SynchronizeSession |
getCurrentSession() |
Liefert die aktuelle Session oder NULL wenn gerade keine laeuft.
|
protected java.lang.Class<? extends SynchronizeJob> |
getImplementor(java.lang.Class<? extends SynchronizeJob> type,
Konto konto) |
Liefert die passende Implementierung fuer den angegebenen Job.
|
protected abstract java.lang.Class<T> |
getJobProviderInterface() |
Liefert das Marker-Interface der Job-Provider des Backends.
|
protected java.util.List<T> |
getJobProviders() |
Liefert unsere Job-Provider.
|
java.util.List<java.lang.String> |
getPropertyNames(Konto k) |
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<SynchronizeJob> |
getSynchronizeJobs(Konto k) |
Liefert eine Liste der auszufuehrenden Synchronisierungsjobs auf dem angegebenen Konto.
|
java.util.List<Konto> |
getSynchronizeKonten(Konto k) |
Liefert eine Liste der Konten, fuer die die Synchronisierung ausgefuehrt
werden.
|
boolean |
supports(java.lang.Class<? extends SynchronizeJob> type,
Konto konto) |
Liefert true, wenn das Backend den angegebenen Job-Typ fuer das angegebene Konto unterstuetzt.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
protected static final de.willuhn.util.I18N i18n
protected AbstractSynchronizeBackend.Worker worker
public java.util.List<Konto> getSynchronizeKonten(Konto k)
k
- das Konto.protected abstract java.lang.Class<T> getJobProviderInterface()
protected abstract AbstractSynchronizeBackend.JobGroup createJobGroup(Konto k)
k
- das Konto der Gruppe.protected java.util.List<T> getJobProviders()
protected java.lang.Class<? extends SynchronizeJob> getImplementor(java.lang.Class<? extends SynchronizeJob> type, Konto konto)
type
- der Typ des Jobs.konto
- das Konto, fuer das der Job gesucht wird.public <R> R create(java.lang.Class<? extends SynchronizeJob> type, Konto konto) throws de.willuhn.util.ApplicationException
SynchronizeBackend
create
in interface SynchronizeBackend
type
- der zu erstellende Job-Typ.konto
- das Konto.de.willuhn.util.ApplicationException
- bei einem Anwendungsfehler.Kann ueberschrieben werden, um weitere Checks durchzufuehren oder weitere Context-Properties im Job zu setzen.
public boolean supports(java.lang.Class<? extends SynchronizeJob> type, Konto konto)
SynchronizeBackend
supports
in interface SynchronizeBackend
type
- der zu pruefende Job-Typ.konto
- das Konto.Kann ueberschrieben werden, um weitere Checks durchzufuehren.
public final java.util.List<SynchronizeJob> getSynchronizeJobs(Konto k)
SynchronizeBackend
getSynchronizeJobs
in interface SynchronizeBackend
k
- das Konto.
Wenn kein Konto angegeben ist, werden die Jobs aller Konten zurueckgeliefert.SynchronizeBackend.getSynchronizeJobs(de.willuhn.jameica.hbci.rmi.Konto)
public java.util.List<java.lang.String> getPropertyNames(Konto k)
SynchronizeBackend
HibiscusDBObject.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.getPropertyNames
in interface SynchronizeBackend
k
- das Konto.SynchronizeBackend.getPropertyNames(de.willuhn.jameica.hbci.rmi.Konto)
public SynchronizeSession execute(java.util.List<SynchronizeJob> jobs) throws de.willuhn.util.ApplicationException, de.willuhn.jameica.system.OperationCanceledException
SynchronizeBackend
execute
in interface SynchronizeBackend
jobs
- die auszufuehrenden Jobs.de.willuhn.util.ApplicationException
- bei einem Anwendungsfehler.de.willuhn.jameica.system.OperationCanceledException
- wenn der User die Synchronisierung abgebrochen hat.Kann ueberschrieben werden, um weitere Checks durchzufuehren.
public final SynchronizeSession getCurrentSession()
SynchronizeBackend
getCurrentSession
in interface SynchronizeBackend
SynchronizeBackend.getCurrentSession()