# Allgemeines

HBCI4Java ist ein Java-Paket, welches HBCI-Funktionalität für Java-Anwendungen bereitstellt.

Diese Dokumentation ist bewusst Deutsch gehalten, da es HBCI meines Wissens nur in Deutschland gibt und somit die Wahrscheinlichkeit, dass ausländische (bzw. nicht deutsch-sprechende) Entwickler dieses Java-Paket einsetzen wollen, als eher gering einzuschätzen ist. Falls dennoch Bedarf an einer anderssprachigen Dokumentation besteht -- es ist nicht verboten, diesen Text zu übersetzen ;-)

Die wichtigsten Klassen für die Integration in eigene Anwendungen sind `HBCIPassport` sowie `HBCIHandler`.
Das Interface `HBCIPassport` stellt die Schnittstelle zu den HBCI-Sicherheitsmedien dar. HBCI4Java unterstützt verschiedene Sicherheitsmedien und -verfahren, welche jedoch alle über dieses Interface angesprochen werden.
Über Instanzen der Klasse `HBCIHandler` kann die Anwendung die bereitgestellten HBCI-Funktionen nutzen.

Außerdem benötigt eine Anwendung Methoden der Klasse `HBCIUtils` sowie `HBCICallback`-Instanzen.

Eine kleine Vorlage zur Benutzung von HBCI4Java stellt das Tool `InitAndTest` dar. Der Sourcecode zu diesem Tool ist im src-Paket enthalten. Darin werden die grundlegendsten Funktionen von HBCI4Java demonstriert. Außerdem kann das Tool `AnalyzeReportOfTransactions` als Vorlage für ein Tool benutzt werden, mit welchem regelmäßig Kontoauszüge abgeholt und ausgewertet werden können.

Noch eine Anmerkung zu dieser Dokumentation: zur Erzeugung wurde `javadoc` verwendet, allerdings mit einem modifizierten Doclet. Dieses modifizierte Doclet hat die Aufgabe, Klassen, Felder und Methoden, die nicht von außen (also von einer Anwendung aus) benutzt werden sollen, aus der Dokumentation zu entfernen. Bei Erzeugung dieser Dokumentation mit dem Standard-Doclet werden diese zusätzlichen Elemente wieder sichtbar. Diese sind zum großen Teil nicht ordentlich dokumentiert und sollten auch nicht benutzt werden! Bei Benutzung von nichtdokumentierten Klassen oder Methoden kann es zu schwer nachvollziehbaren Fehlern kommen.