Package de.willuhn.jameica.hbci.server
Class VerwendungszweckUtil
- java.lang.Object
-
- de.willuhn.jameica.hbci.server.VerwendungszweckUtil
-
public class VerwendungszweckUtil extends java.lang.Object
Hilfsklasse zum Mergen und Splitten der erweiterten Verwendungszwecke.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VerwendungszweckUtil.Tag
Liste der bekannten Tags.
-
Constructor Summary
Constructors Constructor Description VerwendungszweckUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
apply(HibiscusTransfer t, java.lang.String[] lines)
Verteilt die angegebenen Verwendungszweck-Zeilen auf zweck, zweck2 und zweck3.static void
checkMaxUsage(HibiscusTransfer transfer)
Prueft, ob die Anzahl der Verwendungszwecke nicht die Maximal-Anzahl aus den BPD uebersteigt.static void
checkMaxUsage(SammelTransferBuchung buchung)
Prueft, ob die Anzahl der Verwendungszwecke nicht die Maximal-Anzahl aus den BPD uebersteigt.static int
getMaxUsageUeb(Konto konto)
Liefert die maximale Anzahl von Verwendungszwecken fuer Ueberweisungen.static java.lang.String
getTag(Transfer t, VerwendungszweckUtil.Tag tag)
Liefert den Wert des angegebenen Tag oder NULL, wenn er nicht gefunden wurde.static java.lang.String
merge(java.lang.String... lines)
Merget die Verwendungszweck-Zeilen zu einem String zusammen.static java.util.Map<VerwendungszweckUtil.Tag,java.lang.String>
parse(Transfer t)
Parst die SEPA-Tags aus den Verwendungszwecken des Auftrages.static java.lang.String[]
parse(java.lang.String line)
Zerlegt einen langen Verwendungszweck in 27 Zeichen lange Haeppchen.static java.util.Map<VerwendungszweckUtil.Tag,java.lang.String>
parse(java.lang.String... lines)
Parst die SEPA-Tags aus den Verwendungszweck-Zeilen.static java.lang.String[]
rewrap(int limit, java.lang.String... lines)
Bricht die Verwendungszweck-Zeilen auf $limit Zeichen lange Haeppchen neu um.static java.lang.String[]
split(java.lang.String lines)
Splittet die Verwendungszweck-Zeilen am Zeilenumbruch.static java.lang.String[]
toArray(Transfer t)
Liefert eine bereinigte Liste der Verwendungszweck-Zeilen des Auftrages.static java.lang.String
toString(Transfer t)
Merget die Verwendungszweck-Zeilen des Auftrages zu einer Zeile zusammen.static java.lang.String
toString(Transfer t, java.lang.String sep)
Merget die Verwendungszweck-Zeilen des Auftrages zu einer Zeile zusammen.
-
-
-
Method Detail
-
split
public static java.lang.String[] split(java.lang.String lines)
Splittet die Verwendungszweck-Zeilen am Zeilenumbruch.- Parameters:
lines
- die Zeilen.- Returns:
- Ein Array mit den Zeilen. Niemals NULL sondern hoechstens ein leeres Array.
-
parse
public static java.lang.String[] parse(java.lang.String line)
Zerlegt einen langen Verwendungszweck in 27 Zeichen lange Haeppchen.- Parameters:
line
- die zu parsende Zeile.- Returns:
- die 27 Zeichen langen Schnippsel.
-
getTag
public static java.lang.String getTag(Transfer t, VerwendungszweckUtil.Tag tag) throws java.rmi.RemoteException
Liefert den Wert des angegebenen Tag oder NULL, wenn er nicht gefunden wurde.- Parameters:
t
- der Auftrag.tag
- das Tag.- Returns:
- der Wert des Tag oder NULL, wenn es nicht gefunden wurde.
- Throws:
java.rmi.RemoteException
-
parse
public static java.util.Map<VerwendungszweckUtil.Tag,java.lang.String> parse(Transfer t) throws java.rmi.RemoteException
Parst die SEPA-Tags aus den Verwendungszwecken des Auftrages.- Parameters:
t
-- Returns:
- Map mit den geparsten Infos. Niemals NULL sondern hoechstens eine leere Map.
- Throws:
java.rmi.RemoteException
-
parse
public static java.util.Map<VerwendungszweckUtil.Tag,java.lang.String> parse(java.lang.String... lines) throws java.rmi.RemoteException
Parst die SEPA-Tags aus den Verwendungszweck-Zeilen.- Parameters:
lines
- die Verwendungszweck-Zeilen.- Returns:
- Map mit den geparsten Infos. Niemals NULL sondern hoechstens eine leere Map.
- Throws:
java.rmi.RemoteException
-
apply
public static void apply(HibiscusTransfer t, java.lang.String[] lines) throws java.rmi.RemoteException
Verteilt die angegebenen Verwendungszweck-Zeilen auf zweck, zweck2 und zweck3.- Parameters:
t
- der Auftrag, in dem die Verwendungszweck-Zeilen gespeichert werden sollen.lines
- die zu uebernehmenden Zeilen.- Throws:
java.rmi.RemoteException
-
rewrap
public static java.lang.String[] rewrap(int limit, java.lang.String... lines)
Bricht die Verwendungszweck-Zeilen auf $limit Zeichen lange Haeppchen neu um. Jedoch nur, wenn wirklich Zeilen enthalten sind, die laenger sind. Andernfalls wird nichts umgebrochen.- Parameters:
limit
- das Zeichen-Limit pro Zeile.lines
- die Zeilen.- Returns:
- die neu umgebrochenen Zeilen.
-
merge
public static java.lang.String merge(java.lang.String... lines)
Merget die Verwendungszweck-Zeilen zu einem String zusammen. Die Zeilen sind mit Zeilenumbruch versehen.- Parameters:
lines
- die Zeilen.- Returns:
- die gemergten Zeilen. Wird NULL oder ein leeres Array uebergeben, liefert die Funktion NULL.
-
toArray
public static java.lang.String[] toArray(Transfer t) throws java.rmi.RemoteException
Liefert eine bereinigte Liste der Verwendungszweck-Zeilen des Auftrages.- Parameters:
t
- der Auftrag.- Returns:
- bereinigte Liste der Verwendungszweck-Zeilen des Auftrages.
- Throws:
java.rmi.RemoteException
-
toString
public static java.lang.String toString(Transfer t) throws java.rmi.RemoteException
Merget die Verwendungszweck-Zeilen des Auftrages zu einer Zeile zusammen. Als Trennzeichen fuer die Zeilen wird " " (ein Leerzeichen) verwendet.- Parameters:
t
- der Auftrag.- Returns:
- der String mit einer Zeile, die alle Verwendungszwecke enthaelt.
- Throws:
java.rmi.RemoteException
-
toString
public static java.lang.String toString(Transfer t, java.lang.String sep) throws java.rmi.RemoteException
Merget die Verwendungszweck-Zeilen des Auftrages zu einer Zeile zusammen.- Parameters:
t
- der Auftrag.sep
- das zu verwendende Trennzeichen fuer die Zeilen. Wenn es null ist, wird " " (ein Leerzeichen) verwendet.- Returns:
- der String mit einer Zeile, die alle Verwendungszwecke enthaelt.
- Throws:
java.rmi.RemoteException
-
getMaxUsageUeb
public static final int getMaxUsageUeb(Konto konto) throws java.rmi.RemoteException
Liefert die maximale Anzahl von Verwendungszwecken fuer Ueberweisungen.- Parameters:
konto
- das Konto- Returns:
- Maximale Anzahl der Zeilen.
- Throws:
java.rmi.RemoteException
-
checkMaxUsage
public static void checkMaxUsage(HibiscusTransfer transfer) throws java.rmi.RemoteException, de.willuhn.util.ApplicationException
Prueft, ob die Anzahl der Verwendungszwecke nicht die Maximal-Anzahl aus den BPD uebersteigt.- Parameters:
transfer
- der zu testende Transfer.- Throws:
java.rmi.RemoteException
de.willuhn.util.ApplicationException
-
checkMaxUsage
public static void checkMaxUsage(SammelTransferBuchung buchung) throws java.rmi.RemoteException, de.willuhn.util.ApplicationException
Prueft, ob die Anzahl der Verwendungszwecke nicht die Maximal-Anzahl aus den BPD uebersteigt.- Parameters:
buchung
- die zu testende Buchung.- Throws:
java.rmi.RemoteException
de.willuhn.util.ApplicationException
-
-