Class AbstractHBCIJob

java.lang.Object
de.willuhn.jameica.hbci.server.hbci.AbstractHBCIJob
Direct Known Subclasses:
AbstractHBCISepaSammelTransferJob, HBCIAuslandsUeberweisungJob, HBCIKontoauszugJob, HBCIQuittungJob, HBCISaldoJob, HBCISepaDauerauftragDeleteJob, HBCISepaDauerauftragListJob, HBCISepaDauerauftragStoreJob, HBCISepaLastschriftJob, HBCIUmsatzJob

public abstract class AbstractHBCIJob extends Object
Basis-Klasse fuer die HBCI-Jobs. Ein HBCI-Job muss quasi atomar sein. Das heisst, in dessen handleResult nimmt er auch gleich ggf. notwendige Aenderungen und Speicherungen an den betroffenen Fachobjekten vor. Grund: Es darf nicht sein, dass zB. eine Ueberweisung ausgefuehrt wird, ihr Status jedoch in der DB nicht auf "ausgefuehrt" gesetzt wird.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final de.willuhn.util.I18N
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract HibiscusDBObject
    Liefert den zugehoerigen Auftrag von Hibiscus - insofern verfuegbar.
    Liefert ein oder mehrere Nachfolge-Jobs, die ausgefuehrt werden sollen, nachdem dieser ausgefuehrt wurde.
    abstract String
    HBCI4Java verwendet intern eindeutige Job-Namen.
    protected final org.kapott.hbci.GV_Result.HBCIJobResult
    Liefert das Job-Resultat.
    abstract String
    Liefert einen sprechenden Namen fuer diesen Job.
    final void
    Diese Funktion wird von der HBCIFactory nach Beendigung der Kommunikation mit der Bank ausgefuehrt.
    boolean
    Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll.
    protected void
    Wird aufgerufen, wenn der User den Vorgang abgebrochen hat.
    protected abstract void
    Markiert den Auftrag als erledigt.
    protected abstract String
    Markiert den Auftrag als fehlerhaft.
    void
    setExclusive(boolean exclusive)
    Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll.
    void
    setJob(org.kapott.hbci.GV.HBCIJob job)
    Diese Funktion wird vom HBCISynchronizeBackend intern aufgerufen.
    protected final void
    setJobParam(String name, double value, String currency)
    Speichern eines Geld-Betrages Bitte diese Funktion fuer Betraege verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
    protected final void
    setJobParam(String name, int i)
    Speichern eines Int-Wertes.
    protected final void
    setJobParam(String name, Integer index, double value, String currency)
    Speichern eines Geld-Betrages Bitte diese Funktion fuer Betraege verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
    protected final void
    setJobParam(String name, Integer index, String value)
    Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.
    protected final void
    setJobParam(String name, Integer index, Date date)
    Speichern eines Datums.
    protected final void
    setJobParam(String name, Integer index, org.kapott.hbci.structures.Konto konto)
    Speichern eines komplexes Objektes
    protected final void
    setJobParam(String name, String value)
    Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.
    protected final void
    setJobParam(String name, Date date)
    Speichern eines Datums.
    protected final void
    setJobParam(String name, org.kapott.hbci.structures.Konto konto)
    Speichern eines komplexes Objektes
    protected void
    Setzt die Job-Parameter fuer die Verwendungszweck-Zeilen.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • i18n

      protected static final de.willuhn.util.I18N i18n
  • Constructor Details

    • AbstractHBCIJob

      public AbstractHBCIJob()
  • Method Details

    • getIdentifier

      public abstract String getIdentifier()
      HBCI4Java verwendet intern eindeutige Job-Namen. Diese Funktion liefert genau den Namen fuer genau den gewuenschten Job.
      Returns:
      Job-Identifier.
    • getName

      public abstract String getName() throws RemoteException
      Liefert einen sprechenden Namen fuer diesen Job.
      Returns:
      sprechender Name.
      Throws:
      RemoteException
    • markExecuted

      protected abstract void markExecuted() throws RemoteException, de.willuhn.util.ApplicationException
      Markiert den Auftrag als erledigt.
      Throws:
      RemoteException
      de.willuhn.util.ApplicationException
    • markFailed

      protected abstract String markFailed(String error) throws RemoteException, de.willuhn.util.ApplicationException
      Markiert den Auftrag als fehlerhaft.
      Parameters:
      error - der Fehlertext aus der HBCI-Nachricht.
      Returns:
      der Fehlertext, wie er weitergeworfen werden soll. Hier kann der Implementierer noch weitere Informationen zum Job hinzufuegen.
      Throws:
      RemoteException
      de.willuhn.util.ApplicationException
    • getContext

      protected abstract HibiscusDBObject getContext()
      Liefert den zugehoerigen Auftrag von Hibiscus - insofern verfuegbar.
      Returns:
      der zugehoerige Auftrag von Hibiscus - insofern verfuegbar.
    • getFollowerJobs

      public List<AbstractHBCIJob> getFollowerJobs() throws RemoteException, de.willuhn.util.ApplicationException
      Liefert ein oder mehrere Nachfolge-Jobs, die ausgefuehrt werden sollen, nachdem dieser ausgefuehrt wurde.
      Returns:
      ein oder mehrere Nachfolge-Jobs, die ausgefuehrt werden sollen, nachdem dieser ausgefuehrt wurde.
      Throws:
      RemoteException
      de.willuhn.util.ApplicationException
    • markCancelled

      protected void markCancelled() throws RemoteException, de.willuhn.util.ApplicationException
      Wird aufgerufen, wenn der User den Vorgang abgebrochen hat. Kann von den Jobs implementiert werden, muss aber nicht. Die Funktion wird nur genau dann aufgerufen, wenn der Job noch abbrechbar war - sprich, wenn er noch nicht an die Bank uebertragen wurde. Wurde er jedoch bereits an die Bank gesendet, dann wird entweder markFailed() oder markExecuted() aufgerufen.
      Throws:
      RemoteException
      de.willuhn.util.ApplicationException - BUGZILLA 690
    • setJob

      public void setJob(org.kapott.hbci.GV.HBCIJob job) throws RemoteException, de.willuhn.util.ApplicationException
      Diese Funktion wird vom HBCISynchronizeBackend intern aufgerufen. Sie uebergibt hier den erzeugten HBCI-Job der Abfrage.
      Parameters:
      job - der erzeugte Job.
      Throws:
      RemoteException
      de.willuhn.util.ApplicationException
    • getJobResult

      protected final org.kapott.hbci.GV_Result.HBCIJobResult getJobResult()
      Liefert das Job-Resultat.
      Returns:
      Job-Resultat.
    • handleResult

      public final void handleResult() throws de.willuhn.util.ApplicationException, RemoteException
      Diese Funktion wird von der HBCIFactory nach Beendigung der Kommunikation mit der Bank ausgefuehrt. Sie prueft globalen Status und Job-Status und ruft entsprechend markExecuted() oder markFailed(String) auf.
      Throws:
      RemoteException
      de.willuhn.util.ApplicationException
    • setJobParam

      protected final void setJobParam(String name, String value)
      Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.
      Parameters:
      name - Name des Parameters.
      value - Wert des Parameters.
    • setJobParam

      protected final void setJobParam(String name, Integer index, String value)
      Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.
      Parameters:
      name - Name des Parameters.
      index - optionaler Index des Parameters.
      value - Wert des Parameters.
    • setJobParam

      protected final void setJobParam(String name, org.kapott.hbci.structures.Konto konto)
      Speichern eines komplexes Objektes
      Parameters:
      name - Name des Parameters.
      konto - das Konto.
    • setJobParam

      protected final void setJobParam(String name, Integer index, org.kapott.hbci.structures.Konto konto)
      Speichern eines komplexes Objektes
      Parameters:
      name - Name des Parameters.
      index - optionaler Index des Parameters.
      konto - das Konto.
    • setJobParam

      protected final void setJobParam(String name, int i)
      Speichern eines Int-Wertes. Bitte diese Funktion verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
      Parameters:
      name - Name des Parameters.
      i - Wert.
    • setJobParam

      protected final void setJobParam(String name, double value, String currency)
      Speichern eines Geld-Betrages Bitte diese Funktion fuer Betraege verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
      Parameters:
      name - Name des Parameters.
      value - Geldbetrag.
      currency - Waehrung.
    • setJobParam

      protected final void setJobParam(String name, Integer index, double value, String currency)
      Speichern eines Geld-Betrages Bitte diese Funktion fuer Betraege verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
      Parameters:
      name - Name des Parameters.
      index - optionaler Index des Parameters.
      value - Geldbetrag.
      currency - Waehrung.
    • setJobParam

      protected final void setJobParam(String name, Date date)
      Speichern eines Datums. Bitte diese Funktion verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
      Parameters:
      name - Name des Parameters.
      date - Datum.
    • setJobParam

      protected final void setJobParam(String name, Integer index, Date date)
      Speichern eines Datums. Bitte diese Funktion verwenden, damit sichergestellt ist, dass der Kernel die Werte typsicher erhaelt und Formatierungsfehler aufgrund verschiedener Locales fehlschlagen.
      Parameters:
      name - Name des Parameters.
      index - optionaler Index des Parameters.
      date - Datum.
    • setJobParamUsage

      protected void setJobParamUsage(Transfer t) throws RemoteException
      Setzt die Job-Parameter fuer die Verwendungszweck-Zeilen. Sie werden auf die Job-Parameter usage, usage_2, usage_3,... verteilt. Wenn zwischendrin welche fehlen, werden die hinteren nach vorn geschoben.
      Parameters:
      t - der Auftrag.
      Throws:
      RemoteException
    • isExclusive

      public boolean isExclusive()
      Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll. Standardmaessig ist ein Job nicht exclusiv.
      Returns:
      true, wenn er exclusiv gesendet werden soll.
    • setExclusive

      public void setExclusive(boolean exclusive)
      Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll. Standardmaessig ist ein Job nicht exclusiv.
      Parameters:
      exclusive -