public abstract class AbstractHBCIJob extends Object
| Modifier and Type | Field and Description |
|---|---|
protected HBCIJobResultImpl |
jobResult |
protected HBCIPassportInternal |
passport |
| Constructor and Description |
|---|
AbstractHBCIJob(HBCIPassportInternal passport,
String jobnameLL,
HBCIJobResultImpl jobResult) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
acceptsParam(String hlParamName) |
protected void |
addConstraint(String frontendName,
String destinationName,
String defValue) |
protected void |
addConstraint(String frontendName,
String destinationName,
String defValue,
boolean indexed) |
protected boolean |
canNationalAcc(HBCIPassportInternal passport)
Durchsucht das BPD-Segment "HISPAS" nach dem Property "cannationalacc"
um herauszufinden, ob beim Versand eines SEPA-Auftrages die nationale Bankverbindung
angegeben sein darf.
|
protected void |
checkAccountCRC(String frontendname) |
SEG |
createJobSegment(int segnum) |
String |
createOrderHash(int segVersion) |
protected void |
extractResults(HBCIMsgStatus msgstatus,
String header,
int idx) |
void |
fillJobResult(HBCIMsgStatus status,
int offset) |
String |
getChallengeParam(String path) |
String |
getHBCICode() |
String |
getJobName() |
Map<String,String> |
getJobRestrictions()
Gibt für einen Job alle bekannten Einschränkungen zurück, die bei
der Ausführung des jeweiligen Jobs zu beachten sind.
|
HBCIJobResult |
getJobResult() |
String |
getLowlevelParam(String key) |
HashMap<String,String> |
getLowlevelParams()
Gibt alle für diesen Job gesetzten Parameter zurück.
|
int |
getMaxNumberPerMsg() |
String |
getName() |
Konto |
getOrderAccount()
Liefert das Auftraggeber-Konto, wie es ab HKTAN5 erforderlich ist.
|
String |
getRawData() |
int |
getSegVersion() |
boolean |
needsContinue(int loop) |
boolean |
needTan() |
protected void |
saveReturnValues(HBCIMsgStatus status,
int sref) |
void |
setContinueOffset(int loop) |
void |
setIdx(int idx) |
protected void |
setLowlevelParam(String key,
String value) |
void |
setLowlevelParams(HashMap<String,String> llParams) |
void |
setParam(String paramName,
Date date)
Setzen eines Job-Parameters, bei dem ein Datums als Wert erwartet wird.
|
void |
setParam(String paramName,
int i)
Setzen eines Job-Parameters, bei dem ein Integer-Wert Da als Wert erwartet wird.
|
void |
setParam(String paramName,
Integer index,
Date date) |
void |
setParam(String paramname,
Integer index,
Konto acc) |
void |
setParam(String paramName,
Integer index,
String value)
Setzen eines Job-Parameters.
|
void |
setParam(String paramname,
Integer index,
Value v) |
void |
setParam(String paramname,
Konto acc)
Setzen eines komplexen Job-Parameters (Kontodaten).
|
void |
setParam(String paramName,
String value)
Setzen eines Job-Parameters.
|
void |
setParam(String paramname,
Value v)
Setzen eines komplexen Job-Parameters (Geldbetrag).
|
void |
setSegVersion(int version)
Legt die Versionsnummer des Segments manuell fest.
|
protected boolean |
twoDigitValueInList(String value,
String list) |
void |
verifyConstraints() |
protected HBCIJobResultImpl jobResult
protected HBCIPassportInternal passport
public AbstractHBCIJob(HBCIPassportInternal passport, String jobnameLL, HBCIJobResultImpl jobResult)
public String getHBCICode()
public String getJobName()
protected boolean canNationalAcc(HBCIPassportInternal passport)
Siehe FinTS_3.0_Messages_Geschaeftsvorfaelle_2013-05-28_final_version.pdf - Kapitel B.3.2
passport - passportpublic int getMaxNumberPerMsg()
protected void addConstraint(String frontendName, String destinationName, String defValue)
protected void addConstraint(String frontendName, String destinationName, String defValue, boolean indexed)
public void verifyConstraints()
public SEG createJobSegment(int segnum)
public Map<String,String> getJobRestrictions()
Gibt für einen Job alle bekannten Einschränkungen zurück, die bei der Ausführung des jeweiligen Jobs zu beachten sind. Diese Daten werden aus den Bankparameterdaten des aktuellen Passports extrahiert. Sie können von einer HBCI-Anwendung benutzt werden, um gleich entsprechende Restriktionen bei der Eingabe von Geschäftsvorfalldaten zu erzwingen (z.B. die maximale Anzahl von Verwendungszweckzeilen, ob das Ändern von terminierten Überweisungen erlaubt ist usw.).
Die einzelnen Einträge des zurückgegebenen Properties-Objektes enthalten als Key die
Bezeichnung einer Restriktion (z.B. "maxusage"), als Value wird der
entsprechende Wert eingestellt. Die Bedeutung der einzelnen Restriktionen ist zur Zeit
nur der HBCI-Spezifikation zu entnehmen. In späteren Programmversionen werden entsprechende
Dokumentationen zur internen HBCI-Beschreibung hinzugefügt, so dass dafür eine Abfrageschnittstelle
implementiert werden kann.
public void setParam(String paramname, Konto acc)
setParam(String, String) erzeugt werden (je einer für
die Länderkennung, die Bankleitzahl und die Kontonummer). Durch Verwendung dieser
Methode wird dieser Weg abgekürzt. Es wird ein Kontoobjekt übergeben, für welches
die entsprechenden drei setParam(String,String)-Aufrufe automatisch
erzeugt werden.paramname - die Basis der Parameter für die Kontodaten (für "my.country",
"my.blz", "my.number" wäre das also "my")acc - ein Konto-Objekt, aus welchem die zu setzenden Parameterdaten entnommen werdenpublic void setParam(String paramname, Value v)
setParam(String, String) erzeugt werden (je einer für
den Wert und die Währung). Durch Verwendung dieser
Methode wird dieser Weg abgekürzt. Es wird ein Value-Objekt übergeben, für welches
die entsprechenden zwei setParam(String,String)-Aufrufe automatisch
erzeugt werden.paramname - die Basis der Parameter für die Geldbetragsdaten (für "btg.value" und
"btg.curr" wäre das also "btg")v - ein Value-Objekt, aus welchem die zu setzenden Parameterdaten entnommen werdenpublic void setParam(String paramName, Date date)
setParam(String, String), um das Datum in einen korrekt
formatierten String umzuwandeln. Das "richtige" Datumsformat ist dabei abhängig vom
aktuellen Locale.paramName - Name des zu setzenden Job-Parametersdate - Datum, welches als Wert für den Job-Parameter benutzt werden sollpublic void setParam(String paramName, int i)
setParam(String, String).paramName - Name des zu setzenden Job-Parametersi - Integer-Wert, der als Wert gesetzt werden sollprotected boolean acceptsParam(String hlParamName)
public void setParam(String paramName, String value)
Setzen eines Job-Parameters. Für alle Highlevel-Jobs ist in der Package-Beschreibung zum
Package org.kapott.hbci.GV eine Auflistung aller Jobs und deren Parameter zu finden.
Für alle Lowlevel-Jobs kann eine Liste aller Parameter entweder mit dem Tool
ShowLowlevelGVs ermittelt werden.
Bei Verwendung dieser oder einer der anderen setParam()-Methoden werden zusätzlich
einige der Job-Restriktionen (siehe getJobRestrictions()) analysiert. Beim Verletzen einer
der überprüften Einschränkungen wird eine Exception mit einer entsprechenden Meldung erzeugt.
Diese Überprüfung findet allerdings nur bei Highlevel-Jobs statt.
paramName - der Name des zu setzenden Parameters.value - Wert, auf den der Parameter gesetzt werden sollpublic void setParam(String paramName, Integer index, String value)
Setzen eines Job-Parameters. Für alle Highlevel-Jobs ist in der Package-Beschreibung zum
Package org.kapott.hbci.GV eine Auflistung aller Jobs und deren Parameter zu finden.
Für alle Lowlevel-Jobs kann eine Liste aller Parameter entweder mit dem Tool
ShowLowlevelGVs ermittelt werden.
Bei Verwendung dieser oder einer der anderen setParam()-Methoden werden zusätzlich
einige der Job-Restriktionen (siehe getJobRestrictions()) analysiert. Beim Verletzen einer
der überprüften Einschränkungen wird eine Exception mit einer entsprechenden Meldung erzeugt.
Diese Überprüfung findet allerdings nur bei Highlevel-Jobs statt.
paramName - der Name des zu setzenden Parameters.index - Der index oder null, wenn kein Index gewünscht istvalue - Wert, auf den der Parameter gesetzt werden sollpublic void setContinueOffset(int loop)
public HashMap<String,String> getLowlevelParams()
Properties-Objekt sind werden die
Parameter als Lowlevel-Parameter abgelegt. Außerdem hat
jeder Lowlevel-Parametername zusätzlich ein Prefix, welches den
Lowlevel-Job angibt, für den der Parameter gilt (also z.B.
Ueb3.BTG.valuepublic void setIdx(int idx)
public String getName()
public int getSegVersion()
public void setSegVersion(int version)
version - die neue Versionsnummer.public boolean needsContinue(int loop)
public void fillJobResult(HBCIMsgStatus status, int offset)
protected void saveReturnValues(HBCIMsgStatus status, int sref)
protected void extractResults(HBCIMsgStatus msgstatus, String header, int idx)
public HBCIJobResult getJobResult()
protected void checkAccountCRC(String frontendname)
public Konto getOrderAccount()
public String createOrderHash(int segVersion)
public boolean needTan()
public String getRawData()
Copyright © 2019. All rights reserved.