public abstract class AbstractHBCIPassport extends Object implements HBCIPassportInternal, Serializable
Diese Klasse stellt die Basisklasse für alle "echten" Passport-Implementationen dar. Hier werden bereits einige Methoden implementiert sowie einige zusätzliche Hilfsmethoden zur Verfügung gestellt.
Aus einer HBCI-Anwendung heraus ist hier nur eine einzige Methode interessant, um eine Instanz eines bestimmtes Passports zu erzeugen
| Modifier and Type | Field and Description |
|---|---|
protected HBCICallback |
callback |
protected Map<String,String> |
properties |
| Constructor and Description |
|---|
AbstractHBCIPassport(String hbciversion,
Map<String,String> properties,
HBCICallback callback,
HBCIProduct product) |
| Modifier and Type | Method and Description |
|---|---|
void |
fillAccountInfo(Konto account)
Ausfüllen fehlender Kontoinformationen.
|
Konto |
findAccountByAccountNumber(String number) |
List<Konto> |
getAccounts()
Gibt ein Array mit Kontoinformationen zurück.
|
String |
getBLZ()
Gibt die Bankleitzahl des Kreditinstitutes zurück.
|
Map<String,String> |
getBPD()
Gibt die gespeicherten BPD zurück.
|
String |
getBPDVersion()
Gibt die Versionsnummer der lokal gespeicherten BPD zurück.
|
HBCICallback |
getCallback() |
String |
getCountry()
Gibt den Ländercode der Bank zurück.
|
String |
getCustomerId()
Gibt die Kunden-ID zurück, die von HBCI4Java für die
Initialisierung eines Dialoges benutzt wird.
|
HBCIProduct |
getHbciProduct() |
String |
getHBCIVersion()
Gibt die HBCI-Version zurück, die zuletzt verwendet wurde.
|
String |
getHost()
Gibt den Hostnamen des HBCI-Servers für dieses Passport zurück.
|
static HBCIPassport |
getInstance(HBCICallback callback,
Map<String,String> properties) |
static HBCIPassport |
getInstance(HBCICallback callback,
Map<String,String> properties,
Object init)
Erzeugt eine Instanz eines HBCI-Passports.
|
static HBCIPassport |
getInstance(HBCICallback callback,
Map<String,String> properties,
String name) |
static HBCIPassport |
getInstance(HBCICallback callback,
Map<String,String> properties,
String name,
Object init) |
String |
getInstName()
Gibt den Namen des Kreditinstitutes zurück.
|
Map<String,String> |
getJobRestrictions(String specname) |
Map<String,String> |
getJobRestrictions(String gvname,
String version) |
String |
getLang() |
Map<String,String> |
getLowlevelJobRestrictions(String gvname)
Gibt für einen Job alle bekannten Einschränkungen zurück, die bei
der Ausführung des jeweiligen Jobs zu beachten sind.
|
int |
getMaxGVperMsg() |
int |
getMaxGVSegsPerMsg() |
int |
getMaxMsgSizeKB() |
String |
getOrderHashMode(int segVersion) |
Map<String,String> |
getParamSegmentNames() |
Integer |
getPort()
Gibt die TCP-Portnummer auf dem HBCI-Server zurück, zu der eine
HBCI-Verbindung aufgebaut werden soll.
|
Map<String,String> |
getProperties() |
Long |
getSigId() |
Map<String,String> |
getSupportedLowlevelJobs()
Gibt die Namen aller vom aktuellen HBCI-Zugang (d.h.
|
String[] |
getSuppVersions() |
Node |
getSyntaxDef(String type) |
Document |
getSyntaxDocument() |
String |
getSysId() |
Map<String,String> |
getUPD()
Gibt die gespeicherten UPD (User-Parameter-Daten) zurück.
|
String |
getUPDVersion()
Gibt die Versionsnummer der lokal gespeicherten UPD zurück.
|
String |
getUserId()
Gibt die Benutzerkennung zurück, die zur Authentifikation am
HBCI-Server benutzt wird.
|
void |
incSigId() |
boolean |
jobSupported(String jobName) |
void |
setBLZ(String blz) |
void |
setBPD(Map<String,String> bpd) |
void |
setCountry(String country) |
void |
setCustomerId(String customerid)
Setzen der zu verwendenden Kunden-ID.
|
void |
setHost(String host) |
void |
setPort(Integer port) |
void |
setSigId(Long sigid) |
void |
setSysId(String sysid) |
void |
setUPD(Map<String,String> upd) |
void |
setUserId(String userid) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdecrypt, encrypt, getCryptAlg, getCryptFunction, getCryptKeyType, getCryptMode, getCurrentSecMechInfo, getHashAlg, getInstEncKeyName, getInstEncKeyNum, getInstEncKeyVersion, getMySigKeyName, getMySigKeyNum, getMySigKeyVersion, getPIN, getPinTanInfo, getProfileMethod, getProfileVersion, getProxy, getSigAlg, getSigFunction, getSigMode, getSysStatus, needUserSig, postInitResponseHook, setInstEncKey, setInstSigKeygetProxyPass, getProxyUser, getTanMedias, hasInstEncKey, hasInstSigKey, setTanMediasprotected HBCICallback callback
public AbstractHBCIPassport(String hbciversion, Map<String,String> properties, HBCICallback callback, HBCIProduct product)
public static HBCIPassport getInstance(HBCICallback callback, Map<String,String> properties, String name, Object init)
public static HBCIPassport getInstance(HBCICallback callback, Map<String,String> properties, Object init)
client.passport.default entnommen. Gültige Werte für diesen
HBCI-Parameter sind die gleichen wie beim Aufruf der Methodepublic static HBCIPassport getInstance(HBCICallback callback, Map<String,String> properties, String name)
public static HBCIPassport getInstance(HBCICallback callback, Map<String,String> properties)
public final List<Konto> getAccounts()
HBCIPassportgetAccounts in interface HBCIPassportpublic final void fillAccountInfo(Konto account)
HBCIPassportHBCIPassport.getAccounts()) wird nach einem Konto gesucht, welches die
gleiche Kontonummer hat wie das übergebene Konto account. Wird ein solches
Konto gefunden, so werden die Daten dieses gefundenen Kontos in das account-Objekt
übertragen.
Diese Methode kann benutzt werden, wenn zu einem Konto nicht alle Daten bekannt sind, wenigstens
aber die Kontonummer.fillAccountInfo in interface HBCIPassportaccount - unvollständige Konto-Informationen, bei denen die fehlenden Daten nachgetragen
werdenpublic String getHost()
HBCIPassportgetHost in interface HBCIPassportpublic final void setHost(String host)
setHost in interface HBCIPassportpublic final Integer getPort()
HBCIPassportHBCIPassport.setPort(Integer) geändert werden.getPort in interface HBCIPassportpublic final void setPort(Integer port)
setPort in interface HBCIPassportpublic String getUserId()
HBCIPassportgetUserId in interface HBCIPassportpublic final void setUserId(String userid)
setUserId in interface HBCIPassportpublic String getCustomerId()
HBCIPassportGibt die Kunden-ID zurück, die von HBCI4Java für die
Initialisierung eines Dialoges benutzt wird. Zu einer Benutzerkennung
(HBCIPassport.getUserId()), welche jeweils an ein bestimmtes Medium
gebunden ist, kann es mehrere Kunden-IDs geben. Die verschiedenen
Kunden-IDs entsprechen verschiedenen Rollen, in denen der Benutzer
auftreten kann.
In den meisten Fällen gibt es zu einer Benutzerkennung nur eine einzige Kunden-ID. Wird von der Bank keine Kunden-ID explizit vergeben, so ist die Kunden-ID identisch mit der Benutzerkennung.
getCustomerId in interface HBCIPassportpublic final void setCustomerId(String customerid)
HBCIPassportHBCIDialog.execute(boolean))
benutzt wird. Diese neue Kunden-ID wird dann außerdem permanent im
jeweiligen Sicherheitsmedium gespeichert (sofern das von dem Medium
unterstützt wird).setCustomerId in interface HBCIPassportcustomerid - die zu verwendende Kunden-ID; wird keine customerid
angegeben (null oder ""), so wird automatisch die
User-ID verwendet.HBCIPassport.getCustomerId()public String getSysId()
getSysId in interface HBCIPassportInternalpublic final void setSysId(String sysid)
setSysId in interface HBCIPassportInternalpublic final String getBPDVersion()
HBCIPassportgetBPDVersion in interface HBCIPassportpublic final String getUPDVersion()
HBCIPassportHBCIPassport.getBPDVersion().getUPDVersion in interface HBCIPassportpublic final String getInstName()
HBCIPassportnull zurückgegeben.getInstName in interface HBCIPassportpublic int getMaxGVperMsg()
getMaxGVperMsg in interface HBCIPassportpublic final int getMaxMsgSizeKB()
getMaxMsgSizeKB in interface HBCIPassportpublic final String[] getSuppVersions()
getSuppVersions in interface HBCIPassportpublic final String getLang()
getLang in interface HBCIPassportInternalpublic final Long getSigId()
getSigId in interface HBCIPassportInternalpublic final void setSigId(Long sigid)
setSigId in interface HBCIPassportInternalpublic void incSigId()
incSigId in interface HBCIPassportInternalpublic Map<String,String> getParamSegmentNames()
getParamSegmentNames in interface HBCIPassportInternalpublic Map<String,String> getJobRestrictions(String specname)
getJobRestrictions in interface HBCIPassportgetJobRestrictions in interface HBCIPassportInternalpublic Map<String,String> getJobRestrictions(String gvname, String version)
getJobRestrictions in interface HBCIPassportInternalpublic Map<String,String> getSupportedLowlevelJobs()
Gibt die Namen aller vom aktuellen HBCI-Zugang (d.h. Passport) unterstützten Lowlevel-Jobs zurück.
In dem zurückgegebenen Properties-Objekt enthält jeder Eintrag als Key den Lowlevel-Job-Namen; als Value wird die Versionsnummer des jeweiligen Geschäftsvorfalls angegeben, die von HBCI4Java mit dem aktuellen Passport und der aktuell eingestellten HBCI-Version benutzt werden wird.
(Prinzipiell unterstützt HBCI4Java für jeden Geschäftsvorfall mehrere GV-Versionen. Auch eine Bank bietet i.d.R. für jeden GV mehrere Versionen an. Wird mit HBCI4Java ein HBCI-Job erzeugt, so verwendet HBCI4Java immer automatisch die höchste von der Bank unterstützte GV-Versionsnummer. Diese Information ist für den Anwendungsentwickler kaum von Bedeutung und dient hauptsächlich zu Debugging-Zwecken.)
Zum Unterschied zwischen High- und Lowlevel-Jobs siehe die
Beschreibung im Package org.kapott.hbci.GV.
getSupportedLowlevelJobs in interface HBCIPassportInternalpublic boolean jobSupported(String jobName)
jobSupported in interface HBCIPassportpublic Node getSyntaxDef(String type)
getSyntaxDef in interface HBCIPassportInternaltype - the name of the syntaxelement to be returnedpublic Map<String,String> getLowlevelJobRestrictions(String gvname)
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.
I.d.R. werden mehrere Versionen eines Geschäftsvorfalles von der Bank angeboten. Diese Methode ermittelt automatisch die "richtige" Versionsnummer für die Ermittlung der GV-Restriktionen aus den BPD (und zwar die selbe, die HBCI4Java beim Erzeugen eines Jobs benutzt).
Siehe dazu auch AbstractHBCIJob.getJobRestrictions().
getLowlevelJobRestrictions in interface HBCIPassportInternalgvname - Lowlevel-Name des Geschäftsvorfalles, für den die Restriktionen
ermittelt werden sollenpublic String getOrderHashMode(int segVersion)
getOrderHashMode in interface HBCIPassportInternalpublic HBCIProduct getHbciProduct()
getHbciProduct in interface HBCIPassportInternalpublic Document getSyntaxDocument()
getSyntaxDocument in interface HBCIPassportInternalpublic final Map<String,String> getBPD()
HBCIPassportgetBPD in interface HBCIPassportnull, falls diese nicht im
Passport vorhanden sindpublic void setBPD(Map<String,String> bpd)
setBPD in interface HBCIPassportInternalpublic final String getHBCIVersion()
HBCIPassportHBCIDialog verwendet werden kann. Um also
einen HBCIHandler zu erzeugen, der mit der HBCI-Version arbeitet, mit der
ein Passport-Objekt zuletzt benutzt wurde, so kann das mit
new HBCIHandler(passport.getHBCIVersion(),passport) erfolgen (vorausgesetzt,
passport.getHBCIVersion() gibt einen nicht-leeren String zurück.getHBCIVersion in interface HBCIPassportpublic final Map<String,String> getUPD()
HBCIPassportgetUPD in interface HBCIPassportnull, falls diese nicht im
Passport vorhanden sindpublic final void setUPD(Map<String,String> upd)
setUPD in interface HBCIPassportInternalpublic final String getBLZ()
HBCIPassportGibt die Bankleitzahl des Kreditinstitutes zurück. Bei Verwendung dieser Methode ist Vorsicht geboten, denn hier ist die Bankleitzahl der Bank gemeint, die den HBCI-Server betreibt. I.d.R. deckt sich diese BLZ zwar mit der BLZ der Konten des Bankkunden, es gibt aber auch Fälle, wo die BLZ, die mit dieser Methode ermittelt wird, anders ist als die BLZ bei den Kontoverbindungen des Kunden.
Für die Ermittlung der BLZ für die Kontodaten sollte statt dessen die Methode
HBCIPassport.getAccounts() benutzt werden.
getBLZ in interface HBCIPassportpublic final void setBLZ(String blz)
setBLZ in interface HBCIPassportpublic final String getCountry()
HBCIPassportDE".getCountry in interface HBCIPassportpublic final void setCountry(String country)
setCountry in interface HBCIPassportpublic int getMaxGVSegsPerMsg()
getMaxGVSegsPerMsg in interface HBCIPassportInternalpublic Map<String,String> getProperties()
getProperties in interface HBCIPassportgetProperties in interface HBCIPassportInternalpublic HBCICallback getCallback()
getCallback in interface HBCIPassportgetCallback in interface HBCIPassportInternalCopyright © 2019. All rights reserved.