Class SatzFactory

java.lang.Object
gdv.xport.util.SatzFactory

public final class SatzFactory extends Object
Diese Klasse dient dazu, um einen vorgegebene Satz, der z.B. aus einem Import kommt, in den entsprechenden Satz wandeln zu koennen.

Mit 5.0 wurde die Funktionalitaet in SatzRegistry ausgelagert. Im Gegensatz zu SatzFactory kann man sich von der SatzRegistry auch verschiedene Instanzen geben lassen - z.B. zur Unterstuetzung von aelteren Versionen der GDV-Satzbeschreibungen.

Since:
0.1.0 (30.10.2009)
Author:
oliver (ob@aosd.de)
  • Method Details

    • reset

      @Deprecated public static void reset()
      Deprecated.
      wird nicht mehr benoetigt
      Mit dieser Klasse konnen die Registrierungen wieder komplett rueckgaengig gemacht werden. Diese Methode wurde vor allem zur Unterstuetzung der Unit-Tests eingefuehrt.

      TODO: wird mit v7 entfernt

      Since:
      4.1.1
    • register

      public static void register(Class<? extends Satz> clazz, int satzart)
      Mit dieser Methode koennen eigene Klassen fuer (z.B. noch nicht unterstuetzte Datensaetze) registriert werden. Die Kasse muss einen Default-Konstruktor bereitstellen. Ansonsten wird hier eine IllegalArgumentException geworfen (seit 0.6).
      Parameters:
      clazz - the clazz
      satzart - the satzart
      Since:
      0.2
    • unregister

      public static void unregister(SatzTyp typ)
      Hiermit kann man eine Registrierung rueckgaengig machen (was z.B. fuer's Testen hilfreich sein kann). Diese unregister-Methode ersetzt ab 4.2 die anderen uregister-Methoden.
      Parameters:
      typ - SatzTyp bzw. Satzart
      Since:
      5.0
    • register

      public static void register(Class<? extends Datensatz> clazz, SatzTyp satzNr)
      Mit dieser Methode koennen eigene Klassen fuer (z.B. noch nicht unterstuetzte Datensaetze) registriert werden.
      Parameters:
      clazz - the clazz
      satzNr - the satz nr
      Since:
      5.0
    • getSatz

      @Deprecated public static Satz getSatz(int satzart)
      Deprecated.
      durch getSatz(SatzTyp) abgeloest
      Liefert einen Satz mit der angegebenen Satzart.

      Das klappt nur, wenn satzart= 0001, 0052, 0100, 0102, 0200, 0202, 0300, 0342, 0350, 0352, 0372, 0382, 0390, 0392, 0400, 0410, 0420, 0430, 0450, 0500, 0550, 0600, 9950, 9951, 9952, 9999 !! Deswegen wurde diese Methode durch getSatz(SatzTyp) ersetzt

      TODO: Wird mit v7 nicht mehr zur Verfuegung stehen.

      Parameters:
      satzart - Satzart
      Returns:
      angeforderte Satz
      Since:
      0.2
    • getSatz

      public static Satz getSatz(SatzTyp satztyp)
      Holt einen Satz.
      Parameters:
      satztyp - der Satztyp
      Returns:
      angeforderter Satz
      Since:
      3.2
    • getSatz

      public static Satz getSatz(String content)
      Versucht anhand des uebergebenen Strings herauszufinden, um was fuer eine Satzart es sich handelt und liefert dann einen entsprechenden (gefuellten) Satz zurueck.

      Im ersten Schritt wird nach der passenden Satzart gesucht. Das klappt nur, wenn satzart = 0001, 0052, 0100, 0102, 0200, 0202, 0300, 0342, 0350, 0352, 0372, 0382, 0390, 0392, 0400, 0410, 0420, 0430, 0450, 0500, 0550, 0600, 9950, 9951, 9952, 9999. Daher wird im 2. Versuch noch die Sparte hinzugenommen.

      Das klappt nicht, wenn satzart= 0220.580.01, 0220.580.2, 0220.020.1, 0220.020.2, 0220.020.3, 0220.010.13.1, 0220.010.13.6, 0220.010.13.7, 0220.010.13.8, 0220.010.13.9, 0220.010.2.1, 0220.010.2.6, 0220.010.2.7, 0220.010.2.8, 0220.010.2.9, 0220.010.48.1, 0220.010.48.6, 0220.010.48.8, 0220.010.48.9, 0220.010.5.1, 0220.010.5.6, 0220.010.5.8, 0220.010.5.9, 0220.010.6.1, 0220.010.6.6, 0220.010.6.8, 0220.010.6.9, 0220.010.7.1, 0220.010.7.6, 0220.010.7.8, 0220.010.7.9, 0220.010.9.1, 0220.010.9.6, 0220.010.9.7, 0220.010.9.8, 0220.010.9.9 !! Diese Satzarten benoetigen weitere Angaben (Wagnisart (Sparte 010), Satznummer (Sparte 010), KrankenfolgeNummer (Sparte 020), BausparenArt (Sparte 580). Fuer diese Satzarten kann diese Methode nicht verwendet werden.

      ACHTUNG: Um den ganz korrekten Satzaufbau zu liefern, muesste dazu die Version der Satzatz bekannt sein! Diese Info steht immer im Vorsatz des zugehörigen Datenpaketes. Lt. Auskunft vom GDV werden z.T. noch Saetze aus Release 01.11.2009 verarbeitet. Da hier aber die aktuellste Version verwendet wird, kann der zurueckgegebene Satz mehr Felder enthalten, als die tatsaechliche Version. Diese Unschaerfe wird hier in Kauf genommen, da i.d.R. immer nur Felder hinzugefuegt werden. Dies muss beim Zugriff ueber die Feld-Nr. beachtet werden.

      Parameters:
      content - the content
      Returns:
      einen gefuellten Satz
      Since:
      0.2
    • getDatensatz

      @Deprecated public static Datensatz getDatensatz(int satzart)
      Deprecated.
      durch getDatensatz(SatzTyp) abgeloest
      Gets the datensatz.

      TODO: wird mit v7 entfernt

      Parameters:
      satzart - den registrierten Datensatz fuer
      Returns:
      den registrierten Datensatz fuer 'satzart'
      Since:
      0.2
    • getDatensatz

      @Deprecated public static Datensatz getDatensatz(SatzTyp satzNr)
      Deprecated.
      durch SatzRegistry.getSatz(SatzTyp) und SatzRegistry.generateDatensatz(SatzTyp) abgeloest
      Liefert den gewuenschten Datensatz. Mit der uebergebenen Satznummer wird der Datensatz spezifizert, der folgendes enthaelt:
      • Satzart (z.B. 210)
      • Sparte (z.B. 70 fuer Rechtsschutz)
      • Wagnisart (z.B. 1 fuer Kapitallebensversicherung)
      • Teildatensatz-Nummer (6 = Bezugsrechte, 7 = Auszahlungen, 8 = zukünftige Summenänderungen, 9 = Wertungssummen)

      Falls der gewuenschte Datensatz nicht registriert ist, wird der Datensatz anhand der von XmlService bestimmt.

      Parameters:
      satzNr - z.B. SatzTyp.of("0210.070.1.6")
      Returns:
      den passenden Datensatz
    • getAllSupportedSaetze

      public static Datenpaket getAllSupportedSaetze()
      Liefert ein Datenpaket mit allen unterstuetzten Satzarten. Satzarten, die mit register(Class, int) registriert wurden, werden nicht aufgefuehrt!

      Grund: Ein Objekt vom Typ <code>Satz</code> kann nicht auf <code>Datensatz</code> gecastet werden.

      Returns:
      Datenpaket mit allen unterstuetzten Satzarten
      Since:
      0.6
    • getVorsatz

      public static Vorsatz getVorsatz()
      Liefert den passenden Vorsatz.
      Returns:
      Vorsatz
      Since:
      5.0
    • getNachsatz

      public static Nachsatz getNachsatz()
      Liefert den passenden Nachsatz.
      Returns:
      Nachsatz
      Since:
      5.0
    • getGdvRelease

      public static String getGdvRelease()
      Liefert das Release der jeweiligen XML-Beschreibung, aus der die GDV-Datensaetze erzeugt wurden.
      Returns:
      das Release der erzeugten XmlSaetze