Package de.willuhn.jameica.hbci.server

# Class VerwendungszweckUtil

java.lang.Object
de.willuhn.jameica.hbci.server.VerwendungszweckUtil

public class VerwendungszweckUtil extends Object
Hilfsklasse zum Mergen und Splitten der erweiterten Verwendungszwecke.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`VerwendungszweckUtil.Tag`
Liste der bekannten Tags.

## Constructor Summary

Constructors
Constructor
Description
`VerwendungszweckUtil()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`apply(HibiscusTransfer t, String[] lines)`
Verteilt die angegebenen Verwendungszweck-Zeilen auf zweck, zweck2 und zweck3.
`static void`
`applyCamt(HibiscusTransfer t, List<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 String`
`evaluate(String text)`
Ersetzt in dem Text die angegebenen Platzhalter gegen die entsprechenden Werte.
`static final int`
`getMaxUsageUeb(Konto konto)`
Liefert die maximale Anzahl von Verwendungszwecken fuer Ueberweisungen.
`static String`
`getTag(Transfer t, VerwendungszweckUtil.Tag tag)`
Liefert den Wert des angegebenen Tag oder NULL, wenn er nicht gefunden wurde.
`static String`
`merge(String... lines)`
Merget die Verwendungszweck-Zeilen zu einem String zusammen.
`static Map<VerwendungszweckUtil.Tag,String>`
`parse(Transfer t)`
Parst die SEPA-Tags aus den Verwendungszwecken des Auftrages.
`static String[]`
`parse(String line)`
Zerlegt einen langen Verwendungszweck in 27 Zeichen lange Haeppchen.
`static Map<VerwendungszweckUtil.Tag,String>`
`parse(String... lines)`
Parst die SEPA-Tags aus den Verwendungszweck-Zeilen.
`static String[]`
`rewrap(int limit, String... lines)`
Bricht die Verwendungszweck-Zeilen auf $limit Zeichen lange Haeppchen neu um.
`static String[]`
`split(String lines)`
Splittet die Verwendungszweck-Zeilen am Zeilenumbruch.
`static String[]`
`toArray(Transfer t)`
Liefert eine bereinigte Liste der Verwendungszweck-Zeilen des Auftrages.
`static String`
`toString(Transfer t)`
Merget die Verwendungszweck-Zeilen des Auftrages zu einer Zeile zusammen.
`static String`
`toString(Transfer t, String sep)`
Merget die Verwendungszweck-Zeilen des Auftrages zu einer Zeile zusammen.

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

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

## Constructor Details

### VerwendungszweckUtil

public VerwendungszweckUtil()

## Method Details

### split

public static String[] split(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 String[] parse(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 String getTag(Transfer t, VerwendungszweckUtil.Tag tag) throws 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:
  `RemoteException`

### parse

public static Map<VerwendungszweckUtil.Tag,String> parse(Transfer t) throws 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:
  `RemoteException`

### parse

public static Map<VerwendungszweckUtil.Tag,String> parse(String... lines) throws 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:
  `RemoteException`

### apply

public static void apply(HibiscusTransfer t, String[] lines) throws 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:
  `RemoteException`

### applyCamt

public static void applyCamt(HibiscusTransfer t, List<String> lines) throws 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:
  `RemoteException`

### rewrap

public static String[] rewrap(int limit, 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 String merge(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 String[] toArray(Transfer t) throws RemoteException
Liefert eine bereinigte Liste der Verwendungszweck-Zeilen des Auftrages.

Parameters:
  `t` - der Auftrag.
Returns:
  bereinigte Liste der Verwendungszweck-Zeilen des Auftrages.
Throws:
  `RemoteException`

### toString

public static String toString(Transfer t) throws 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:
  `RemoteException`

### toString

public static String toString(Transfer t, String sep) throws 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:
  `RemoteException`

### getMaxUsageUeb

public static final int getMaxUsageUeb(Konto konto) throws RemoteException
Liefert die maximale Anzahl von Verwendungszwecken fuer Ueberweisungen.

Parameters:
  `konto` - das Konto
Returns:
  Maximale Anzahl der Zeilen.
Throws:
  `RemoteException`

### checkMaxUsage

public static void checkMaxUsage(HibiscusTransfer transfer) throws 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:
  `RemoteException`
  `de.willuhn.util.ApplicationException`

### checkMaxUsage

public static void checkMaxUsage(SammelTransferBuchung buchung) throws 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:
  `RemoteException`
  `de.willuhn.util.ApplicationException`

### evaluate

public static String evaluate(String text)
Ersetzt in dem Text die angegebenen Platzhalter gegen die entsprechenden Werte.

Parameters:
  `text` - der Text mit den Platzhaltern.
Returns:
  der Text mit den Ersetzungen.