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
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract HibiscusDBObjectLiefert den zugehoerigen Auftrag von Hibiscus - insofern verfuegbar.Liefert ein oder mehrere Nachfolge-Jobs, die ausgefuehrt werden sollen, nachdem dieser ausgefuehrt wurde.abstract StringHBCI4Java verwendet intern eindeutige Job-Namen.protected final org.kapott.hbci.GV_Result.HBCIJobResultLiefert das Job-Resultat.abstract StringgetName()Liefert einen sprechenden Namen fuer diesen Job.final voidDiese Funktion wird von der HBCIFactory nach Beendigung der Kommunikation mit der Bank ausgefuehrt.booleanLegt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll.protected voidWird aufgerufen, wenn der User den Vorgang abgebrochen hat.protected abstract voidMarkiert den Auftrag als erledigt.protected abstract StringmarkFailed(String error) Markiert den Auftrag als fehlerhaft.voidsetExclusive(boolean exclusive) Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll.voidsetJob(org.kapott.hbci.GV.HBCIJob job) Diese Funktion wird vom HBCISynchronizeBackend intern aufgerufen.protected final voidsetJobParam(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 voidsetJobParam(String name, int i) Speichern eines Int-Wertes.protected final voidsetJobParam(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 voidsetJobParam(String name, Integer index, String value) Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.protected final voidsetJobParam(String name, Integer index, Date date) Speichern eines Datums.protected final voidsetJobParam(String name, Integer index, org.kapott.hbci.structures.Konto konto) Speichern eines komplexes Objektesprotected final voidsetJobParam(String name, String value) Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.protected final voidsetJobParam(String name, Date date) Speichern eines Datums.protected final voidsetJobParam(String name, org.kapott.hbci.structures.Konto konto) Speichern eines komplexes Objektesprotected voidSetzt die Job-Parameter fuer die Verwendungszweck-Zeilen.
-
Field Details
-
i18n
protected static final de.willuhn.util.I18N i18n
-
-
Constructor Details
-
AbstractHBCIJob
public AbstractHBCIJob()
-
-
Method Details
-
getIdentifier
HBCI4Java verwendet intern eindeutige Job-Namen. Diese Funktion liefert genau den Namen fuer genau den gewuenschten Job.- Returns:
- Job-Identifier.
-
getName
Liefert einen sprechenden Namen fuer diesen Job.- Returns:
- sprechender Name.
- Throws:
RemoteException
-
markExecuted
Markiert den Auftrag als erledigt.- Throws:
RemoteExceptionde.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:
RemoteExceptionde.willuhn.util.ApplicationException
-
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.ApplicationExceptionLiefert 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:
RemoteExceptionde.willuhn.util.ApplicationException
-
markCancelled
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:
RemoteExceptionde.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:
RemoteExceptionde.willuhn.util.ApplicationException
-
getJobResult
protected final org.kapott.hbci.GV_Result.HBCIJobResult getJobResult()Liefert das Job-Resultat.- Returns:
- Job-Resultat.
-
handleResult
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:
RemoteExceptionde.willuhn.util.ApplicationException
-
setJobParam
Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.- Parameters:
name- Name des Parameters.value- Wert des Parameters.
-
setJobParam
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
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
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
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
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
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
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
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-
-