|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object | +--org.kapott.hbci.server.JobContext
Liefert Informationen über einen eingegangenen Auftrag und nimmt Rückgabedaten
auf. Ein Objekt dieser Klasse wird für jedes eingegangene Auftragssegment
einer Kundennachricht vom HBCI4Java-Server-Code erzeugt. Mit diesem
JobContext
-Objekt wird dann der Callback-Handler
ServerCallback.handleGV(JobContext)
aufgerufen, der von der
HBCI-Server-Anwendung implementiert werden muss.
Die JobContext
-Klasse stellt außerdem einige Hilfsmethoden
für die leichtere Auswertung der Auftragsdaten zur Verfügung.
Method Summary | |
void |
addStatus(String dename,
String code,
String text,
String[] params)
Hinzufügen eines auftragsspezifischen Rückgabewertes zur Antwortnachricht. |
boolean |
checkKIK(String header)
Hilfmethode zum Überprüfen der Gültigkeit der Kreditinstitutskennung in einem Auftragssegment. |
org.kapott.hbci.structures.Konto |
checkKTV(String header)
Hilfsmethode zum Überprüfen der Gültigkeit einer Kontoverbindung aus den Auftragsdaten des aktuellen Auftrages. |
org.kapott.hbci.structures.Value |
extractBTG(String header)
Geldbetrag aus Auftragsdaten extrahieren. |
java.util.Date |
extractDate(String header)
Extrahiert eine Datumsangabe. |
org.kapott.hbci.structures.Konto |
extractMyAccount(String header)
Extrahieren einer Kontoverbindung und Zurückgeben des entsprechenden Konto -Objektes. |
org.kapott.hbci.structures.Konto |
extractOtherAccount(String header)
Extrahieren einer Kontoverbindung und Zurückgeben eines entsprechenden Konto -Objektes. |
String[] |
extractStringArray(String header)
Extrahieren von evtl. mehrfach auftretenden Datenelemente. |
org.kapott.hbci.structures.Konto[] |
getAllAccounts()
Gibt alle Konten aller Kunden zurück, die an dieser Bank geführt werden. |
org.kapott.hbci.structures.Konto[] |
getAllMyAccounts()
Alle für die aktuelle UserId/CustomerId verfügbaren Kontoverbindungen zurückmelden. |
String |
getCustomerId()
Gibt die Kunden-ID zurück, mit der der aktuelle HBCI-Dialog geführt wird und für die also der aktuelle Auftrag bearbeitet werden soll |
java.util.Properties |
getJobData()
Gibt ein Objekt mit den Auftragsdaten des eingegangenen Auftrages zurück. |
String |
getJobData(String key)
Ermitteln eines bestimmten Eintrages aus den eingegangen Auftragsdaten. |
String |
getJobName()
Gibt den Namen des eingegangenen Auftragssegmentes zurück. |
int |
getJobVersion()
Gibt die Versionsnummer des eingegangenen Geschäftsvorfalles zurück. |
String |
getUserId()
Gibt die Nutzerkennung zurück, mit der der aktuelle HBCI-Dialog geführt wird und für die also der aktuelle Auftrag bearbeitet werden soll |
void |
setData(int segCounter,
String key,
String value)
Setzen eines Datenelementes für die zu generierende Antwortnachricht. |
Method Detail |
public String getJobName()
HBCIHandler.getSupportedLowlevelGVs()
ermittelt werden können. Eine Liste
aller möglichen Jobnamen erhält man mit dem Tool
org.kapott.hbci.tools.ShowLowlevelGVs
. Dieser Jobname ist immer einer
der Namen, die von dem implementierten DataStore
-Objekt
mit der Methode DataStore.getSupportedGVs(String)
zurückgegeben werden (das stimmt noch nicht, es werden zur Zeit auch Aufträge
akzeptiert, die gar nicht in den BPD aufgeführt sind ***).
public int getJobVersion()
DataStore.getGVVersions(String,String)
für
den aktuellen Job-Namen
ermittelt werden können
(das stimmt noch nicht, es werden zur Zeit auch Aufträge
akzeptiert, die gar nicht in den BPD aufgeführt sind ***).
public java.util.Properties getJobData()
org.kapott.hbci.tools.ShowLowlevelGVs
ermitteln.
Properties
-Objekt mit Auftragsdatenpublic String getJobData(String key)
getJobData(key)
entspricht dem Aufruf von
getJobData().getProperty(key)
.
key
- Name für das Auftragsdatenelement, dessen Wert ermittelt werden soll
public String getCustomerId()
public String getUserId()
public void addStatus(String dename, String code, String text, String[] params)
code
beginnt mit
'0') wird nur dann tatsächlich als Rückmeldung hinzugefügt, wenn vorher nicht
bereits eine Fehlermeldung hinzugefügt wurde. Eine hinzugefügte Fehlermeldung
(code
beginnt mit '9') bewirkt, dass alle evtl. vorher
hinzugefügten Erfolgsmeldungen aus der Menge der Rückmeldungen entfernt
werden und dass keine weiteren Erfolgsmeldungen hinzugefügt werden können.
dename
- Name des Datenelements, auf das sich diese Meldung bezieht
(kann null
sein) - für eine sinnvolle Belegung ist die Kenntnis
der intern von HBCI4Java verwendeten HBCI-Spezifikation nötigcode
- Codenummer der Rückmeldung (siehe HBCI-Spezifikation)text
- Textmeldung, die zurückgegeben werden sollparams
- Feld mit optionalen Parametern, die die Fehlermeldung näher spezifizierenpublic void setData(int segCounter, String key, String value)
key
) der möglichen Datenelemente je Auftragstyp können mit dem
Tool org.kapott.hbci.tools.ShowLowlevelGVRs
ermittelt werden. Da ein
Auftrag u.U. mehrere Antwortdatensätze erzeugen kann (z.B. eine Saldenabfrage
für alle Konten gleichzeitig), kann mit dem Parameter segCounter
zusätzlich angegeben werden, für den wievielten Antwortdatensatz das Datenelement
benutzt werden soll (Zählung beginnt bei 0!).
segCounter
- Nummer des Antwortdatensatzes (beginnend bei 0), für den dieses
Datenelement gesetzt werden sollkey
- Name des zu setzenden Antwortdatenelementesvalue
- Wert, auf das Datenelement gesetzt werden sollpublic boolean checkKIK(String header)
KIK
), welche in einem Auftragssegment übermittelt wurde,
gültig ist (d.h. KIK.country
und KIK.blz
entsprechen
den Daten des HBCI-Servers). Ist das nicht der Fall, so wird automatisch
eine entsprechende Fehlermeldung zur Antwortnachricht hinzugefügt.
header
- Name der KIK-Datenelementgruppe ([*.]KIK
)
true
, wenn Daten in KIK
-Element mit den
Serverdaten übereinstimmen, sonst false
public org.kapott.hbci.structures.Konto[] getAllMyAccounts()
getUserId()
) gültigen Kontoverbindungen ermittelt
(DataStore.getAccounts(String)
). Daraus werden
dann die Einträge extrahiert, deren .customerid
-Feld mit der aktuellen
Kunden-ID (getCustomerId()
) übereinstimmt. Die so ermittelte Menge von
Kontoverbindungen wird zurückgegeben.
public org.kapott.hbci.structures.Konto[] getAllAccounts()
public org.kapott.hbci.structures.Konto checkKTV(String header)
header
) ein gültiges Konto für den
aktuellen Nutzer/Kunden darstellt (siehe extractMyAccount(String)
). Ist das
der Fall, so wird das entsprechende Konto
-Objekt
zurückgegeben, sonst null
. Falls kein passendes Nutzerkonto
gefunden werden konnte, so wird automatisch eine entsprechende Fehlermeldung
zur Antwortnachricht hinzugefügt.
header
- Name der KTV-Datenelementgruppe ([*.]KTV
) innerhalb der
Auftragsdaten
null
, wenn die Kontodaten kein gültiges Konto des aktuellen
Nutzers/Kunden darstellen, sonst das entsprechende Konto
-Objektpublic org.kapott.hbci.structures.Konto extractMyAccount(String header)
Konto
-Objektes. Diese Methode gibt null
zurück, wenn es für den aktuellen Nutzer/Kunden kein Konto mit der
extrahierten Kontoverbindung gibt. Ansonsten wird das Konto
-Objekt
zurückgegeben, welches der Kontoverbindung entspricht. Es muss sich dabei
also immer um ein Konto handeln, welches dem aktuellen Nutzer/Kunden
gehört. Zusätzlich zu den Verbindungsdaten aus dem Auftragssegment
werden in dem Konto
-Objekt weitere Informationen (wie
Kontowährung, Name des Inhabers) usw. aus den server-internen Datenbeständen
eingetragen.
header
- Name der KTV-Datenelementgruppe ([*.]KTV
) innerhalb der
Auftragsdaten
null
, wenn die Kontodaten kein gültiges Konto des aktuellen
Nutzers/Kunden darstellen, sonst das entsprechende Konto
-ObjektgetAllMyAccounts()
public org.kapott.hbci.structures.Konto extractOtherAccount(String header)
Konto
-Objektes. Diese Methode extrahiert die üblichen
Verbindungsdaten (Ländercode, Bankleitzahl, Kontonummer) und stellt ein
Konto
-Objekt bereit, welches mit diesen Werten initialisiert
ist. Im Gegensatz zu extractMyAccount(String)
wird hier keine
Überprüfung vorgenommen, ob das Konto dem aktuellen Nutzer gehört. Das
hat aber auch den Effekt, dass keine zusätzlichen Kontoinformationen in
das Konto
-Objekt eingestellt werden (wie z.B. Währung,
Name des Inhabers usw.). Falls das referenzierte Konto jedoch bei dieser
Bank geführt wird (siehe getAllAccounts()
), dann werden auch
die entsprechenden zusätzlichen Daten (Kunden-ID, Währung) gesetzt.
header
- Name der KTV-Datenelementgruppe ([*.]KTV
) innerhalb der
Auftragsdaten
Konto
-Objekt, welches mit den
jeweiligen Daten aus dem Auftragssegment initialisiert istpublic org.kapott.hbci.structures.Value extractBTG(String header)
header
- Name des BTG-Datenelementes, welches extrahiert werden soll
Value
-Objekt, welches den extrahierten Geldbetrag
repräsentiertpublic String[] extractStringArray(String header)
header
wird als Datenelement betrachtet, welches
0..n mal auftreten kann. Diese Methode gibt ein String[]
zurück, welches alle Vorkommen dieses DE enthält (kann zum Beispiel
für die Extraktion von Verwendungszweckzeilen benutzt werden --
header=usage.usage
).
header
- Pfadname des zu extrahierenden Datenelementes
String[]
(evtl. mit Länge 0) mit den entsprechenden
Datenpublic java.util.Date extractDate(String header)
header
- Pfadname des zu extrahierenden Datenelementes
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |