Package gdv.xport.satz
Class Datensatz
java.lang.Object
gdv.xport.satz.Satz
gdv.xport.satz.Datensatz
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
SatzXml
Datensatz ist von
Satz
abgeleitet, enthaelt aber zusaetzlich noch
die Sparte.- Since:
- 12.10.2009
- Author:
- oliver
-
Constructor Summary
ConstructorsModifierConstructorDescriptionDefault-Konstruktor (wird zur Registrierung bei derSatzFactory
benoetigt).Datensatz
(int satzart) Instantiiert einen neuen Datensatz mit 1 Teildatensatz.
Der Teildatensatz besteht nur aus 8 Feldern:
Satzart VU_NUMMER BUENDELUNGSKENNZEICHEN SPARTE VERSICHEURUNGSSCHEINNUMMER FOLGENUMMER VERMITTLER SATZNUMMERDies ist der Copy-Constructor, mit dem man einen bestehenden Datensatz kopieren kann.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.Instantiiert einen neuen Datensatz.protected
protected
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Fuellt fuer alle leeren Stellen ein entsprechendes Fuellfeld auf.protected final void
Kann von Unterklassen verwendet werden, um fehlende Felder in den Teildatensaetze zu vervollstaendigen.int
getArt()
Manche Satzarten wie Bausparen haben eine Element fuer die Untersparte, im Feld Wagnisart oder Art abgespeichert.int
Gets the folgenummer.int
Gets the sparte.Gets the sparte feld.Gets the versicherungsschein nummer.Gets the vu nummer.boolean
hasArt()
Wenn der Datensatz ein Element fuer eine Untersparte hat, wird 'true' zurueckgegeben.boolean
Wenn der Datensatz ein Element fuer eine Untersparte hat, wird 'true' zurueckgegeben.boolean
Ueberprueft, ob der Datensatz ueberhaupt eine Sparte gesetzt hat.boolean
Nicht jeder Datensatz hat eine VU-Nummer.void
Dient dazu, um mit den Informationen des Satztyps Sparte und andere Felder vorzubelegen.protected boolean
matchesNextTeildatensatz
(PushbackLineNumberReader reader, char[] lastFeld1To7, Character satznummer) Prüfe ob die kommende Zeile ein Teildatensatz der letzten ist.static int
Deprecated.static int
Deprecated.wurde nachImporter.readKrankenFolgeNr()
verschobenprotected static int
readSparte
(PushbackReader reader) Liest 14 Bytes, um die Sparte zu bestimmen und stellt die Bytes anschliessend wieder zurueck in den Reader.static TeildatensatzNummer
Deprecated.bitteSatznummer.readSatznummer(PushbackLineNumberReader)
verwendenstatic WagnisartLeben
readWagnisart
(PushbackReader reader) Deprecated.wurde nachImporter.readWagnisart()
verschobenvoid
setFolgenummer
(int nr) Hiermit kann die Folgenummer gesetzt werden.void
setSatznummer
(Zeichen satznummer) Deprecated.ab 5.1 nicht mehr noetig, daTeildatensatz.getSatznummer()
jetzt die tatsaechliche Satznummer liefertvoid
setSparte
(int x) Setzt die Sparte.void
Setzt die Sparte.protected void
Kann von Unterklassen verwendet werden, um die Teildatensaetze aufzusetzen.protected void
Hiermit kann ein einzelner Teildatensatz aufgesetzt werden.protected static void
setUpTeildatensatz
(Teildatensatz tds, NumFeld sparte) void
Sets the versicherungsschein nummer.void
Sets the vu nummer.Methods inherited from class gdv.xport.satz.Satz
add, add, add, addAll, clone, cloneTeildatensaetze, equals, export, export, export, export, get, get, getBausparenArt, getConfig, getFeld, getFeld, getFeld, getFeld, getFeld, getFeld, getFelder, getFeldInhalt, getFeldInhalt, getGdvSatzartName, getGdvSatzartNummer, getKrankenFolgeNr, getNumberOfTeildatensaetze, getSatzart, getSatzartFeld, getSatzlength, getSatzTyp, getSatzversion, getTeildatensaetze, getTeildatensatz, getTeildatensatzBySatzNr, getVermittler, getVersion, getWagnisart, hasBausparenArt, hasFeld, hashCode, hasKrankenFolgeNr, hasWagnisart, importFrom, importFrom, importFrom, importFrom, importFrom, isComplete, isValid, mergeWith, readSatzart, remove, remove, removeAllTeildatensaetze, removeTeildatensatz, removeTeildatensatzBySatzNr, removeUnusedTeildatensaetze, resetGdvSatzartName, set, set, set, setFeld, setFeld, setFeld, setFeld, setGdvSatzartName, setGdvSatzartNummer, setVermittler, toLongString, toShortString, toString, validate, validate
-
Constructor Details
-
Datensatz
public Datensatz()Default-Konstruktor (wird zur Registrierung bei derSatzFactory
benoetigt).Anm.: In
SatzRegistry.getSatz(SatzTyp)
wird der Default-Constructor per Reflection aufgerufen. Daher kann er nicht einfach entfernt werden.- Since:
- 0.6
-
Datensatz
public Datensatz(int satzart) Instantiiert einen neuen Datensatz mit 1 Teildatensatz.
Der Teildatensatz besteht nur aus 8 Feldern:
- Satzart
- VU_NUMMER
- BUENDELUNGSKENNZEICHEN
- SPARTE
- VERSICHEURUNGSSCHEINNUMMER
- FOLGENUMMER
- VERMITTLER
- SATZNUMMER
Anm.: Dieser Constructor wird noch von
SatzFactory.register(Class, int)
verwendet.- Parameters:
satzart
- z.B. 100
-
Datensatz
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
- Parameters:
satzTyp
- z.B. "0210.040" (Vertragsspezifischer Teil, Haftpflicht)- Since:
- 5.0
-
Datensatz
-
Datensatz
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
- Parameters:
satzTyp
- z.B. "0100" (Adressteil) oder "0220.110" (Glas)n
- Anzahl der Teildatensaetze- Since:
- 5.0
-
Datensatz
-
Datensatz
Dies ist der Copy-Constructor, mit dem man einen bestehenden Datensatz kopieren kann.- Parameters:
other
- der originale Datensatz
-
-
Method Details
-
setUpTeildatensaetze
protected void setUpTeildatensaetze()Kann von Unterklassen verwendet werden, um die Teildatensaetze aufzusetzen. -
setUpTeildatensatz
Hiermit kann ein einzelner Teildatensatz aufgesetzt werden.Wenn alle Datensaetze nur noch ueber Enums (Soplets) initialisiert werden, duerfte die Inialisierung hier hinfaellig sein.
- Parameters:
tds
- der (leere) Teildatensatz- Since:
- 0.4
-
setUpTeildatensatz
-
completeTeildatensaetze
protected final void completeTeildatensaetze()Kann von Unterklassen verwendet werden, um fehlende Felder in den Teildatensaetze zu vervollstaendigen. Kann aber seit 1.0 nicht mehr ueberschrieben werden, da diese Methode vom Konstruktor waehrend der Objekt-Kreierung benoetigt wird.- Since:
- 0.6
-
addFiller
public void addFiller()Description copied from class:Satz
Fuellt fuer alle leeren Stellen ein entsprechendes Fuellfeld auf. -
init
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.- Parameters:
x
- z.B. 70 (Rechtsschutz)
-
setSparte
Setzt die Sparte. Der uebergebene String kann dabei auch die Art der Sparte enthalten.- Parameters:
x
- z.B. "580.01" fuer Sparte 580, Art 01
-
getSparte
public int getSparte()Gets the sparte. -
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.
-
hasSparte
public boolean hasSparte()Ueberprueft, ob der Datensatz ueberhaupt eine Sparte gesetzt hat. -
getSparteFeld
Gets the sparte feld.- Returns:
- die Sparte als Feld
-
hasSatzartNummer
public boolean hasSatzartNummer()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.
-
setVuNummer
Sets the vu nummer.- Parameters:
s
- VU-Nummer (max. 5 Stellen)
-
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
Sets the versicherungsschein nummer.- Parameters:
nr
- die Versicherungsschein-Nummer- Since:
- 0.3
-
getVersicherungsscheinNummer
Gets the versicherungsschein nummer.- Returns:
- die Versicherungsschein-Nummer
- Since:
- 0.3
-
setSatznummer
Deprecated.ab 5.1 nicht mehr noetig, daTeildatensatz.getSatznummer()
jetzt die tatsaechliche Satznummer liefertDa nicht alle Satzarten die Satznummer am Ende des Satzes haben, kann man dies ueber diese Methode korrigieren.TODO: wird ab v7 nicht mehr unterstuetzt
- Parameters:
satznummer
- das neue Feld fuer die Satznummer- Since:
- 3.2
-
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
-
readSparte
Liest 14 Bytes, um die Sparte zu bestimmen und stellt die Bytes anschliessend wieder zurueck in den Reader.ACHTUNG: Ab v6.1 nur fuer den internen Gebrauch gedacht. Ansonsten auf
Importer.readSparte()
ausweichen.- Parameters:
reader
- muss mind. einen Pushback-Puffer von 14 Zeichen bereitstellen- Returns:
- Sparte
- Throws:
IOException
- falls was schief gegangen ist- See Also:
-
readKrankenFolgeNr
@Deprecated public static int readKrankenFolgeNr(PushbackLineNumberReader reader) throws IOException Deprecated.wurde nachImporter.readKrankenFolgeNr()
verschobenLiest 49 Bytes, um die Folge-Nr. in Satzart 220, Sparte 20 (Kranken) zu bestimmen und stellt die Bytes anschliessend wieder zurueck in den Reader.- Parameters:
reader
- muss mind. einen Pushback-Puffer von 14 Zeichen bereitstellen- Returns:
- Folge-Nr
- Throws:
IOException
- falls was schief gegangen ist
-
readBausparenArt
Deprecated.wurde nachImporter.readBausparenArt()
verschobenLiest 45 Bytes, um die Bauspar-Art in Satzart 220, Sparte 580 (Bausparen) zu bestimmen und stellt die Bytes anschliessend wieder zurueck in den Reader.- Parameters:
reader
- muss mind. einen Pushback-Puffer von 14 Zeichen bereitstellen- Returns:
- Folge-Nr
- Throws:
IOException
- falls was schief gegangen ist
-
readWagnisart
Deprecated.wurde nachImporter.readWagnisart()
verschobenLiest 1 Byte, um die Wagnisart zu bestimmen und stellt das Byte anschliessend wieder zurueck in den Reader.- Parameters:
reader
- muss mind. einen Pushback-Puffer von 60 Zeichen bereitstellen- Returns:
- Wagnisart
- Throws:
IOException
- falls was schief gegangen ist
-
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 classSatz
- Parameters:
reader
- ein ReaderlastFeld1To7
- Feld1..7 als Char-Array (42 Zeichen) der letzten Zeile odernull
für ersten Teildatensatzsatznummer
- 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:
-
readTeildatensatzNummer
@Deprecated public static TeildatensatzNummer readTeildatensatzNummer(PushbackReader reader) throws IOException Deprecated.bitteSatznummer.readSatznummer(PushbackLineNumberReader)
verwendenRead teildatensatz nummer.TODO: wird mit v7 entfernt
- Parameters:
reader
- the reader- Returns:
- the teildatensatz nummer
- Throws:
IOException
- Signals that an I/O exception has occurred.
-
Importer.readBausparenArt()
verschoben