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 
      Modifier and Type Field Description
      static java.lang.String QUEUE_ERROR
      Queue, die im Fehlerfall benachrichtigt wird.
      static java.lang.String QUEUE_STATUS
      Queue, an die der aktuelle Prozess-Status der Synchronisierung (RUNNING, ERROR, DONE, CANCEL) geschickt wird.
    • Field Detail

      • QUEUE_STATUS

        static final java.lang.String QUEUE_STATUS
        Queue, an die der aktuelle Prozess-Status der Synchronisierung (RUNNING, ERROR, DONE, CANCEL) geschickt wird.
        See Also:
        Constant Field Values
      • QUEUE_ERROR

        static final java.lang.String 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:
        Constant Field Values
    • Method Detail

      • supports

        boolean supports​(java.lang.Class<? extends SynchronizeJob> type,
                         Konto konto)
        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​(java.lang.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

        java.util.List<SynchronizeJob> getSynchronizeJobs​(Konto k)
        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

        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. 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 mittels 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.
        Parameters:
        k - das Konto.
        Returns:
        Liste von lesbaren Property-Namen. Die werden dem Benutzer 1:1 als Label von Eingabefeldern angezeigt.
      • execute

        SynchronizeSession execute​(java.util.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

        java.lang.String getName()
        Liefert einen sprechenden Namen fuer das Backend.
        Returns:
        sprechender Name fuer das Backend.