Class 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.
    • 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 applyCamt​(HibiscusTransfer t, java.util.List<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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • VerwendungszweckUtil

        public VerwendungszweckUtil()
    • 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
      • applyCamt

        public static void applyCamt​(HibiscusTransfer t,
                                     java.util.List<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