Package org.kapott.hbci.callback
Class HBCICallbackSwing
- java.lang.Object
-
- org.kapott.hbci.callback.AbstractHBCICallback
-
- org.kapott.hbci.callback.HBCICallbackIOStreams
-
- org.kapott.hbci.callback.HBCICallbackConsole
-
- org.kapott.hbci.callback.HBCICallbackSwing
-
- All Implemented Interfaces:
HBCICallback
- Direct Known Subclasses:
HBCICallbackSwingInternal
public class HBCICallbackSwing extends HBCICallbackConsole
Default-Implementation einer Callback-Klasse für Anwendungen mit GUI. Diese Klasse überschreibt diecallback()
-Methode. Benötigte Nutzereingaben werden hier nicht mehr über STDIN abgefragt, sondern es wird ein neues Top-Level-Window erzeugt, welches die entsprechende Meldung sowie ein Feld zur Eingabe der Antwort enthält. Kernel-Meldungen und erwartete Nutzeraktionen werden ebenfalls durch ein neues Top-Level-Window realisiert. Die Methodenlog()
undstatus()
werden nicht überschrieben, so dass diese weiterhin das Verhalten derHBCICallbackConsole
-Klasse zeigen.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
HBCICallbackSwing.SyncObject
-
Field Summary
Fields Modifier and Type Field Description static boolean
ACTION_BLOCKING
static boolean
ACTION_NOT_BLOCKING
static boolean
DIALOG_MODAL
static boolean
DIALOG_NOT_MODAL
protected java.util.Hashtable<HBCIPassport,java.util.Hashtable<java.lang.String,java.lang.Object>>
passports
-
Fields inherited from interface org.kapott.hbci.callback.HBCICallback
CLOSE_CONNECTION, HAVE_CHIPCARD, HAVE_CRC_ERROR, HAVE_ERROR, HAVE_HARDPIN, HAVE_IBAN_ERROR, HAVE_INST_MSG, HAVE_NEW_MY_KEYS, NEED_BLZ, NEED_CHIPCARD, NEED_CONNECTION, NEED_COUNTRY, NEED_CUSTOMERID, NEED_FILTER, NEED_HARDPIN, NEED_HOST, NEED_INFOPOINT_ACK, NEED_NEW_INST_KEYS_ACK, NEED_PASSPHRASE_LOAD, NEED_PASSPHRASE_SAVE, NEED_PORT, NEED_PROXY_PASS, NEED_PROXY_USER, NEED_PT_DECOUPLED, NEED_PT_PHOTOTAN, NEED_PT_PIN, NEED_PT_QRTAN, NEED_PT_SECMECH, NEED_PT_TAN, NEED_PT_TANMEDIA, NEED_REMOVE_CHIPCARD, NEED_SIZENTRY_SELECT, NEED_SOFTPIN, NEED_USERID, STATUS_DIALOG_END, STATUS_DIALOG_END_DONE, STATUS_DIALOG_INIT, STATUS_DIALOG_INIT_DONE, STATUS_INIT_SIGID, STATUS_INIT_SIGID_DONE, STATUS_INIT_SYSID, STATUS_INIT_SYSID_DONE, STATUS_INIT_UPD, STATUS_INIT_UPD_DONE, STATUS_INST_BPD_INIT, STATUS_INST_BPD_INIT_DONE, STATUS_INST_GET_KEYS, STATUS_INST_GET_KEYS_DONE, STATUS_LOCK_KEYS, STATUS_LOCK_KEYS_DONE, STATUS_MSG_CREATE, STATUS_MSG_CRYPT, STATUS_MSG_DECRYPT, STATUS_MSG_PARSE, STATUS_MSG_RAW_RECV, STATUS_MSG_RAW_RECV_ENCRYPTED, STATUS_MSG_RAW_SEND, STATUS_MSG_RECV, STATUS_MSG_SEND, STATUS_MSG_SIGN, STATUS_MSG_VERIFY, STATUS_SEND_INFOPOINT_DATA, STATUS_SEND_KEYS, STATUS_SEND_KEYS_DONE, STATUS_SEND_TASK, STATUS_SEND_TASK_DONE, TYPE_BOOLEAN, TYPE_NONE, TYPE_SECRET, TYPE_TEXT, USERID_CHANGED, WRONG_PIN
-
-
Constructor Summary
Constructors Constructor Description HBCICallbackSwing()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
ackInstKeys(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
void
callback(HBCIPassport passport, int reason, java.lang.String msg, int datatype, java.lang.StringBuffer retData)
Diese Methode reagiert auf alle möglichen Callback-Ursachen.private void
correctAccountData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
correctIBANData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
protected java.awt.Container
createWin(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String title, java.lang.String winname)
protected void
drawWin(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
handleError(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
haveNewMyKeys(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
needAction(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, boolean blocking, java.lang.String winname)
private void
needProxyData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData)
private void
needPTSecMech(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
needRDHData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData)
private void
needSecret(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
needSIZEntrySelect(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
private void
removeActionWindow(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
protected void
removeWin(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
protected void
showConnectionMessage(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
protected void
showInstMessage(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
protected void
showInstMessage(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname, boolean blocking)
-
Methods inherited from class org.kapott.hbci.callback.HBCICallbackIOStreams
getInStream, getOutStream, log, readLine, setInStream, setOutStream, status
-
Methods inherited from class org.kapott.hbci.callback.AbstractHBCICallback
createDefaultLogLine, status, useThreadedCallback
-
-
-
-
Field Detail
-
ACTION_BLOCKING
public static final boolean ACTION_BLOCKING
- See Also:
- Constant Field Values
-
ACTION_NOT_BLOCKING
public static final boolean ACTION_NOT_BLOCKING
- See Also:
- Constant Field Values
-
DIALOG_MODAL
public static final boolean DIALOG_MODAL
- See Also:
- Constant Field Values
-
DIALOG_NOT_MODAL
public static final boolean DIALOG_NOT_MODAL
- See Also:
- Constant Field Values
-
passports
protected java.util.Hashtable<HBCIPassport,java.util.Hashtable<java.lang.String,java.lang.Object>> passports
-
-
Method Detail
-
callback
public void callback(HBCIPassport passport, int reason, java.lang.String msg, int datatype, java.lang.StringBuffer retData)
Description copied from class:HBCICallbackIOStreams
Diese Methode reagiert auf alle möglichen Callback-Ursachen. Bei Callbacks, die nur Informationen an den Anwender übergeben sollen, werden diese auf demoutStream
ausgegeben. Bei Callbacks, die Aktionen vom Anwender erwarten (Einlegen der Chipkarte), wird eine entsprechende Aufforderung ausgegeben. Bei Callbacks, die eine Eingabe vom Nutzer erwarten, wird die entsprechende Eingabeaufforderung ausgegeben und die Eingabe vominStream
gelesen.- Specified by:
callback
in interfaceHBCICallback
- Overrides:
callback
in classHBCICallbackIOStreams
- Parameters:
passport
- enthält das Passport-Objekt, bei dessen Benutzung der Callback erzeugt wurde. Falls also in einer Anwendung mehrere Passport-Objekte gleichzeitig benutzt werden, so kann anhand dieses Parameters festgestellt werden, welches Passport (und damit welches HBCIHandle) HBCI4Java gerade benutzt.reason
- gibt den Grund für diesen Aufruf an. Dieser Parameter kann alle Werte annehmen, die als "Ursache des Callback-Aufrufes" in der Dokumentation aufgeführt sind. Je nach Wert dieses Parameters werden vom Nutzer Aktionen oder Eingaben erwartet.msg
- ein Hinweistext, der den Grund des Callbacks näher beschreibt. Dieser Parameter muss nicht ausgewertet werden, der Parameterreason
ist bereits eindeutig. Er dient nur dazu, bei Anwendungen, die nicht für jeden Ursache des Callback-Aufrufes einen eigenen Hinweistext bereitstellen wollen, eine Art default-Wert für den anzuzeigenden Text bereitzustellen.datatype
- legt fest, welchen Datentyp die vom HBCI-Kernel erwarteten Antwortdaten haben müssen. Ist dieser Wert gleichTYPE_NONE
, so werden keine Antwortdaten (also keine Nutzereingabe) erwartet, beiTYPE_SECRET
undTYPE_TEXT
wird ein normaler String erwartet.
Der Unterschied zwischen beiden ist der, dass beiTYPE_SECRET
sensible Daten (Passwörter usw.) eingegeben werden sollen, so dass die Eingaberoutine evtl. anders arbeiten muss (z.B. Sternchen anstatt dem eingegebenen Text darstellen).retData
- In diesem StringBuffer-Objekt müssen die Antwortdaten abgelegt werden. Beim Aufruf der Callback-Methode von HBCI4Java wird dieser StringBuffer u.U. mit einem vorgeschlagenen default-Wert für die Nutzereingabe gefüllt.
-
needSecret
private void needSecret(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
correctAccountData
private void correctAccountData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
correctIBANData
private void correctIBANData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
needRDHData
private void needRDHData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData)
-
needProxyData
private void needProxyData(java.util.Hashtable<java.lang.String,java.lang.Object> currentData)
-
needAction
private void needAction(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, boolean blocking, java.lang.String winname)
-
removeActionWindow
private void removeActionWindow(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
ackInstKeys
private void ackInstKeys(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
handleError
private void handleError(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
haveNewMyKeys
private void haveNewMyKeys(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
showInstMessage
protected void showInstMessage(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
showInstMessage
protected void showInstMessage(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname, boolean blocking)
-
showConnectionMessage
protected void showConnectionMessage(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
needSIZEntrySelect
private void needSIZEntrySelect(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
needPTSecMech
private void needPTSecMech(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
createWin
protected java.awt.Container createWin(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String title, java.lang.String winname)
-
removeWin
protected void removeWin(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
drawWin
protected void drawWin(java.util.Hashtable<java.lang.String,java.lang.Object> currentData, java.lang.String winname)
-
-