Package de.willuhn.jameica.hbci

# Class HBCIProperties

java.lang.Object
de.willuhn.jameica.hbci.HBCIProperties

public class HBCIProperties extends Object
enthaelt HBCI-Parameter.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`CURRENCY_DEFAULT_DE`
Default-Waehrungs-Bezeichnung in Deutschland.
`static final int`
`HBCI_ADDKEY_MAXLENGTH`
Maximale Laenge eines Textschluessels.
`static final int`
`HBCI_BIC_MAXLENGTH`
Maximale Laenge einer BIC.
`static final String`
`HBCI_BIC_VALIDCHARS`
Liste der in einer BIC erlaubten Zeichen.
`static final int`
`HBCI_BLZ_LENGTH`
Laenge von Bankleitzahlen.
`static final String`
`HBCI_BLZ_VALIDCHARS`
Liste der in Bankleitzahlen erlaubten Zeichen.
`static final String`
`HBCI_BZU_VALIDCHARS`
Liste der in der BZÜ-Pruefziffer erlaubten Zeichen.
`static final String`
`HBCI_DTAUS_VALIDCHARS`
Liste der in DTAUS erlaubten Zeichen.
`static final int`
`HBCI_GVCODE_MAXLENGTH`
Maximale Laenge eines GV-Code.
`static final int`
`HBCI_IBAN_MAXLENGTH`
Maximale Laenge einer IBAN.
`static final String`
`HBCI_IBAN_VALIDCHARS`
Liste der in einer IBAN erlaubten Zeichen.
`static final int`
`HBCI_ID_MAXLENGTH`
Maximale Laenge des Datentyps "ID" in der HBCI-Spec.
`static final int`
`HBCI_KTO_MAXLENGTH_HARD`
Das harte Limit fuer Kontonummern, die CRC-Checks bestehen sollen
`static final int`
`HBCI_KTO_MAXLENGTH_SOFT`
Maximale Laenge einer Kontonummer.
`static final String`
`HBCI_KTO_VALIDCHARS`
BUGZILLA 280 Liste der in Kontonummern erlaubten Zeichen.
`static final int`
`HBCI_LAST_OF_MONTH`
Reservierter Tag fuer "Monatsletzten".
`static final int`
`HBCI_PIN_MAXLENGTH`
Maximale Laenge fuer PINs.
`static final int`
`HBCI_PIN_MINLENGTH`
Minimale Laenge fuer PINs.
`static final int`
`HBCI_SEPA_CREDITORID_MAXLENGTH`
Maximale Laenge der Glaeubiger-ID bei SEPA.
`static final int`
`HBCI_SEPA_ENDTOENDID_MAXLENGTH`
Maximale Laenge der EndtoEnd-ID bei SEPA.
`static final String`
`HBCI_SEPA_MANDATE_VALIDCHARS`
Liste der fuer die Mandate-ID gueltigen Zeichen.
`static final int`
`HBCI_SEPA_MANDATEID_MAXLENGTH`
Maximale Laenge der Mandate-ID bei SEPA.
`static final boolean`
`HBCI_SEPA_PARSE_TAGS`
SEPA-Tags parsen?
`static final String`
`HBCI_SEPA_PMTINF_VALIDCHARS`
Liste der fuer die Referenz gueltigen Zeichen.
`static final int`
`HBCI_SEPA_PURPOSECODE_MAXLENGTH`
Maximale Laenge des Purpose-Codes bei SEPA.
`static final String`
`HBCI_SEPA_PURPOSECODE_VALIDCHARS`
Liste der in Purpose-Codes erlaubten Zeichen.
`static final String`
`HBCI_SEPA_VALIDCHARS`
Liste der in SEPA erlaubten Zeichen.
`static final int`
`HBCI_SEPATRANSFER_USAGE_MAXLENGTH`
Maximale Text-Laenge einer Verwendungszweck-Zeile bei SEPA-Auftraegen.
`static final int`
`HBCI_TRANSFER_BZU_LENGTH`
Laenge der Pruefziffern bei BZÜ-Ueberweisung.
`static final int`
`HBCI_TRANSFER_NAME_MAXLENGTH`
Maximale Text-Laenge fuer Namen.
`static final int`
`HBCI_TRANSFER_USAGE_DB_MAXLENGTH`
Maximale Text-Laenge einer Verwendungszweck-Zeile.
`static final int`
`HBCI_TRANSFER_USAGE_MAXLENGTH`
Maximale Text-Laenge einer Verwendungszweck-Zeile.
`static final int`
`HBCI_TRANSFER_USAGE_MAXNUM`
Maximale Anzahl von Verwendungszwecken.
`static final String[][]`
`TEXT_REPLACEMENTS_SEPA`
Text-Replacements fuer SEPA.
`static final String[][]`
`TEXT_REPLACEMENTS_UMSATZ`
Text-Replacements fuer Umsatz-Properties.
`static final int`
`UMSATZ_DEFAULT_DAYS`
Default-Anzahl von anzuzeigenden Tagen in der Umsatz-Preview.

## Method Summary

Modifier and Type
Method
Description
`static final boolean`
`checkAccountCRC(String blz, String kontonummer)`
Prueft die Gueltigkeit der BLZ/Kontonummer-Kombi anhand von Pruefziffern.
`static final String`
`checkBIC(String bic)`
Prueft die BIC und liefert eine ggf korrigierte Version zurueck.
`static final void`
`checkChars(String chars, String validChars)`
Prueft die uebergebenen Strings auf Vorhandensein nicht erlaubter Zeichen.
`static final boolean`
`checkCreditorIdCRC(String creditorId)`
Prueft die Gueltigkeit einer Creditor-ID (Gläubiger-Identifikationsnummer) anhand von Pruefziffern.
`static final void`
`checkIBAN(String iban)`
Prueft die IBAN auf Gueltigkeit.
`static final boolean`
`checkIBANCRC(String iban)`
Deprecated.
Bitte `checkIBAN(String)` verwenden.
`static final void`
`checkLength(String chars, int maxLength)`
BUGZILLA 232 Prueft den uebergebenen String auf korrekte Laenge.
`static final String`
`clean(String text, String validChars)`
Bereinigt einen Text um die nicht erlaubten Zeichen.
`static Date`
`endOfDay(Date date)`
Deprecated.
Bitte kuenftig direkt `DateUtil.endOfDay(Date)` verwenden.
`static final String`
`formatIban(String s)`
Gruppiert eine IBAN in Gruppen zu je 4 Zeichen und schreibt die ersten beiden Buchstaben (Laenderkennzeichen) gross.
`static org.kapott.hbci.manager.BankInfo`
`getBankInfo(String blz)`
Liefert die Bankdaten fuer die Bank.
`static Throwable`
`getCause(Throwable t)`
Laeuft den Stack der Exceptions bis zur urspruenglichen hoch und liefert sie zurueck.
`static Throwable`
`getCause(Throwable t, Class<? extends Throwable> c)`
Laeuft den Stack der Exceptions bis zur urspruenglichen hoch und liefert sie zurueck.
`static Set<String>`
`getCustomerIDs(org.kapott.hbci.passport.HBCIPassport passport)`
Ermittelt die Customer-IDs aus dem Passport.
`static final de.jost_net.OBanToo.SEPA.IBAN`
`getIBAN(String iban)`
Erzeugt eine IBAN aus dem String und fuehrt diverse Pruefungen auf dieser durch.
`static final de.jost_net.OBanToo.SEPA.IBAN`
`getIBAN(String blz, String konto)`
Erzeugt die IBAN aus der uebergebenen Bankverbindung.
`static final String`
`getNameForBank(String bic)`
Ermittelt zu einer BIC oder BLZ den Namen der Bank.
`static final String`
`group(String s, int len, String sep)`
Gruppiert den String alle `len` Zeichen in Bloecke, die durch den String `sep` getrennt sind.
`static final String`
`replace(String text, String[][] replacements)`
Ersetzt im Text Strings entsprechend der Replacements.
`static Date`
`startOfDay(Date date)`
Deprecated.
Bitte kuenftig direkt `DateUtil.startOfDay(Date)` verwenden.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### HBCI_DTAUS_VALIDCHARS

public static final String HBCI_DTAUS_VALIDCHARS
Liste der in DTAUS erlaubten Zeichen.

### HBCI_SEPA_VALIDCHARS

public static final String HBCI_SEPA_VALIDCHARS
Liste der in SEPA erlaubten Zeichen. Siehe http://www.ebics.de/fileadmin/unsecured/anlage3/anlage3_spec/Anlage_3_DatenformateV2.6.pdf Absatz 2.1, BUGZILLA 1244

### HBCI_SEPA_MANDATE_VALIDCHARS

public static final String HBCI_SEPA_MANDATE_VALIDCHARS
Liste der fuer die Mandate-ID gueltigen Zeichen. RestrictedIdentificationSEPA2.

### HBCI_SEPA_PMTINF_VALIDCHARS

public static final String HBCI_SEPA_PMTINF_VALIDCHARS
Liste der fuer die Referenz gueltigen Zeichen. RestrictedIdentificationSEPA1.

### HBCI_IBAN_VALIDCHARS

public static final String HBCI_IBAN_VALIDCHARS
Liste der in einer IBAN erlaubten Zeichen.

### HBCI_BIC_VALIDCHARS

public static final String HBCI_BIC_VALIDCHARS
Liste der in einer BIC erlaubten Zeichen.

### HBCI_SEPA_PURPOSECODE_VALIDCHARS

public static final String HBCI_SEPA_PURPOSECODE_VALIDCHARS
Liste der in Purpose-Codes erlaubten Zeichen.

### HBCI_BLZ_VALIDCHARS

public static final String HBCI_BLZ_VALIDCHARS
Liste der in Bankleitzahlen erlaubten Zeichen.

### HBCI_BZU_VALIDCHARS

public static final String HBCI_BZU_VALIDCHARS
Liste der in der BZÜ-Pruefziffer erlaubten Zeichen.

### HBCI_KTO_VALIDCHARS

public static final String HBCI_KTO_VALIDCHARS
BUGZILLA 280 Liste der in Kontonummern erlaubten Zeichen.

### HBCI_TRANSFER_USAGE_MAXLENGTH

public static final int HBCI_TRANSFER_USAGE_MAXLENGTH
Maximale Text-Laenge einer Verwendungszweck-Zeile.

### HBCI_TRANSFER_USAGE_DB_MAXLENGTH

public static final int HBCI_TRANSFER_USAGE_DB_MAXLENGTH
Maximale Text-Laenge einer Verwendungszweck-Zeile.

### HBCI_GVCODE_MAXLENGTH

public static final int HBCI_GVCODE_MAXLENGTH
Maximale Laenge eines GV-Code.

### HBCI_ADDKEY_MAXLENGTH

public static final int HBCI_ADDKEY_MAXLENGTH
Maximale Laenge eines Textschluessels.

### HBCI_TRANSFER_BZU_LENGTH

public static final int HBCI_TRANSFER_BZU_LENGTH
Laenge der Pruefziffern bei BZÜ-Ueberweisung.

### HBCI_SEPATRANSFER_USAGE_MAXLENGTH

public static final int HBCI_SEPATRANSFER_USAGE_MAXLENGTH
Maximale Text-Laenge einer Verwendungszweck-Zeile bei SEPA-Auftraegen.

### HBCI_TRANSFER_USAGE_MAXNUM

public static final int HBCI_TRANSFER_USAGE_MAXNUM
Maximale Anzahl von Verwendungszwecken.

### HBCI_KTO_MAXLENGTH_SOFT

public static final int HBCI_KTO_MAXLENGTH_SOFT
Maximale Laenge einer Kontonummer. Sollte eigentlich 10-stellig sein, da die CRC-Pruefungen ohnehin nur bis dahin gelten. Aber fuer den Fall, dass auch mal noch VISA-Konten unterstuetzt werden, lass ich es vorerst mal auf 16 Stellen stehen und deklarieren es als "weiches" Limit.

### HBCI_KTO_MAXLENGTH_HARD

public static final int HBCI_KTO_MAXLENGTH_HARD
Das harte Limit fuer Kontonummern, die CRC-Checks bestehen sollen

### HBCI_IBAN_MAXLENGTH

public static final int HBCI_IBAN_MAXLENGTH
Maximale Laenge einer IBAN.

### HBCI_BIC_MAXLENGTH

public static final int HBCI_BIC_MAXLENGTH
Maximale Laenge einer BIC.

### HBCI_ID_MAXLENGTH

public static final int HBCI_ID_MAXLENGTH
Maximale Laenge des Datentyps "ID" in der HBCI-Spec.

### HBCI_LAST_OF_MONTH

public static final int HBCI_LAST_OF_MONTH
Reservierter Tag fuer "Monatsletzten".

### HBCI_BLZ_LENGTH

public static final int HBCI_BLZ_LENGTH
Laenge von Bankleitzahlen.

### HBCI_TRANSFER_NAME_MAXLENGTH

public static final int HBCI_TRANSFER_NAME_MAXLENGTH
Maximale Text-Laenge fuer Namen.

### CURRENCY_DEFAULT_DE

public static final String CURRENCY_DEFAULT_DE
Default-Waehrungs-Bezeichnung in Deutschland.

### HBCI_PIN_MAXLENGTH

public static final int HBCI_PIN_MAXLENGTH
Maximale Laenge fuer PINs.

### HBCI_PIN_MINLENGTH

public static final int HBCI_PIN_MINLENGTH
Minimale Laenge fuer PINs.

### UMSATZ_DEFAULT_DAYS

public static final int UMSATZ_DEFAULT_DAYS
Default-Anzahl von anzuzeigenden Tagen in der Umsatz-Preview.

### HBCI_SEPA_ENDTOENDID_MAXLENGTH

public static final int HBCI_SEPA_ENDTOENDID_MAXLENGTH
Maximale Laenge der EndtoEnd-ID bei SEPA.

### HBCI_SEPA_PURPOSECODE_MAXLENGTH

public static final int HBCI_SEPA_PURPOSECODE_MAXLENGTH
Maximale Laenge des Purpose-Codes bei SEPA.

### HBCI_SEPA_MANDATEID_MAXLENGTH

public static final int HBCI_SEPA_MANDATEID_MAXLENGTH
Maximale Laenge der Mandate-ID bei SEPA.

### HBCI_SEPA_CREDITORID_MAXLENGTH

public static final int HBCI_SEPA_CREDITORID_MAXLENGTH
Maximale Laenge der Glaeubiger-ID bei SEPA.

### HBCI_SEPA_PARSE_TAGS

public static final boolean HBCI_SEPA_PARSE_TAGS
SEPA-Tags parsen?

### TEXT_REPLACEMENTS_SEPA

public static final String[][] TEXT_REPLACEMENTS_SEPA
Text-Replacements fuer SEPA. Die in SEPA nicht zulaessigen Zeichen "`&*%$üöäÜÖÄß`" werden ersetzt.

### TEXT_REPLACEMENTS_UMSATZ

public static final String[][] TEXT_REPLACEMENTS_UMSATZ
Text-Replacements fuer Umsatz-Properties.

## Method Details

### clean

public static final String clean(String text, String validChars)
Bereinigt einen Text um die nicht erlaubten Zeichen.

Parameters:
  `text` - zu bereinigender Text.
  `validChars` - Liste der erlaubten Zeichen.
Returns:
  bereinigter Text.

### replace

public static final String replace(String text, String[][] replacements)
Ersetzt im Text Strings entsprechend der Replacements.

Parameters:
  `text` - der Text mit den zu ersetzenden Zeichen.
  `replacements` - die Ersetzungen.
Returns:
  der Text mit den ersetzten Zeichen.
See Also:
  - `TEXT_REPLACEMENTS_SEPA`

### checkChars

public static final void checkChars(String chars, String validChars) throws de.willuhn.util.ApplicationException
Prueft die uebergebenen Strings auf Vorhandensein nicht erlaubter Zeichen.

Parameters:
  `chars` - zu testende Zeichen.
  `validChars` - Liste der gueltigen Zeichen.
Throws:
  `de.willuhn.util.ApplicationException`

### checkLength

public static final void checkLength(String chars, int maxLength) throws de.willuhn.util.ApplicationException
BUGZILLA 232 Prueft den uebergebenen String auf korrekte Laenge. Hierbei wird auch geprueft, ob die Laenge nach dem HBCI-Escaping noch korrekt ist.

Parameters:
  `chars` - zu testende Zeichen.
  `maxLength` - die maximale Laenge.
Throws:
  `de.willuhn.util.ApplicationException`

### group

public static final String group(String s, int len, String sep)
Gruppiert den String alle `len` Zeichen in Bloecke, die durch den String `sep` getrennt sind.

Parameters:
  `s` - der zu gruppierende String.
  `len` - Anzahl der Zeichen pro Gruppe.
  `sep` - das Trennzeichen. Falls null, wird ein Leerzeichen als Trenner verwendet.
Returns:
  der gruppierte String.

### formatIban

public static final String formatIban(String s)
Gruppiert eine IBAN in Gruppen zu je 4 Zeichen und schreibt die ersten beiden Buchstaben (Laenderkennzeichen) gross.

Parameters:
  `s` - die IBAN.
Returns:
  die formatierte Darstellung.

### getNameForBank

public static final String getNameForBank(String bic)
Ermittelt zu einer BIC oder BLZ den Namen der Bank.

Parameters:
  `bic` - die BIC oder BLZ.
Returns:
  der Name der Bank oder ein Leerstring, wenn nicht ermittelbar. Niemals NULL sondern hoechstens ein Leerstring.

### getBankInfo

public static org.kapott.hbci.manager.BankInfo getBankInfo(String blz)
Liefert die Bankdaten fuer die Bank.

Parameters:
  `blz` - die BLZ.
Returns:
  die Bankdaten. NULL, wenn sie nicht gefunden wurden.

### checkAccountCRC

public static final boolean checkAccountCRC(String blz, String kontonummer)
Prueft die Gueltigkeit der BLZ/Kontonummer-Kombi anhand von Pruefziffern.

Parameters:
  `blz` -
  `kontonummer` -
Returns:
  true, wenn die Kombi ok ist.
See Also:
  - `HBCIUtils.checkAccountCRC(java.lang.String, java.lang.String)`

### checkIBANCRC

@Deprecated public static final boolean checkIBANCRC(String iban)
Deprecated.
Bitte `checkIBAN(String)` verwenden.
Prueft die Gueltigkeit einer IBAN anhand von Pruefziffern.

Parameters:
  `iban` - die IBAN.
Returns:
  true, wenn die IBAN ok ist.
See Also:
  - `HBCIUtils.checkIBANCRC(java.lang.String)`

### checkBIC

public static final String checkBIC(String bic) throws de.willuhn.util.ApplicationException
Prueft die BIC und liefert eine ggf korrigierte Version zurueck.

Parameters:
  `bic` - die zu pruefende BIC.
Returns:
  die korrigierte BIC (ggf um "XXX" ergaenzt).
Throws:
  `de.willuhn.util.ApplicationException`

### checkCreditorIdCRC

public static final boolean checkCreditorIdCRC(String creditorId)
Prueft die Gueltigkeit einer Creditor-ID (Gläubiger-Identifikationsnummer) anhand von Pruefziffern.

Parameters:
  `creditorId` - die Creditor-ID
Returns:
  true, wenn die Creditor-ID ok ist.
See Also:
  - `HBCIUtils.checkCredtitorIdCRC(String)`

### getIBAN

public static final de.jost_net.OBanToo.SEPA.IBAN getIBAN(String iban) throws de.willuhn.util.ApplicationException
Erzeugt eine IBAN aus dem String und fuehrt diverse Pruefungen auf dieser durch.

Parameters:
  `iban` - die IBAN.
Returns:
  die gepruefte IBAN.
Throws:
  `de.willuhn.util.ApplicationException` - die Fehlermeldung, wenn die IBAN nicht korrekt ist.

### checkIBAN

public static final void checkIBAN(String iban) throws de.willuhn.util.ApplicationException
Prueft die IBAN auf Gueltigkeit.

Parameters:
  `iban` - die IBAN.
Throws:
  `de.willuhn.util.ApplicationException` - die Fehlermeldung, wenn die IBAN nicht korrekt ist.

### getIBAN

public static final de.jost_net.OBanToo.SEPA.IBAN getIBAN(String blz, String konto) throws de.willuhn.util.ApplicationException
Erzeugt die IBAN aus der uebergebenen Bankverbindung.

Parameters:
  `blz` - die BLZ.
  `konto` - die Kontonummer.
Returns:
  die IBAN.
Throws:
  `de.willuhn.util.ApplicationException`

### getCause

public static Throwable getCause(Throwable t)
Laeuft den Stack der Exceptions bis zur urspruenglichen hoch und liefert sie zurueck. HBCI4Java verpackt Exceptions oft tief ineinander. Sie werden gefangen, in eine neue gepackt und wieder geworfen. Um nun die eigentliche Fehlermeldung zu kriegen, suchen wir hier nach der ersten. BUGZILLA 249

Parameters:
  `t` - die Exception.
Returns:
  die urspruengliche.

### getCause

public static Throwable getCause(Throwable t, Class<? extends Throwable> c)
Laeuft den Stack der Exceptions bis zur urspruenglichen hoch und liefert sie zurueck. HBCI4Java verpackt Exceptions oft tief ineinander. Sie werden gefangen, in eine neue gepackt und wieder geworfen. Um nun die eigentliche Fehlermeldung zu kriegen, suchen wir hier nach der ersten. BUGZILLA 249

Parameters:
  `t` - die Exception.
  `c` - optionale Angabe der gesuchten Exception. Wird sie nicht angegeben, liefert die Funktion die erste geworfene Exception im Stacktrace. Wird sie angegeben, liefert die Funktion die erste gefundene Exception dieser Klasse - insofern sie gefunden wird. Wird sie nicht gefunden, liefert die Funktion NULL.
Returns:
  die urspruengliche.

### startOfDay

public static Date startOfDay(Date date)
Deprecated.
Bitte kuenftig direkt `DateUtil.startOfDay(Date)` verwenden.
Resettet die Uhrzeit eines Datums.

Parameters:
  `date` - das Datum.
Returns:
  das neue Datum.

### endOfDay

public static Date endOfDay(Date date)
Deprecated.
Bitte kuenftig direkt `DateUtil.endOfDay(Date)` verwenden.
Setzt die Uhrzeit eines Datums auf 23:59:59.999.

Parameters:
  `date` - das Datum.
Returns:
  das neue Datum.

### getCustomerIDs

public static Set<String> getCustomerIDs(org.kapott.hbci.passport.HBCIPassport passport)
Ermittelt die Customer-IDs aus dem Passport.

Parameters:
  `passport` - Passport.
Returns:
  Liste der Customer-IDs.