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.ObjectBasis-Klasse fuer die HBCI-Jobs. Ein HBCI-Job muss quasi atomar sein. Das heisst, in dessenhandleResultnimmt 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.I18Ni18n
-
Constructor Summary
Constructors Constructor Description AbstractHBCIJob()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract HibiscusDBObjectgetContext()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.StringgetIdentifier()HBCI4Java verwendet intern eindeutige Job-Namen.protected org.kapott.hbci.GV_Result.HBCIJobResultgetJobResult()Liefert das Job-Resultat.abstract java.lang.StringgetName()Liefert einen sprechenden Namen fuer diesen Job.voidhandleResult()Diese Funktion wird von der HBCIFactory nach Beendigung der Kommunikation mit der Bank ausgefuehrt.booleanisExclusive()Legt fest, ob der HBCI-Job exclusive (also in einer einzelnen HBCI-Nachricht) gesendet werden soll.protected voidmarkCancelled()Wird aufgerufen, wenn der User den Vorgang abgebrochen hat.protected abstract voidmarkExecuted()Markiert den Auftrag als erledigt.protected abstract java.lang.StringmarkFailed(java.lang.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 voidsetJobParam(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 voidsetJobParam(java.lang.String name, int i)Speichern eines Int-Wertes.protected voidsetJobParam(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 voidsetJobParam(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 voidsetJobParam(java.lang.String name, java.lang.Integer index, java.util.Date date)Speichern eines Datums.protected voidsetJobParam(java.lang.String name, java.lang.Integer index, org.kapott.hbci.structures.Konto konto)Speichern eines komplexes Objektesprotected voidsetJobParam(java.lang.String name, java.lang.String value)Ueber diese Funktion koennen die konkreten Implementierungen ihre zusaetzlichen Job-Parameter setzen.protected voidsetJobParam(java.lang.String name, java.util.Date date)Speichern eines Datums.protected voidsetJobParam(java.lang.String name, org.kapott.hbci.structures.Konto konto)Speichern eines komplexes Objektesprotected voidsetJobParamUsage(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.RemoteExceptionLiefert 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.ApplicationExceptionMarkiert den Auftrag als erledigt.- Throws:
java.rmi.RemoteExceptionde.willuhn.util.ApplicationException
-
markFailed
protected abstract java.lang.String markFailed(java.lang.String error) throws java.rmi.RemoteException, de.willuhn.util.ApplicationExceptionMarkiert 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.RemoteExceptionde.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.RemoteExceptionde.willuhn.util.ApplicationException
-
markCancelled
protected void markCancelled() throws java.rmi.RemoteException, de.willuhn.util.ApplicationExceptionWird 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.RemoteExceptionde.willuhn.util.ApplicationException- BUGZILLA 690
-
setJob
public void setJob(org.kapott.hbci.GV.HBCIJob job) throws java.rmi.RemoteException, de.willuhn.util.ApplicationExceptionDiese Funktion wird vom HBCISynchronizeBackend intern aufgerufen. Sie uebergibt hier den erzeugten HBCI-Job der Abfrage.- Parameters:
job- der erzeugte Job.- Throws:
java.rmi.RemoteExceptionde.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.RemoteExceptionDiese 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.RemoteExceptionde.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-
-
-