Klasse SatzRegistry
- Alle implementierten Schnittstellen:
VersionHandler
Da die Klasse auch zum Registrieren eigener Satzarten gedacht ist, wurde
sie in SatzRegistry umbenannt. Funktional entspricht sie aber der
SatzFactory
-Klasse (s.o.).
- Seit:
- 5.0
- Autor:
- oliver (ob@aosd.de)
-
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final gdv.xport.util.SatzRegistry.Validator
Dieser Validator akzeptiert alle Satzarten zwischen 0 und 9999.static final gdv.xport.util.SatzRegistry.Validator
Default-Validator, der nur Satzart 800 - 899 akzeptiert. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungLiefert ein Datenpaket mit allen unterstuetzten Satzarten.getDatensatz
(SatzTyp satzNr) Veraltet.Liefert das Release der jeweiligen XML-Beschreibung, aus der die GDV-Datensaetze erzeugt wurden.static SatzRegistry
Hierueber kann man sich die Default-Factory mit der aktuell gueltigen XML-Beschreibung der GDV-Datensaetze holen.static SatzRegistry
getInstance
(Config cfg) Hierueber kann man sich die Default-Factory anhand der gewuenschten Konfiguration die XML-Beschreibung der GDV-Datensaetze holen.static SatzRegistry
getInstance
(String resource) Hierueber kann man sich die Default-Factory mit der gewuenschten XML-Beschreibung der GDV-Datensaetze holen.Liefert den passenden Nachsatz.Liefert einen (normalerweise) einenDatensatz
zurueck.static Satz
Liefert den Datensatz mit der gewuenschten Version.Versucht anhand des uebergebenen Strings herauszufinden, um was fuer eine Satzart es sich handelt und liefert dann einen entsprechenden (gefuellten) Satz zurueck.getSupportedSaetzeWith
(SatzTyp... typen) Liefert ein Datenpaket mit den angegebenen Satzarten.getVersionOf
(SatzTyp satzTyp) Liefert die Version der angefragten SatzartLiefert den passenden Vorsatz.void
Mit dieser Methode kann ein beliebiger Satz registriert werden.void
Mit dieser register-Methode kann ein eigener Validator mit uebergeben werden.void
Mit dieser Methode koennen eigene Klassen fuer (z.B. noch nicht unterstuetzte Datensaetze) registriert werden.void
Mit dieser Methode koennen eigene Klassen fuer (z.B. noch nicht unterstuetzte Datensaetze) registriert werden.void
Mit dieser Methode kann ein Validator mit uebergeben werden.toString()
void
unregister
(SatzTyp typ) Hiermit kann man eine Registrierung rueckgaengig machen (was z.B. fuer's Testen hilfreich sein kann).
-
Felddetails
-
VALIDATOR
public static final gdv.xport.util.SatzRegistry.Validator VALIDATORDefault-Validator, der nur Satzart 800 - 899 akzeptiert. -
NO_VALIDATOR
public static final gdv.xport.util.SatzRegistry.Validator NO_VALIDATORDieser Validator akzeptiert alle Satzarten zwischen 0 und 9999.
-
-
Methodendetails
-
getInstance
Hierueber kann man sich die Default-Factory mit der aktuell gueltigen XML-Beschreibung der GDV-Datensaetze holen.- Gibt zurück:
- Factory auf Basis von VUVM2018.xml
-
getInstance
Hierueber kann man sich die Default-Factory anhand der gewuenschten Konfiguration die XML-Beschreibung der GDV-Datensaetze holen.- Parameter:
cfg
- gewuenschte Konfiguration- Gibt zurück:
- Factory auf Basis der uebergebenen Config
-
getInstance
Hierueber kann man sich die Default-Factory mit der gewuenschten XML-Beschreibung der GDV-Datensaetze holen. Es wird dabei fuer die gleiche Resource auch die gleiche Instanz zurueckgegeben.- Parameter:
resource
- z.B. "VUVM2015.xml"- Gibt zurück:
- Factory auf Basis der uebergebenen Resource
-
getSatz
Liefert den Datensatz mit der gewuenschten Version. Dazu werden die Instanzen mit den verschiedenen XML-Beschreibungen durchsucht. Wird keine gefunden, wird der Satz der aktuellen Instanz zurueckgegeben.- Parameter:
satzTyp
- SatzTypversion
- gewuenschte Version- Gibt zurück:
- Satz mit der gewuenschten Version
- Seit:
- 5.2
-
register
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 eineIllegalArgumentException
geworfen.- Parameter:
clazz
- the clazzsatzart
- the satzart
-
register
public void register(Class<? extends Satz> clazz, int satzart, gdv.xport.util.SatzRegistry.Validator validator) Mit dieser Methode kann ein Validator mit uebergeben werden. So kann z.B.NO_VALIDATOR
mit uebergeben werden, um die Default-Validierung abzuschalten. Als Default werden nur Datensaetze mit der Satzart 800 - 899 zugelassen.- Parameter:
clazz
- the clazzsatzart
- the satzartvalidator
- fuer die Validierung der Satzart- Siehe auch:
-
register
Mit dieser Methode kann ein beliebiger Satz registriert werden. Sie loest die alter registerEnum-Methode ab, in der ein Satz mithilfe einer Enum-Beschreibung registriert werden konnte.Mit der verbesserten Unterstuetzung der GDV-XML-Beschreibung in v5.0 kann jetzt auch diese XML-Beschreibung fuer die Registrierung eigener Datensaetze verwendet und hierueber registriert werden. So kann z.B. mit
SatzRegistry.getDefault().register(SatzXml.of("Satz0221.051.xml"), SatzTyp.of("0221.051"));
eine eigene Beschreibung fuer Satzart 0221.051 registriert werden.
- Parameter:
satz
- Satz-Vorlage (z.B. SatzXml.of("Satz0221.051.xml"))satzNr
- Satzart (z.B. SatzTyp.of("0221.051"))
-
register
Mit dieser register-Methode kann ein eigener Validator mit uebergeben werden. Dies ist hilfreich, wenn man den vom GDV vorgegebenen Bereich fuer eigene Datensaetze (800-899) verlassen will. Dann kann man z.B. den NO_VALIDATOR uebergeben, der alle Satzarten zwischen 0 und 9999 akzeptiert.- Parameter:
satz
- Satz-Vorlage (z.B. SatzXml.of("Satz0221.051.xml"))satzNr
- Satzart (z.B. SatzTyp.of("0221.051"))validator
- Validator fuer den SatzTyp
-
unregister
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 unregister-Methoden.- Parameter:
typ
- SatzTyp bzw. Satzart
-
register
Mit dieser Methode koennen eigene Klassen fuer (z.B. noch nicht unterstuetzte Datensaetze) registriert werden.- Parameter:
clazz
- the clazzsatzNr
- the satz nr
-
getSatz
Liefert einen (normalerweise) einenDatensatz
zurueck. Ausser bei Satzart 0001 und 9999 (Vorsatz und Nachsatz), da dies nur normale Saetze sind.- Parameter:
satztyp
- der Satztyp- Gibt zurück:
- angeforderter Satz
-
getSatz
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 versucht, einen moeglichst passenden SatzTyp zu ermitteln. Zu diesem SatzTyp wird dann versucht, eine registrierte Satzart zu finden. Wenn das fehlschlaegt, wird im 2. Schritt als Ersatz eine Satzart generiert aus "satzart" und "sparte".
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.
- Parameter:
content
- the content- Gibt zurück:
- einen gefuellten Satz
-
getVorsatz
Liefert den passenden Vorsatz.- Gibt zurück:
- Vorsatz
- Seit:
- 5.0
-
getNachsatz
Liefert den passenden Nachsatz.- Gibt zurück:
- Nachsatz
- Seit:
- 5.0
-
getDatensatz
Veraltet.wurde durchgetSatz(SatzTyp)
undgenerateDatensatz(SatzTyp)
abgeloestLiefert 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.Im Gegensatz zu
getSatz(SatzTyp)
wird hier auf jeden Fall ein Datensatz zurueckgeliefert, auch wenn der SatzTyp weder registriert noch ueber denXmlService
verfuegbar ist. Dies ist vor allem fuer den Import relevant, damit er nicht bei unbekannten Datensaetzen abbricht.- Parameter:
satzNr
- z.B. SatzTyp.of("0210.070.1.6")- Gibt zurück:
- den passenden Datensatz
-
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.
- Gibt zurück:
- Datenpaket mit allen unterstuetzten Satzarten
-
getSupportedSaetzeWith
Liefert ein Datenpaket mit den angegebenen Satzarten.- Parameter:
typen
- gewuenschte Satzarten- Gibt zurück:
- Datenpaket mit gewuenschten Satzarten
- Seit:
- 5.2
-
getGdvRelease
Liefert das Release der jeweiligen XML-Beschreibung, aus der die GDV-Datensaetze erzeugt wurden.- Gibt zurück:
- das Release der erzeugten XmlSaetze
-
toString
-
getVersionOf
Liefert die Version der angefragten Satzart- Angegeben von:
getVersionOf
in SchnittstelleVersionHandler
- Parameter:
satzTyp
- Satzart- Gibt zurück:
- z.B. "2.4"
-
getSatz(SatzTyp)
undgenerateDatensatz(SatzTyp)
abgeloest