Package gdv.xport

Class Datenpaket

    • Constructor Detail

      • Datenpaket

        public Datenpaket()
        Wenn man den Default-Konstruktor verwendet, sollte man vorher die VU-Nummer konfiguriert haben.
        See Also:
        Config.getVUNr()
      • Datenpaket

        public Datenpaket​(Config config)
        Hierueber kann eine eigene Config mit uebergeben werden.
        Parameters:
        config - eigene Config
        Since:
        5.3
      • Datenpaket

        public Datenpaket​(String vuNummer)
        Falls die VU-Nummer noch nicht konfiguriert ist, kann man zu diesem Konstruktor greifen.

        Absender wird jetzt nicht mehr vorbelegt, da der Absender der Klarname des VUs ist (und nicht bekannt ist). Auch das ErstellungsDatumBis wird nicht mehr vorbelegt.

        Parameters:
        vuNummer - die Nummer des Versicherungsunternehmens (VU)
        Since:
        0.3
    • Method Detail

      • of

        public static Datenpaket of​(Collection<Satz> datensaetze)
        Legt ein Datenpaket mit den angegebenen Datensaetze an.
        Parameters:
        datensaetze - fuers Datenpaket
        Returns:
        ein neues Datenpaket
        Since:
        5.2
      • of

        public static Datenpaket of​(File file)
                             throws IOException
        Legt ein Datenpaket anhand der uebergebenen Datei an.
        Parameters:
        file - Datei mit Datenpaket
        Returns:
        Datenpaket
        Throws:
        IOException - bei Lesefehlern
        Since:
        6.3
      • of

        public static Datenpaket of​(Collection<Satz> datensaetze,
                                    Config cfg)
        Legt ein Datenpaket mit den angegebenen Datensaetze an.
        Parameters:
        datensaetze - fuers Datenpaket
        cfg - gemeinsame Config fuer alle Datensaetze
        Returns:
        ein neues Datenpaket
        Since:
        6.2
      • getConfig

        public Config getConfig()
        Liefert die eingestelle Konfiguration des Datenpakets zurueck.
        Returns:
        Konfiguration
        Since:
        6.2
      • setVuNummer

        public void setVuNummer​(String vuNummer)
        Um die VU-Nummer setzen zu koennen.
        Parameters:
        vuNummer - VU-Nummer (max. 5-stellig)
      • getVuNummer

        public String getVuNummer()
        Dazu verwenden wir den Vorsatz, um die VU-Nummer zu bestimmen.
        Returns:
        VU-Nummer aus dem Vorsatz
        Since:
        0.3
      • getDatensaetze

        public List<Datensatz> getDatensaetze()
        Gets the datensaetze.
        Returns:
        the datensaetze
      • getDatensaetze

        public List<Datensatz> getDatensaetze​(SatzTyp typ)
        Liefert die Liste der Datensaetze zurueck, die mit dem uebergebenen SatzTyp uebereinstimmen.
        Parameters:
        typ - gewuenschter SatzTyp
        Returns:
        Liste von Datensaetzen
        Since:
        5.2
      • getAllSaetze

        public List<Satz> getAllSaetze()
        Gets the saetze.
        Returns:
        the saetze
        Since:
        5.0
      • setDatensaetze

        public void setDatensaetze​(List<Datensatz> datensaetze)
        Sets the datensaetze.
        Parameters:
        datensaetze - the datensaetze to set
      • getVorsatz

        public Vorsatz getVorsatz()
        Liefert den internen Vorsatz.

        Achtung:Der Vorsatz wird intern durch das Datenpaket verwaltet. Er kann aber veraendert werden, wenn dies notwendig ist (z.B. zum Setzen der Satzart-Versionen).

        Returns:
        Vorsatz
      • getNachsatz

        public Nachsatz getNachsatz()
        Liefert den internen Nachsatz.

        Achtung:Der Nachsatz wird intern durch das Datenpaket verwaltet. Aus Symmetriegruenden zum Vorsatz kann auch der Nachsatz veraendert werden. Normalerweise sollte das aber nicht notwendig sein.

        Returns:
        Nachsatz
      • add

        public void add​(Datensatz datensatz)
        Fuegt den uebergebenen Datensatz hinzu.

        Achtung: Satzart 001 (Vorsatz) bzw. Satzart 9999 (Nachsatz) kann nicht hinzugefuegt werden!

        Parameters:
        datensatz - Datensatz, der hinzugefuegt werden soll
      • export

        public void export​(File file)
                    throws IOException
        Export.
        Parameters:
        file - Datei, in die exportiert werden soll
        Throws:
        IOException - falls was schiefgelaufen ist (z.B. Platte voll)
      • export

        public void export​(File file,
                           String encoding)
                    throws IOException
        Export.
        Parameters:
        file - Datei, in die exportiert werden soll
        encoding - z.B. "ISO-8859-1"
        Throws:
        IOException - falls was schiefgelaufen ist (z.B. Platte voll)
        Since:
        1.0
      • export

        public void export​(File file,
                           Charset encoding)
                    throws IOException
        Export.
        Parameters:
        file - Datei, in die exportiert werden soll
        encoding - z.B. "ISO-8859-1"
        Throws:
        IOException - falls was schiefgelaufen ist (z.B. Platte voll)
        Since:
        1.0
      • export

        public void export​(OutputStream ostream)
                    throws IOException
        Falls wir einen Stream haben, koennen wir diese Methode benutzen.
        Parameters:
        ostream - z.B. System.out
        Throws:
        IOException - falls was schiefgelaufen ist
        Since:
        0.3
      • export

        public void export​(Writer writer)
                    throws IOException
        Export.
        Parameters:
        writer - wird zum Export verwendet
        Throws:
        IOException - falls was schiefgelaufen ist
      • importFrom

        public Datenpaket importFrom​(URI uri)
                              throws IOException
        Damit kann direkt ueber das Netz importiert werden. Gibt man eine File-URL (oder File) an, kann man damit auch direkt aus einer Datei importieren.
        Parameters:
        uri - z.B. http://www.gdv-online.de/vuvm/musterdatei_bestand/musterdatei_041222.txt
        Returns:
        das Datenpaket zur Weiterverabeitung (seit 5.2)
        Throws:
        IOException - wenn z.B. das Netz weg ist
        Since:
        3.0
      • importFrom

        public Datenpaket importFrom​(URL url)
                              throws IOException
        Damit kann direkt ueber das Netz importiert werden. Gibt man eine File-URL (oder File) an, kann man damit auch direkt aus einer Datei importieren.
        Parameters:
        url - z.B. http://www.gdv-online.de/vuvm/musterdatei_bestand/musterdatei_041222.txt
        Returns:
        das Datenpaket zur Weiterverabeitung (seit 5.2)
        Throws:
        IOException - wenn z.B. das Netz weg ist
        Since:
        0.3
      • importFrom

        public Datenpaket importFrom​(String content)
                              throws IOException
        Importiert direkt aus einem String.
        Parameters:
        content - Inhalt der eingelesen wird
        Returns:
        das Datenpaket zur Weiterverabeitung (seit 5.2)
        Throws:
        IOException - sollte eigentlich nicht vorkommen
        Since:
        0.3
      • importFrom

        public Datenpaket importFrom​(Reader reader)
                              throws IOException
        Import von einem Reader.
        Parameters:
        reader - hiervon wird importiert
        Returns:
        das Datenpaket zur Weiterverabeitung (seit 5.2)
        Throws:
        IOException - falls was schiefgelaufen ist
      • importFrom

        public Datenpaket importFrom​(PushbackLineNumberReader reader)
                              throws IOException
        Der hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgestellt werden kann.

        Im Gegensatz zu importSatz(PushbackLineNumberReader, Map) werden die Versionen (aus dem Vorsatz) nicht beruecksichtigt.

        Parameters:
        reader - PushbackReader mit einem Puffer von mind. 14 Zeichen
        Returns:
        das Datenpaket zur Weiterverabeitung (seit 5.2)
        Throws:
        IOException - falls was schief gelaufen ist
      • importSatz

        protected static Satz importSatz​(PushbackLineNumberReader reader,
                                         Map<SatzTyp,​Version> satzartVersionen)
                                  throws IOException
        Der hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgestellt werden kann.
        Parameters:
        reader - PushbackReader mit einem Puffer von mind. 14 Zeichen
        satzartVersionen - Satz-Versionen aus dem Vorsatz
        Returns:
        das Datenpaket zur Weiterverabeitung
        Throws:
        IOException - falls was schief gelaufen ist
      • importSatz

        public static Satz importSatz​(PushbackLineNumberReader reader)
                               throws IOException
        Importiert einen einzelnen Satz. Dies kann entweder ein Datensatz, oder aber der Nachsatz sein.
        Parameters:
        reader - the reader
        Returns:
        the satz
        Throws:
        IOException - Signals that an I/O exception has occurred.
      • importFrom

        public void importFrom​(File file)
                        throws IOException
        Importieren einer Datei.
        Parameters:
        file - Import-Datei
        Throws:
        IOException - falls was schiefgelaufen ist
        Since:
        0.2
      • importFrom

        public void importFrom​(File file,
                               String encoding)
                        throws IOException
        Importieren einer Datei.
        Parameters:
        file - Import-Datei
        encoding - z.B. "ISO-8859-1"
        Throws:
        IOException - falls was schiefgelaufen ist
        Since:
        1.0
      • importFrom

        public void importFrom​(File file,
                               Charset encoding)
                        throws IOException
        Importieren einer Datei.
        Parameters:
        file - Import-Datei
        encoding - z.B. "ISO-8859-1"
        Throws:
        IOException - falls was schiefgelaufen ist
        Since:
        1.0
      • pack

        public Datenpaket pack()
        Fasst benachbarte Saetze mit Luecken zusammen, sofern es sinnvoll ist. So kann z.B. folgende Reihenfolge in den Datensaetzen vorkommen:
             0220.010.13.1 Teildatensatz 1
             0221.010.13.1 Teildatensatz 1
             0220.010.13.1 Teildatensatz 2
         
        Logisch gehoeren Teildatensatz 1 und 2 von Satzart 0220.010.13.1 zusammen. Gemaess den FAQ des GDVs ist es wohl zulaessig, dass Teildatensatz 1 von Satzart 0221.xxx dazwischen stehen darf. Daher fasst die pack-Methode dieses getrennten Teildatensaetze wieder zusammen.

        Diese Version wurde mit Issue #62 eingefuehrt. Naehere Infos siehe https://github.com/oboehm/gdv.xport/issues/62.

        Returns:
        das Datenpaket selbst zur Weiterverarbeitung
        Since:
        5.2
      • setErstellungsDatumVon

        public void setErstellungsDatumVon​(Datum d)
        Sets the erstellungsDatumVon im Vorsatz (Byte 70 - 77) (alle Teildatensätze)
        Parameters:
        d - Erstellungsdatum von
      • getErstellungsDatumVon

        public Datum getErstellungsDatumVon()
        Gets the erstellungs datum von.
        Returns:
        Erstellungsdatum bis
      • setErstellungsDatumBis

        public void setErstellungsDatumBis​(Datum d)
        Sets the erstellungs datum bis.
        Parameters:
        d - Erstellungsdatum bis
      • getErstellungsDatumBis

        public Datum getErstellungsDatumBis()
        Gets the erstellungs datum bis.
        Returns:
        Erstellungdatum bis
      • setAbsender

        public void setAbsender​(String absender)
        Sets the absender im Vorsatz (Byte 10 - 39) (alle Teildatensätze)
        Parameters:
        absender - neuer Absender
      • getAbsender

        public String getAbsender()
        Gets the absender im Vorsatz (Byte 10 - 39) (alle Teildatensätze)
        Returns:
        Absender
      • setAdressat

        public void setAdressat​(String s)
        Sets the adressat.
        Parameters:
        s - Adressat
      • getAdressat

        public String getAdressat()
        Gets the adressat.
        Returns:
        Adressat
      • setVermittler

        public void setVermittler​(String s)
        Sets the vermittler Um Geschaeftsstelle/Vermittler in Vorsatz (alle Teildatensaetze) und Nachsatz setzen zu koennen.
        Parameters:
        s - Vermittler
      • getVermittler

        public String getVermittler()
        Gets the vermittler.
        Returns:
        Vermittler
      • isValid

        public boolean isValid()
        Aus Performance-Gruenden wird nicht auf die validate-Methode zurueckgegriffen (die dauert zu lang).
        Returns:
        true/false
      • validate

        public List<net.sf.oval.ConstraintViolation> validate()
        Validiert die einzelnen Saetze (inkl. Vorsatz und Nachsatz).
        Returns:
        Liste der ConstraintViolations
      • validate

        public List<net.sf.oval.ConstraintViolation> validate​(Config validationConfig)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • notice

        public void notice​(Satz satz)
        Damit kann das Datenpaket selbst als Listener beim DatenpaketStreamer registriert werden.
        Specified by:
        notice in interface ImportListener
        Parameters:
        satz - der importierte Satz
        Since:
        5.3