public class HBCICallbackIOStreams extends AbstractHBCICallback
HBCICallbackConsole
ist eine abgeleitete Klasse, welche STDOUT und STDIN für die beiden
I/O-Streams verwendet.CLOSE_CONNECTION, HAVE_CHIPCARD, HAVE_CRC_ERROR, HAVE_ERROR, HAVE_HARDPIN, HAVE_IBAN_ERROR, HAVE_INST_MSG, NEED_BLZ, NEED_CHIPCARD, NEED_CONNECTION, NEED_COUNTRY, NEED_CUSTOMERID, NEED_HARDPIN, NEED_HOST, NEED_INFOPOINT_ACK, NEED_PASSPHRASE_LOAD, NEED_PASSPHRASE_SAVE, NEED_PORT, NEED_PROXY_PASS, NEED_PROXY_USER, NEED_PT_PHOTOTAN, NEED_PT_PIN, 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_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 and Description |
|---|
HBCICallbackIOStreams(PrintStream outStream,
BufferedReader inStream)
Instanz mit vorgegebenem OUT- und INPUT-Stream erzeugen.
|
| Modifier and Type | Method and Description |
|---|---|
void |
callback(int reason,
List<String> msg,
int datatype,
StringBuilder retData)
Diese Methode reagiert auf alle möglichen Callback-Ursachen.
|
protected String |
createDefaultLogLine(String msg,
int level,
Date date,
StackTraceElement trace)
Erzeugt einen Log-Eintrag.
|
protected BufferedReader |
getInStream()
Gibt des INPUT-Stream zurück.
|
protected PrintStream |
getOutStream()
Gibt den verwendeten OUTPUT-Stream zurück.
|
void |
log(String msg,
int level,
Date date,
StackTraceElement trace)
Schreiben von Logging-Ausgaben in einen
PrintStream. |
String |
needTAN() |
protected void |
setInStream(BufferedReader in)
TODO: doc
|
protected void |
setOutStream(PrintStream out)
TODO: doc
|
void |
status(int statusTag,
Object[] o)
Wird diese Methode von HBCI4Java aufgerufen, so wird der aktuelle
Bearbeitungsschritt (mit evtl.
|
void |
tanChallengeCallback(String orderRef,
String challenge,
String challenge_hhd_uc,
HHDVersion.Type type) |
statuspublic HBCICallbackIOStreams(PrintStream outStream, BufferedReader inStream)
outStream - Stream, welcher für die Ausgabe verwendet wird.inStream - Stream, der für das Einlesen von Antworten verwendet wirdprotected BufferedReader getInStream()
protected void setInStream(BufferedReader in)
protected PrintStream getOutStream()
protected void setOutStream(PrintStream out)
public void log(String msg, int level, Date date, StackTraceElement trace)
PrintStream. Diese Methode implementiert die
Logging-Schnittstelle
des HBCICallback-Interfaces. Die Log-Informationen,
die dieser Methode übergeben werden, werden formatiert auf dem jeweiligen outStream 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-Messagepublic void callback(int reason,
List<String> msg,
int datatype,
StringBuilder retData)
outStream 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 vom inStream gelesen.callback in interface HBCICallbackcallback in class AbstractHBCICallbackreason - 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.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.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.public void tanChallengeCallback(String orderRef, String challenge, String challenge_hhd_uc, HHDVersion.Type type)
tanChallengeCallback in interface HBCICallbacktanChallengeCallback in class AbstractHBCICallbackpublic String needTAN()
needTAN in interface HBCICallbackneedTAN in class AbstractHBCICallbackpublic void status(int statusTag,
Object[] o)
outStream ausgegeben.status in interface HBCICallbackstatus in class AbstractHBCICallbackstatusTag - 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.protected String createDefaultLogLine(String msg, int level, Date date, StackTraceElement trace)
log-MethodeCopyright © 2019. All rights reserved.