Package org.kapott.hbci.manager
Class HBCIUtils
- java.lang.Object
-
- org.kapott.hbci.manager.HBCIUtils
-
public final class HBCIUtils extends Object
-
-
Constructor Summary
Constructors Constructor Description HBCIUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voidaddBankInfo(BankInfo bankInfo)static StringbigDecimal2String(BigDecimal value)static booleancheckAccountCRC(String blz, String number)Überprüft, ob gegebene BLZ und Kontonummer zueinander passen.static booleancheckAccountCRCByAlg(String alg, String number)Deprecated.static booleancheckAccountCRCByAlg(String alg, String blz, String number)Überprüfen einer Kontonummer mit einem gegebenen CRC-Algorithmus.static booleancheckCredtitorIdCRC(String creditorId)Überprüfen der Gültigkeit einer Gläubiger-ID.static booleancheckIBANCRC(String iban)Überprüfen der Gültigkeit einer IBAN.static Stringdata2hex(byte[] data)Wandelt ein Byte-Array in eine entsprechende hex-Darstellung um.static Stringdate2StringISO(Date date)Erzeugt einen String im Format YYYY-MM-DDstatic Stringdate2StringLocal(Date date)Wandelt ein gegebenes Datumsobjekt in einen String um.static Stringdatetime2StringISO(Date date)Erzeugt einen String im Format YYYY-MM-DD HH:MM:SSstatic Stringdatetime2StringLocal(Date date)Wandelt ein gegebenes Datums-Objekt in einen String um, der sowohl Datum als auch Uhrzeit enthält.static Stringexception2String(Exception e)Gibt den StackTrace einer Exception zurück.static Stringexception2StringShort(Exception e)Extrahieren der root-Exception aus einer Exception-Chain.static BankInfogetBankInfo(String blz)Liefert die Bank-Informationen zur angegebenen BLZ.static StringgetBICForBLZ(String blz)Deprecated.BittegetBankInfo(String)verwenden.static StringgetHBCIHostForBLZ(String blz)Deprecated.BittegetBankInfo(String)verwenden.static StringgetHBCIVersionForBLZ(String blz)Deprecated.BittegetBankInfo(String)verwenden.static StringgetIBANForKonto(Konto k)Berechnet die IBAN fuer ein angegebenes deutsches Konto.static LocalegetLocale()static StringgetLocMsg(String key)static StringgetLocMsg(String key, Object o)static StringgetLocMsg(String key, Object[] o)static StringgetNameForBLZ(String blz)Ermittelt zu einer gegebenen Bankleitzahl den Namen des Institutes.static StringgetPinTanURLForBLZ(String blz)Deprecated.BittegetBankInfo(String)verwenden.static StringgetPinTanVersionForBLZ(String blz)Deprecated.BittegetBankInfo(String)verwenden.static intgetPosiOfNextDelimiter(String st, int posi)static voidrefreshBLZList(InputStream in)Aktivieren einer neuen Bankenliste.static List<BankInfo>searchBankInfo(String query)Liefert eine Liste von Bank-Informationen, die zum angegebenen Suchbegriff passen.static BigDecimalstring2BigDecimal(String st)Konvertiert einen String in einen BigDecimal-Wert mit zwei Nachkommastellen.static Datestring2DateISO(String st)Wandelt einen String der Form YYYY-MM-DD in einDate-Objekt um.static Datestring2DateISO(String st, String format)static Datestring2DateLocal(String date)Wandelt einen String, der ein Datum in der lokalen Darstellung enthält (abhängig von der HBCI4Java-Locale, siehe Kernel-Parameterkernel.locale.*), in ein Datumsobjekt umstatic longstring2Long(String st, long factor)static Datestring2TimeISO(String st)Wandelt einen String der Form HH:MM:SS in einDate-Objekt umstatic Datestring2TimeLocal(String date)Wandelt einen String, der eine Uhrzeit in der lokalen Darstellung enthält (abhängig von der HBCI4Java-Locale, siehe Kernel-Parameterkernel.locale.*), in ein Datumsobjekt umstatic doublestring2Value(String st)Deprecated.static Datestrings2DateTimeISO(String date, String time)Erzeugt ein Datums-Objekt aus Datum und Uhrzeit in der String-Darstellung.static Datestrings2DateTimeLocal(String date, String time)Erzeugt ein Datums-Objekt aus Datum und Uhrzeit in der String-Darstellung.static StringstripLeadingZeroes(String st)static Stringtime2StringISO(Date date)Erzeugt einen String der Form HH:MM:SSstatic Stringtime2StringLocal(Date date)Wandelt ein gegebenes Datums-Objekt in einen String um, der die Uhrzeit enthält.static Stringvalue2String(double value)Deprecated.static Stringversion()Gibt die Versionsnummer der HBCI4Java-Bibliothek zurück.static StringwithCounter(String st, int idx)
-
-
-
Method Detail
-
getNameForBLZ
public static String getNameForBLZ(String blz)
Ermittelt zu einer gegebenen Bankleitzahl den Namen des Institutes.- Parameters:
blz- die Bankleitzahl- Returns:
- den Namen des dazugehörigen Kreditinstitutes. Falls die Bankleitzahl unbekannt ist, so wird ein leerer String zurückgegeben
-
getBankInfo
public static BankInfo getBankInfo(String blz)
Liefert die Bank-Informationen zur angegebenen BLZ.- Parameters:
blz- die BLZ.- Returns:
- die Bank-Informationen oder NULL, wenn zu der BLZ keine Informationen bekannt sind.
-
searchBankInfo
public static List<BankInfo> searchBankInfo(String query)
Liefert eine Liste von Bank-Informationen, die zum angegebenen Suchbegriff passen.- Parameters:
query- der Suchbegriff. Der Suchbegriff muss mindestens 3 Zeichen enthalten und ist nicht case-sensitive. Der Suchbegriff kann im Ort der Bank oder in deren Namen enthalten sein. Oder die BLZ oder BIC beginnt mit diesem Text.- Returns:
- die Liste der Bank-Informationen. Die Ergebnis-Liste ist nach BLZ sortiert. Die Funktion liefert niemals NULL sondern hoechstens eine leere Liste.
-
getBICForBLZ
public static String getBICForBLZ(String blz)
Deprecated.BittegetBankInfo(String)verwenden.Gibt zu einer gegebenen Bankleitzahl den BIC-Code zurück.- Parameters:
blz- Bankleitzahl der Bank- Returns:
- BIC-Code dieser Bank. Falls kein BIC-Code bekannt ist, wird ein leerer String zurückgegeben.
-
getIBANForKonto
public static String getIBANForKonto(Konto k)
Berechnet die IBAN fuer ein angegebenes deutsches Konto.- Parameters:
k- das Konto.- Returns:
- die berechnete IBAN.
-
getHBCIHostForBLZ
public static String getHBCIHostForBLZ(String blz)
Deprecated.BittegetBankInfo(String)verwenden.Gibt zu einer gegebenen Bankleitzahl den HBCI-Host (für RDH und DDV) zurück.- Parameters:
blz- Bankleitzahl der Bank- Returns:
- HBCI-Host (DNS-Name oder IP-Adresse). Falls kein Host bekannt ist, wird ein leerer String zurückgegeben.
-
getPinTanURLForBLZ
public static String getPinTanURLForBLZ(String blz)
Deprecated.BittegetBankInfo(String)verwenden.Gibt zu einer gegebenen Bankleitzahl die PIN/TAN-URL zurück.- Parameters:
blz- Bankleitzahl der Bank- Returns:
- PIN/TAN-URL. Falls keine URL bekannt ist, wird ein leerer String zurückgegeben.
-
getHBCIVersionForBLZ
public static String getHBCIVersionForBLZ(String blz)
Deprecated.BittegetBankInfo(String)verwenden.Gibt zu einer gegebenen Bankleitzahl zurück, welche HBCI-Version für DDV bzw. RDH zu verwenden ist. Siehe auchgetPinTanVersionForBLZ(String).- Parameters:
blz-- Returns:
- HBCI-Version
-
getPinTanVersionForBLZ
public static String getPinTanVersionForBLZ(String blz)
Deprecated.BittegetBankInfo(String)verwenden.Gibt zu einer gegebenen Bankleitzahl zurück, welche HBCI-Version für HBCI-PIN/TAN bzw. RDH zu verwenden ist. Siehe auchgetHBCIVersionForBLZ(String)- Parameters:
blz-- Returns:
- HBCI-Version
-
exception2String
public static String exception2String(Exception e)
Gibt den StackTrace einer Exception zurück.- Parameters:
e- Exception- Returns:
- kompletter StackTrace als String
-
exception2StringShort
public static String exception2StringShort(Exception e)
Extrahieren der root-Exception aus einer Exception-Chain.- Parameters:
e- Exception- Returns:
- String mit Infos zur root-Exception
-
data2hex
public static String data2hex(byte[] data)
Wandelt ein Byte-Array in eine entsprechende hex-Darstellung um.- Parameters:
data- das Byte-Array, für das eine Hex-Darstellung erzeugt werden soll- Returns:
- einen String, der für jedes Byte aus
datazwei Zeichen (0-9,A-F) enthält.
-
date2StringLocal
public static String date2StringLocal(Date date)
Wandelt ein gegebenes Datumsobjekt in einen String um. Das Format des erzeugten Strings ist abhängig vom gesetzten HBCI4Java-Locale (siehe Kernel-Parameterkernel.locale.*)- Parameters:
date- ein Datum- Returns:
- die lokalisierte Darstellung dieses Datums als String
-
string2DateLocal
public static Date string2DateLocal(String date)
Wandelt einen String, der ein Datum in der lokalen Darstellung enthält (abhängig von der HBCI4Java-Locale, siehe Kernel-Parameterkernel.locale.*), in ein Datumsobjekt um- Parameters:
date- ein Datum in der lokalen Stringdarstellung- Returns:
- ein entsprechendes Datumsobjekt
-
time2StringLocal
public static String time2StringLocal(Date date)
Wandelt ein gegebenes Datums-Objekt in einen String um, der die Uhrzeit enthält. Das Format des erzeugten Strings ist abhängig von der gesetzten HBCI4Java-Locale (siehe Kernel-Parameterkernel.locale.*).- Parameters:
date- ein Datumsobjekt- Returns:
- die lokalisierte Darstellung der Uhrzeit als String
-
string2TimeLocal
public static Date string2TimeLocal(String date)
Wandelt einen String, der eine Uhrzeit in der lokalen Darstellung enthält (abhängig von der HBCI4Java-Locale, siehe Kernel-Parameterkernel.locale.*), in ein Datumsobjekt um- Parameters:
date- eine Uhrzeit in der lokalen Stringdarstellung- Returns:
- ein entsprechendes Datumsobjekt
-
datetime2StringLocal
public static String datetime2StringLocal(Date date)
Wandelt ein gegebenes Datums-Objekt in einen String um, der sowohl Datum als auch Uhrzeit enthält. Das Format des erzeugten Strings ist abhängig von der gesetzten HBCI4Java-Locale (siehe Kernel-Parameterkernel.locale.*).- Parameters:
date- ein Datumsobjekt- Returns:
- die lokalisierte Darstellung des Datums-Objektes
-
strings2DateTimeLocal
public static Date strings2DateTimeLocal(String date, String time)
Erzeugt ein Datums-Objekt aus Datum und Uhrzeit in der String-Darstellung. Die String-Darstellung von Datum und Uhrzeit müssen dabei der aktuellen HBCI4Java-Locale entsprechen (siehe Kernel-Parameterkernel.locale.*)).- Parameters:
date- ein Datum in der lokalen Stringdarstellungtime- eine Uhrzeit in der lokalen Stringdarstellung (darfnullsein)- Returns:
- ein entsprechendes Datumsobjekt
-
date2StringISO
public static String date2StringISO(Date date)
Erzeugt einen String im Format YYYY-MM-DD
-
string2DateISO
public static Date string2DateISO(String st)
Wandelt einen String der Form YYYY-MM-DD in einDate-Objekt um.
-
time2StringISO
public static String time2StringISO(Date date)
Erzeugt einen String der Form HH:MM:SS
-
string2TimeISO
public static Date string2TimeISO(String st)
Wandelt einen String der Form HH:MM:SS in einDate-Objekt um
-
datetime2StringISO
public static String datetime2StringISO(Date date)
Erzeugt einen String im Format YYYY-MM-DD HH:MM:SS
-
strings2DateTimeISO
public static Date strings2DateTimeISO(String date, String time)
Erzeugt ein Datums-Objekt aus Datum und Uhrzeit in der String-Darstellung. Die String-Darstellung von Datum und Uhrzeit müssen dabei im ISO-Format vorlegen (Datum als yyyy-mm-dd, Zeit als hh:mm:ss). Der Parametertimedarf auchnullsein,datejedoch nicht.- Parameters:
date- ein Datum in der ISO-Darstellungtime- eine Uhrzeit in der ISO-Darstellung (darf auchnullsein)- Returns:
- ein entsprechendes Datumsobjekt
-
checkAccountCRC
public static boolean checkAccountCRC(String blz, String number)
Überprüft, ob gegebene BLZ und Kontonummer zueinander passen. Bei diesem Test wird wird die in die Kontonummer "eingebaute" Prüziffer verifiziert. Anhand der BLZ wird ermittelt, welches Prüfzifferverfahren zur Überprüfung eingesetzt werden muss.
Ein positives Ergebnis dieser Routine bedeutet nicht, dass das entsprechende Konto bei der Bank existiert, sondern nur, dass die Kontonummer bei der entsprechenden Bank prinzipiell gültig ist.
- Parameters:
blz- die Bankleitzahl der Bank, bei der das Konto geführt wirdnumber- die zu überprüfende Kontonummer- Returns:
truewenn die Kontonummer nicht verifiziert werden kann (z.B. weil das jeweilige Prüfzifferverfahren noch nicht in HBCI4Java implementiert ist) oder wenn die Prüfung erfolgreich verläuft;falsewird immer nur dann zurückgegeben, wenn tatsächlich ein Prüfzifferverfahren zum Überprüfen verwendet wurde und die Prüfung einen Fehler ergab
-
checkAccountCRCByAlg
public static boolean checkAccountCRCByAlg(String alg, String blz, String number)
Überprüfen einer Kontonummer mit einem gegebenen CRC-Algorithmus. Diese Methode wird intern voncheckAccountCRC(String, String)aufgerufen und kann für Debugging-Zwecke auch direkt benutzt werden.- Parameters:
alg- Nummer des zu verwendenden Prüfziffer-Algorithmus (siehe Dateiblz.properties).blz- zu überprüfende Bankleitzahlnumber- zu überprüfende Kontonummer- Returns:
false, wenn der Prüfzifferalgorithmus für die angegebene Kontonummer einen Fehler meldet, sonsttrue(siehe dazu auchcheckAccountCRC(String, String))
-
checkAccountCRCByAlg
public static boolean checkAccountCRCByAlg(String alg, String number)
Deprecated.UsecheckAccountCRCByAlg(String, String, String)instead!
-
checkIBANCRC
public static boolean checkIBANCRC(String iban)
Überprüfen der Gültigkeit einer IBAN. Diese Methode prüft anhand eines Prüfziffer-Algorithmus, ob die übergebene IBAN prinzipiell gültig ist.- Returns:
falsewenn der Prüfzifferntest fehlschlägt, sonsttrue
-
checkCredtitorIdCRC
public static boolean checkCredtitorIdCRC(String creditorId)
Überprüfen der Gültigkeit einer Gläubiger-ID. Diese Methode prüft anhand eines Prüfziffer-Algorithmus, ob die übergebene ID prinzipiell gültig ist.- Parameters:
creditorId- die zu pruefende Creditor-ID.- Returns:
falsewenn der Prüfzifferntest fehlschlägt, sonsttrue
-
refreshBLZList
public static void refreshBLZList(InputStream in) throws IOException
Aktivieren einer neuen Bankenliste. Diese Methode kann aufgerufen werden, um während der Laufzeit einer HBCI4Java-Anwendung eine neue Bankenliste zu aktivieren. Die Bankenliste wird aus dem übergebenen InputStream gelesen, welcher Daten im Format eines Java-Properties-Files liefern muss. Das konkrete Format der Property-Einträge der Bankenliste ist am Beispiel der bereits mitgelieferten Dateiblz.propertiesersichtlich.- Parameters:
in- Eingabe-Stream, der für das Laden der Bankleitzahlen-Daten verwendet werden soll- Throws:
IOException
-
addBankInfo
public static void addBankInfo(BankInfo bankInfo)
-
string2BigDecimal
public static BigDecimal string2BigDecimal(String st)
Konvertiert einen String in einen BigDecimal-Wert mit zwei Nachkommastellen.- Parameters:
st- String, der konvertiert werden soll (Format "1234.56");- Returns:
- BigDecimal-Wert
-
string2Value
@Deprecated public static double string2Value(String st)
Deprecated.Konvertiert einen String in einen double-Wert (entsprichtDouble.parseDouble(st)).- Parameters:
st- String, der konvertiert werden soll (Format "1234.56");- Returns:
- double-Wert
-
value2String
@Deprecated public static String value2String(double value)
Deprecated.Wandelt einen Double-Wert in einen String im Format "1234.56" um (also ohne Tausender-Trennzeichen und mit "." als Dezimaltrennzeichen).- Parameters:
value- zu konvertierender Double-Wert- Returns:
- String-Darstellung dieses Wertes
-
version
public static String version()
Gibt die Versionsnummer der HBCI4Java-Bibliothek zurück.- Returns:
- verwendete HBCI4Java-Version
-
bigDecimal2String
public static String bigDecimal2String(BigDecimal value)
-
string2Long
public static long string2Long(String st, long factor)
-
getPosiOfNextDelimiter
public static int getPosiOfNextDelimiter(String st, int posi)
-
getLocale
public static Locale getLocale()
-
-