Package gdv.xport

Klasse Datenpaket

java.lang.Object
gdv.xport.Datenpaket
Alle implementierten Schnittstellen:
ImportListener, EventListener

public class Datenpaket extends Object implements ImportListener
Ein Datenpaket besteht aus Vorsatz, mehrere Datensatz-Elementen und einem Nachsatz.
Seit:
23.10.2009
Autor:
oliver
  • Konstruktordetails

    • Datenpaket

      public Datenpaket()
      Wenn man den Default-Konstruktor verwendet, sollte man vorher die VU-Nummer konfiguriert haben.
      Siehe auch:
    • Datenpaket

      public Datenpaket(Config config)
      Hierueber kann eine eigene Config mit uebergeben werden.
      Parameter:
      config - eigene Config
      Seit:
      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.

      Parameter:
      vuNummer - die Nummer des Versicherungsunternehmens (VU)
      Seit:
      0.3
  • Methodendetails

    • of

      public static Datenpaket of(Collection<Satz> datensaetze)
      Legt ein Datenpaket mit den angegebenen Datensaetze an.
      Parameter:
      datensaetze - fuers Datenpaket
      Gibt zurück:
      ein neues Datenpaket
      Seit:
      5.2
    • of

      public static Datenpaket of(File file) throws IOException
      Legt ein Datenpaket anhand der uebergebenen Datei an.
      Parameter:
      file - Datei mit Datenpaket
      Gibt zurück:
      Datenpaket
      Löst aus:
      IOException - bei Lesefehlern
      Seit:
      6.3
    • of

      public static Datenpaket of(Collection<Satz> datensaetze, Config cfg)
      Legt ein Datenpaket mit den angegebenen Datensaetze an.
      Parameter:
      datensaetze - fuers Datenpaket
      cfg - gemeinsame Config fuer alle Datensaetze
      Gibt zurück:
      ein neues Datenpaket
      Seit:
      6.2
    • getConfig

      public Config getConfig()
      Liefert die eingestelle Konfiguration des Datenpakets zurueck.
      Gibt zurück:
      Konfiguration
      Seit:
      6.2
    • setVuNummer

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

      public String getVuNummer()
      Dazu verwenden wir den Vorsatz, um die VU-Nummer zu bestimmen.
      Gibt zurück:
      VU-Nummer aus dem Vorsatz
      Seit:
      0.3
    • getDatensaetze

      public List<Datensatz> getDatensaetze()
      Gets the datensaetze.
      Gibt zurück:
      the datensaetze
    • getDatensaetze

      public List<Datensatz> getDatensaetze(SatzTyp typ)
      Liefert die Liste der Datensaetze zurueck, die mit dem uebergebenen SatzTyp uebereinstimmen.
      Parameter:
      typ - gewuenschter SatzTyp
      Gibt zurück:
      Liste von Datensaetzen
      Seit:
      5.2
    • getAllSaetze

      public List<Satz> getAllSaetze()
      Gets the saetze.
      Gibt zurück:
      the saetze
      Seit:
      5.0
    • setDatensaetze

      public void setDatensaetze(List<Datensatz> datensaetze)
      Sets the datensaetze.
      Parameter:
      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).

      Gibt zurück:
      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.

      Gibt zurück:
      Nachsatz
    • add

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

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

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

      public void export(File file) throws IOException
      Export.
      Parameter:
      file - Datei, in die exportiert werden soll
      Löst aus:
      IOException - falls was schiefgelaufen ist (z.B. Platte voll)
    • export

      public void export(File file, String encoding) throws IOException
      Export.
      Parameter:
      file - Datei, in die exportiert werden soll
      encoding - z.B. "ISO-8859-1"
      Löst aus:
      IOException - falls was schiefgelaufen ist (z.B. Platte voll)
      Seit:
      1.0
    • export

      public void export(File file, Charset encoding) throws IOException
      Export.
      Parameter:
      file - Datei, in die exportiert werden soll
      encoding - z.B. "ISO-8859-1"
      Löst aus:
      IOException - falls was schiefgelaufen ist (z.B. Platte voll)
      Seit:
      1.0
    • export

      public void export(OutputStream ostream) throws IOException
      Falls wir einen Stream haben, koennen wir diese Methode benutzen.
      Parameter:
      ostream - z.B. System.out
      Löst aus:
      IOException - falls was schiefgelaufen ist
      Seit:
      0.3
    • export

      public void export(Writer writer) throws IOException
      Export.
      Parameter:
      writer - wird zum Export verwendet
      Löst aus:
      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.
      Parameter:
      uri - z.B. http://www.gdv-online.de/vuvm/musterdatei_bestand/musterdatei_041222.txt
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung (seit 5.2)
      Löst aus:
      IOException - wenn z.B. das Netz weg ist
      Seit:
      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.
      Parameter:
      url - z.B. http://www.gdv-online.de/vuvm/musterdatei_bestand/musterdatei_041222.txt
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung (seit 5.2)
      Löst aus:
      IOException - wenn z.B. das Netz weg ist
      Seit:
      0.3
    • importFrom

      public Datenpaket importFrom(String content) throws IOException
      Importiert direkt aus einem String.
      Parameter:
      content - Inhalt der eingelesen wird
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung (seit 5.2)
      Löst aus:
      IOException - sollte eigentlich nicht vorkommen
      Seit:
      0.3
    • importFrom

      public Datenpaket importFrom(InputStream istream) throws IOException
      Importiert von einem InputStream.
      Parameter:
      istream - z.B. Sytem.in
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung (seit 5.2)
      Löst aus:
      IOException - falls es Fehler beim Lesen gibt
    • importFrom

      public Datenpaket importFrom(Reader reader) throws IOException
      Import von einem Reader.
      Parameter:
      reader - hiervon wird importiert
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung (seit 5.2)
      Löst aus:
      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.

      Parameter:
      reader - PushbackReader mit einem Puffer von mind. 14 Zeichen
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung (seit 5.2)
      Löst aus:
      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.
      Parameter:
      reader - PushbackReader mit einem Puffer von mind. 14 Zeichen
      satzartVersionen - Satz-Versionen aus dem Vorsatz
      Gibt zurück:
      das Datenpaket zur Weiterverabeitung
      Löst aus:
      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.
      Parameter:
      reader - the reader
      Gibt zurück:
      the satz
      Löst aus:
      IOException - Signals that an I/O exception has occurred.
    • importFrom

      public void importFrom(File file) throws IOException
      Importieren einer Datei.
      Parameter:
      file - Import-Datei
      Löst aus:
      IOException - falls was schiefgelaufen ist
      Seit:
      0.2
    • importFrom

      public void importFrom(File file, String encoding) throws IOException
      Importieren einer Datei.
      Parameter:
      file - Import-Datei
      encoding - z.B. "ISO-8859-1"
      Löst aus:
      IOException - falls was schiefgelaufen ist
      Seit:
      1.0
    • importFrom

      public void importFrom(File file, Charset encoding) throws IOException
      Importieren einer Datei.
      Parameter:
      file - Import-Datei
      encoding - z.B. "ISO-8859-1"
      Löst aus:
      IOException - falls was schiefgelaufen ist
      Seit:
      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.

      Gibt zurück:
      das Datenpaket selbst zur Weiterverarbeitung
      Seit:
      5.2
    • setErstellungsDatumVon

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

      public Datum getErstellungsDatumVon()
      Gets the erstellungs datum von.
      Gibt zurück:
      Erstellungsdatum bis
    • setErstellungsDatumBis

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

      public Datum getErstellungsDatumBis()
      Gets the erstellungs datum bis.
      Gibt zurück:
      Erstellungdatum bis
    • setAbsender

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

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

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

      public String getAdressat()
      Gets the adressat.
      Gibt zurück:
      Adressat
    • setVermittler

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

      public String getVermittler()
      Gets the vermittler.
      Gibt zurück:
      Vermittler
    • isValid

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

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

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

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • equals

      public boolean equals(Object obj)
      Setzt außer Kraft:
      equals in Klasse Object
    • hashCode

      public int hashCode()
      Setzt außer Kraft:
      hashCode in Klasse Object
    • notice

      public void notice(Satz satz)
      Damit kann das Datenpaket selbst als Listener beim DatenpaketStreamer registriert werden.
      Angegeben von:
      notice in Schnittstelle ImportListener
      Parameter:
      satz - der importierte Satz
      Seit:
      5.3