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 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
getName()
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
markFailed
(String error) 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 Objektesprotected 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 Objektesprotected void
Setzt 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:
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
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:
RemoteException
de.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:
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
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
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
-
-