org.kapott.hbci.callback
Class HBCICallbackConsole

java.lang.Object
  |
  +--org.kapott.hbci.callback.AbstractHBCICallback
        |
        +--org.kapott.hbci.callback.HBCICallbackConsole
All Implemented Interfaces:
HBCICallback
Direct Known Subclasses:
HBCICallbackSwing

public class HBCICallbackConsole
extends AbstractHBCICallback

Default-Implementation einer Callback-Klasse für textbasierte Anwendungen. Diese Klasse ist eine vollständig funktionsfähige Callback-Klasse und kann direkt in eigenen Anwendungen benutzt werden. Dabei werden alle Aus- und Eingaben auf der Konsole vorgenommen, d.h. es werden keine GUI-Elemente erzeugt.


Field Summary
 
Fields inherited from interface org.kapott.hbci.callback.HBCICallback
CLOSE_CONNECTION, HAVE_CHIPCARD, HAVE_CRC_ERROR, HAVE_ERROR, HAVE_HARDPIN, HAVE_INST_MSG, HAVE_NEW_MY_KEYS, NEED_BLZ, NEED_CHIPCARD, NEED_CONNECTION, NEED_COUNTRY, NEED_CUSTOMERID, NEED_FILTER, NEED_HARDPIN, NEED_HOST, NEED_NEW_INST_KEYS_ACK, NEED_PASSPHRASE_LOAD, NEED_PASSPHRASE_SAVE, NEED_PORT, NEED_PT_PIN, NEED_PT_TAN, 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_RECV, STATUS_MSG_SEND, STATUS_MSG_SIGN, STATUS_MSG_VERIFY, STATUS_SEND_KEYS, STATUS_SEND_KEYS_DONE, STATUS_SEND_TASK, STATUS_SEND_TASK_DONE, TYPE_BOOLEAN, TYPE_NONE, TYPE_SECRET, TYPE_TEXT
 
Method Summary
 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.
 void log(java.lang.String msg, int level, java.util.Date date, java.lang.StackTraceElement trace)
          Schreiben von Logging-Ausgaben auf STDOUT.
 void status(HBCIPassport passport, int statusTag, java.lang.Object[] o)
          Wird diese Methode von HBCI4Java aufgerufen, so wird der aktuelle Bearbeitungsschritt (mit evtl. vorhandenen zusätzlichen Informationen) auf STDOUT ausgegeben.
 

Method Detail

log

public void log(java.lang.String msg,
                int level,
                java.util.Date date,
                java.lang.StackTraceElement trace)
Schreiben von Logging-Ausgaben auf STDOUT. Diese Methode implementiert die Logging-Schnittstelle des HBCICallback-Interfaces. Die Log-Informationen, die dieser Methode übergeben werden, werden formatiert auf STDOUT ausgegeben. In dem ausgegebenen String sind in enthalten das Log-Level der Message, ein Zeitstempel im Format "yyyy.MM.dd HH:mm:ss.SSS", die Namen der ThreadGroup und des Threads, aus dem heraus die Log-Message erzeugt wurde, der Klassenname der Klasse, welche die Log-Ausgabe erzeugt hat sowie die eigentliche Log-Message

Parameters:
msg - die eigentliche Text-Meldung des HBCI-Kernels
level - Loglevel, welcher die "Wichtigkeit" dieser Meldung angibt. Die möglichen Werte dafür sind in HBCIUtils definiert und lauten
  • LOG_CHIPCARD
  • LOG_DEBUG
  • LOG_INFO
  • LOG_WARN
  • LOG_ERR
date - Zeitpunkt, zu dem die Logausgabe generiert wurde
trace - ein StackTrace-Element, welches die Stelle im Code beschreibt, an der die Logausgabe erzeugt wurde (kann benutzt werden, um die Klasse, Methode, Zeilennummer etc. des Aufrufes zu ermitteln)

callback

public 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. Bei Callbacks, die nur Informationen an den Anwender übergeben sollen, werden diese auf STDOUT ausgegeben. Bei Callbacks, die Aktionen vom Anwender erwarten (Einlegen der Chipkarte), wird eine entsprechende Aufforderung auf STDOUT ausgegeben. Bei Callbacks, die eine Eingabe vom Nutzer erwarten, wird die entsprechende Eingabeaufforderung auf STDOUT ausgegeben und die Eingabe von STDIN gelesen.

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 Parameter reason 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 gleich TYPE_NONE, so werden keine Antwortdaten (also keine Nutzereingabe) erwartet, bei TYPE_SECRET und TYPE_TEXT wird ein normaler String erwartet.
Der Unterschied zwischen beiden ist der, dass bei TYPE_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.

status

public void status(HBCIPassport passport,
                   int statusTag,
                   java.lang.Object[] o)
Wird diese Methode von HBCI4Java aufgerufen, so wird der aktuelle Bearbeitungsschritt (mit evtl. vorhandenen zusätzlichen Informationen) auf STDOUT ausgegeben.

Parameters:
passport - gibt an, welches Passport (und damit welches HBCIHandle) benutzt wurde, als der Callback erzeugt wurde (siehe auch callback(...)).
statusTag - gibt an, welche Stufe der Abarbeitung gerade erreicht wurde (alle oben beschriebenen Konstanten, die mit STATUS_ beginnen)
o - ein Array aus Objekten, das zusätzliche Informationen zum jeweiligen Status enthält. In den meisten Fällen handelt es sich um einen String, der zusätzliche Informationen im Klartext enthält. Welche Informationen das jeweils sind, ist der Beschreibung zu den einzelnen STATUS_*-Tag-Konstanten zu entnehmen.