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 java.lang.Object
Basis-Klasse fuer die HBCI-Jobs. Ein HBCI-Job muss quasi atomar sein. Das heisst, in dessenhandleResult
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 de.willuhn.util.I18N
i18n
-
Constructor Summary
Constructors Constructor Description AbstractHBCIJob()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract HibiscusDBObject
getContext()
Liefert den zugehoerigen Auftrag von Hibiscus - insofern verfuegbar.java.util.List<AbstractHBCIJob>
getFollowerJobs()
Liefert ein oder mehrere Nachfolge-Jobs, die ausgefuehrt werden sollen, nachdem dieser ausgefuehrt wurde.abstract java.lang.String
getIdentifier()
HBCI4Java verwendet intern eindeutige Job-Namen.protected org.kapott.hbci.GV_Result.HBCIJobResult
getJobResult()
Liefert das Job-Resultat.abstract java.lang.String
getName()
Liefert einen sprechenden Namen fuer diesen Job.void
handleResult()
Diese Funktion wird von der HBCIFactory nach Beendigung der Kommunikation mit der Bank ausgefuehrt.boolean
isExclusive()
Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll.protected void
markCancelled()
Wird aufgerufen, wenn der User den Vorgang abgebrochen hat.protected abstract void
markExecuted()
Markiert den Auftrag als erledigt.protected abstract java.lang.String
markFailed(java.lang.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 void
setJobParam(java.lang.String name, double value, java.lang.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 void
setJobParam(java.lang.String name, int i)
Speichern eines Int-Wertes.protected void
setJobParam(java.lang.String name, java.lang.Integer index, double value, java.lang.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 void
setJobParam(java.lang.String name, java.lang.Integer index, java.lang.String value)
Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.protected void
setJobParam(java.lang.String name, java.lang.Integer index, java.util.Date date)
Speichern eines Datums.protected void
setJobParam(java.lang.String name, java.lang.Integer index, org.kapott.hbci.structures.Konto konto)
Speichern eines komplexes Objektesprotected void
setJobParam(java.lang.String name, java.lang.String value)
Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.protected void
setJobParam(java.lang.String name, java.util.Date date)
Speichern eines Datums.protected void
setJobParam(java.lang.String name, org.kapott.hbci.structures.Konto konto)
Speichern eines komplexes Objektesprotected void
setJobParamUsage(Transfer t)
Setzt die Job-Parameter fuer die Verwendungszweck-Zeilen.
-
-
-
Method Detail
-
getIdentifier
public abstract java.lang.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 java.lang.String getName() throws java.rmi.RemoteException
Liefert einen sprechenden Namen fuer diesen Job.- Returns:
- sprechender Name.
- Throws:
java.rmi.RemoteException
-
markExecuted
protected abstract void markExecuted() throws java.rmi.RemoteException, de.willuhn.util.ApplicationException
Markiert den Auftrag als erledigt.- Throws:
java.rmi.RemoteException
de.willuhn.util.ApplicationException
-
markFailed
protected abstract java.lang.String markFailed(java.lang.String error) throws java.rmi.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:
java.rmi.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 java.util.List<AbstractHBCIJob> getFollowerJobs() throws java.rmi.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:
java.rmi.RemoteException
de.willuhn.util.ApplicationException
-
markCancelled
protected void markCancelled() throws java.rmi.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:
java.rmi.RemoteException
de.willuhn.util.ApplicationException
- BUGZILLA 690
-
setJob
public void setJob(org.kapott.hbci.GV.HBCIJob job) throws java.rmi.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:
java.rmi.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, java.rmi.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:
java.rmi.RemoteException
de.willuhn.util.ApplicationException
-
setJobParam
protected final void setJobParam(java.lang.String name, java.lang.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(java.lang.String name, java.lang.Integer index, java.lang.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(java.lang.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(java.lang.String name, java.lang.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(java.lang.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(java.lang.String name, double value, java.lang.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(java.lang.String name, java.lang.Integer index, double value, java.lang.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(java.lang.String name, java.util.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(java.lang.String name, java.lang.Integer index, java.util.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 java.rmi.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:
java.rmi.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
-
-
-