Class Datensatz

java.lang.Object
gdv.xport.satz.Satz
gdv.xport.satz.Datensatz
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
SatzXml, Teildatensatz

public class Datensatz extends Satz
Datensatz ist von Satz abgeleitet, enthaelt aber zusaetzlich noch die Sparte.
Since:
12.10.2009
Author:
oliver
  • Constructor Details

    • Datensatz

      public Datensatz()
      Default-Konstruktor (wird zur Registrierung bei der SatzFactory benoetigt).

      Anm.: In SatzRegistry.getSatz(SatzTyp) wird der Default-Constructor per Reflection aufgerufen. Daher kann er nicht einfach entfernt werden.

      Since:
      0.6
    • Datensatz

      @Deprecated public Datensatz(int satzart)
      Deprecated.
      durch Datensatz(gdv.xport.util.SatzTyp) ersetzt TODO: wird mit v9 entfernt
      Instantiiert einen neuen Datensatz mit 1 Teildatensatz.
      Der Teildatensatz besteht nur aus 8 Feldern:
      • Satzart
      • VU_NUMMER
      • BUENDELUNGSKENNZEICHEN
      • SPARTE
      • VERSICHEURUNGSSCHEINNUMMER
      • FOLGENUMMER
      • VERMITTLER
      • SATZNUMMER
      Parameters:
      satzart - z.B. 100
    • Datensatz

      public Datensatz(SatzTyp satzTyp)
      Instantiiert einen neuen Datensatz mit 1 Teildatensatz.
      Der Teildatensatz besteht nur aus 8 oder 9 Feldern:
      • Satzart
      • VU_NUMMER
      • BUENDELUNGSKENNZEICHEN
      • SPARTE
      • VERSICHEURUNGSSCHEINNUMMER
      • FOLGENUMMER
      • VERMITTLER
      • ART ("0220.580.X") oder WAGNISART (bei "0220.010.X")
      • SATZNUMMER
      Das Feld 4 (Sparte) im Teildatensatz wird nur bei den vordefinierten GDV-Spartensaetzen belegt.
      Parameters:
      satzTyp - z.B. "0210.040" (Vertragsspezifischer Teil, Haftpflicht)
      Since:
      5.0
    • Datensatz

      protected Datensatz(SatzTyp satzTyp, Config cfg)
    • Datensatz

      public Datensatz(SatzTyp satzTyp, int n)
      Instantiiert einen neuen Datensatz. Die Teildatensaetze bestehen nur aus 8 oder 9 Feldern:
      • Satzart
      • VU_NUMMER
      • BUENDELUNGSKENNZEICHEN
      • SPARTE
      • VERSICHEURUNGSSCHEINNUMMER
      • FOLGENUMMER
      • VERMITTLER
      • ART ("0220.580.X") oder WAGNISART (bei "0220.010.X")
      • SATZNUMMER
      Das Feld 4 (Sparte) im Teildatensatz wird nur bei vordefinierten Spartensaetzen belegt.
      Parameters:
      satzTyp - z.B. "0100" (Adressteil) oder "0220.110" (Glas)
      n - Anzahl der Teildatensaetze
      Since:
      5.0
    • Datensatz

      protected Datensatz(SatzTyp satzTyp, int n, Config cfg)
    • Datensatz

      public Datensatz(Datensatz other)
      Dies ist der Copy-Constructor, mit dem man einen bestehenden Datensatz kopieren kann.
      Parameters:
      other - der originale Datensatz
  • Method Details

    • addFiller

      public void addFiller()
      Description copied from class: Satz
      Fuellt fuer alle leeren Stellen ein entsprechendes Fuellfeld auf.
      Overrides:
      addFiller in class Satz
    • init

      public void init(SatzTyp satztyp)
      Dient dazu, um mit den Informationen des Satztyps Sparte und andere Felder vorzubelegen.
      Parameters:
      satztyp - SatzTyp, z.B. "0220.010.13.1"
      Since:
      5.1
    • setSparte

      public void setSparte(int x)
      Setzt die Sparte.

      Diese Methode ist nur sinnvoll bei Satzarten, die ueberhaupt eine Sparte (Produkt) haben (an ByteAdresse 11 mit Laenge 3) wie z.B. "0200", "0100", "0210.000", "0400" und nicht nur fuer eine einzige Sparte gedacht sind. Passt die Sparte nicht zur Satzart, wird eine IllegalArgumentException geworfen, wenn die Validierung an ist.

      Parameters:
      x - z.B. 70 (Rechtsschutz)
    • getSatzTyp

      public SatzTyp getSatzTyp()
      Liefert den Satz-Typ zurueck. Der Satz-Typ ist eine Zusammenfassung aus Satzart und Sparte.
      Overrides:
      getSatzTyp in class Satz
      Returns:
      den Satz-Typ
    • getSparte

      public int getSparte()
      Liefert den Inhalt des Sparten-Felds an Byte-Adresse 11.
      Overrides:
      getSparte in class Satz
      Returns:
      die Sparte
    • setSparte

      public void setSparte(String x)
      Setzt die Sparte. Der uebergebene String kann dabei auch die Art der Sparte enthalten. Es wird die Sparte extrahiert.
      Parameters:
      x - z.B. "580.01" fuer Sparte 580, Art 01
    • hasWagnisart

      public boolean hasWagnisart()
      Schaut nach einem Feld "WAGNISART" und liefert true zurueck, falls es existiert.
      Overrides:
      hasWagnisart in class Satz
      Returns:
      true, falls Wagnisart-Feld vorhanden ist
      Since:
      1.0
    • hasKrankenFolgeNr

      public boolean hasKrankenFolgeNr()
      Schaut nach dem 10. Feld in Satzart 220, Sparte 20 (Kranken) und liefert true zurueck, falls es existiert.
      Overrides:
      hasKrankenFolgeNr in class Satz
      Returns:
      true, falls das Feld existiert
      Since:
      18.04.2018
    • hasBausparenArt

      public boolean hasBausparenArt()
      Schaut nach dem 9. Feld in Satzart 220, Sparte 580 (Bausparen) und liefert true zurueck, falls es existiert.
      Overrides:
      hasBausparenArt in class Satz
      Returns:
      true, falls das Feld existiert
      Since:
      30.06.2021
    • getArt

      public int getArt()
      Manche Satzarten wie Bausparen haben eine Element fuer die Untersparte, im Feld Wagnisart oder Art abgespeichert. Dies ist z.B. fuer Satz 220.580.1 (Bausparen) der Fall.
      Returns:
      0 oder Untersparte / Art
    • hasArt

      public boolean hasArt()
      Wenn der Datensatz ein Element fuer eine Untersparte hat, wird 'true' zurueckgegeben. Dies ist z.B. fuer Satz 220.580.1 (Bausparen) der Fall.
      Returns:
      true, falls der Datensatz eine Untersparte hat.
    • getSparteFeld

      public NumFeld getSparteFeld()
      Gets the sparte feld.
      Returns:
      die Sparte als Feld
    • hasSparte

      public boolean hasSparte()
      Schaut nach einem Feld "SPARTE" und liefert true zurueck, falls es existiert.
      Overrides:
      hasSparte in class Satz
      Returns:
      true, falls Sparten-Feld vorhanden ist
      Since:
      0.9
    • setVuNummer

      public void setVuNummer(String s)
      Sets the vu nummer.
      Parameters:
      s - VU-Nummer (max. 5 Stellen)
    • getVuNummer

      public String getVuNummer()
      Gets the vu nummer.
      Returns:
      die VU-Nummer
    • hasVuNummer

      public boolean hasVuNummer()
      Nicht jeder Datensatz hat eine VU-Nummer. So kommt sie in Satzart 0291.550 nicht vor.
      Returns:
      true, if VU-Nummer vorhanden ist
      Since:
      5.2
    • setVersicherungsscheinNummer

      public void setVersicherungsscheinNummer(String nr)
      Sets the versicherungsschein nummer.
      Parameters:
      nr - die Versicherungsschein-Nummer
      Since:
      0.3
    • getVersicherungsscheinNummer

      public String getVersicherungsscheinNummer()
      Gets the versicherungsschein nummer.
      Returns:
      die Versicherungsschein-Nummer
      Since:
      0.3
    • setFolgenummer

      public void setFolgenummer(int nr)
      Hiermit kann die Folgenummer gesetzt werden.
      Parameters:
      nr - man sollte hier bei 1 anfangen mit zaehlen
      Since:
      0.3
    • getFolgenummer

      public int getFolgenummer()
      Gets the folgenummer.
      Returns:
      die Folgenummer
      Since:
      0.3
    • matchesNextTeildatensatz

      protected boolean matchesNextTeildatensatz(PushbackLineNumberReader reader, char[] lastFeld1To7, Character satznummer) throws IOException
      Prüfe ob die kommende Zeile ein Teildatensatz der letzten ist. Dazu werden (normalerweise) die ersten 7 Felder abgeglichen. Leider fuehrt dieses Verfahren nicht immer zum Erfolg, sodass wir uns in bestimmten Situationen doch den ganzen naechsten Teildatensatz anschauen muessen.
      Overrides:
      matchesNextTeildatensatz in class Satz
      Parameters:
      reader - ein Reader
      lastFeld1To7 - Feld1..7 als Char-Array (42 Zeichen) der letzten Zeile oder null für ersten Teildatensatz
      satznummer - die Satznummer
      Returns:
      true, falls ein Teildatensatz, false falls nicht, d.h. neuer Datensatz.
      Throws:
      IOException - bei I/O-Fehlern
      Since:
      0.5.1
      See Also: