Class VerwendungszweckUtil

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

public class VerwendungszweckUtil extends Object
Hilfsklasse zum Mergen und Splitten der erweiterten Verwendungszwecke.
  • 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