Klasse Teildatensatz
- Alle implementierten Schnittstellen:
Cloneable
- Bekannte direkte Unterklassen:
TeildatensatzXml
- Seit:
- 04.10.2009
- Autor:
- ob@aosd.de
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungTeildatensatz(Datensatz satz, int nr) Instantiiert einen neuen Teildatensatz mit der angegebenen Satzart, Nummer und Version des zugeheorigen Satzes.Teildatensatz(Teildatensatz other) Dies ist der Copy-Constructor, falls man eine Kopie eines Teildatensatzes braucht.Teildatensatz(SatzTyp satzTyp) Instantiiert einen neuen Teildatensatz mit der angegebenen Satzart.Teildatensatz(SatzTyp satzTyp, int nr) Instantiiert einen neuen Teildatensatz mit der angegebenen Satzart und Nummer. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoidFuegt das angegebene Feld in den Teildatensatz ein.clone()Legt eine Kopie des Teildatensatzes an.voidExportiert den Satz.voidExport.getFeld(int nr) Liefert das Feld mit der gewuenschten Nummer zurueck.getFeld(Bezeichner bezeichner) Liefert das gewuenschte Feld.getFeld(ByteAdresse adresse) Liefert das Feld mit der angegebenen Byte-Adresse.final Collection<Feld> Liefert alle Felder in der Reihenfolge innerhalb des Teildatensatzes zurueck.Liefert die Satzart.Liefert die Liste der speziellen Kennzeichen zur Identifikation beim Import zurueck.Liefert die Satznummer zurueck.intLiefert den Inhalt des Sparten-Felds an Byte-Adresse 11.booleanhasFeld(Bezeichner bezeichner) Fraegt ab, ob das entsprechende Feld vorhanden ist.booleanhasFeld(ByteAdresse adresse) Ueberprueft, ein Feld mit der angegebenen Adresse vorhanden ist.booleanUeberprueft, ob das uebergebene Feld vorhanden ist.importFrom(String content) Eigentlich wollte ich ja diese Methode "import" nennen, aber das kollidiert leider mit dem Schluesselwort "import" in Java.booleanisValid()Aus Performance-Gruenden stuetzt sich diese Methode nicht auf die validate()-Methode ab.voidremove(Bezeichner bezeichner) Falls ein Feld zuviel gesetzt wurde, kann es mit 'remove" wieder entfernt werden.voidFalls ein Feld zuviel gesetzt wurde, kann es mit 'remove" wieder entfernt werden.voidset(ByteAdresse adresse, String value) Veraltet.voidsetFeld(Bezeichner name, String value) Setzt das gewuenschte Feld.voidsetFeld(ByteAdresse adresse, String value) Setzt das gewuenschte Feld anhand der uebergebenen ByteAdresse.voidsetSparte(int x) Setzt die Sparte.To short string.List<net.sf.oval.ConstraintViolation> Im Unterschied zur normalen validate-Methode kann man hier eine die Validierung ueberConfig.LAXoderConfig.STRICTverschaerfen oder abmildern.Von Klasse geerbte Methoden gdv.xport.satz.Datensatz
addFiller, getArt, getFolgenummer, getSatzTyp, getSparteFeld, getVersicherungsscheinNummer, getVuNummer, hasArt, hasBausparenArt, hasKrankenFolgeNr, hasSparte, hasVuNummer, hasWagnisart, init, matchesNextTeildatensatz, setFolgenummer, setSparte, setVersicherungsscheinNummer, setVuNummerVon Klasse geerbte Methoden gdv.xport.satz.Satz
add, add, addAll, cloneTeildatensaetze, equals, export, export, getBausparenArt, getConfig, getFeld, getFeld, getFeld, getFeld, getFeldInhalt, getFeldInhalt, getGdvSatzartName, getGdvSatzartNummer, getKrankenFolgeNr, getNumberOfTeildatensaetze, getSatzart, getSatzversion, getTeildatensaetze, getTeildatensatz, getTeildatensatzBySatzNr, getVermittler, getVersion, getWagnisart, hashCode, importFrom, importFrom, importFrom, importFrom, isComplete, mergeWith, remove, removeAllTeildatensaetze, removeTeildatensatz, removeTeildatensatzBySatzNr, removeUnusedTeildatensaetze, resetGdvSatzartName, setFeld, setFeld, setGdvSatzartName, setVermittler, toLongString, toString, validate
-
Konstruktordetails
-
Teildatensatz
Instantiiert einen neuen Teildatensatz mit der angegebenen Satzart.- Parameter:
satzTyp- z.B. 0220.050
-
Teildatensatz
Instantiiert einen neuen Teildatensatz mit der angegebenen Satzart und Nummer.- Parameter:
satzTyp- z.B. 0220.050nr- Nummer des Teildatensatzes (zwischen 1 und 9)
-
Teildatensatz
Instantiiert einen neuen Teildatensatz mit der angegebenen Satzart, Nummer und Version des zugeheorigen Satzes.- Parameter:
satz- z.B. 100nr- Nummer des Teildatensatzes (zwischen 1 und 9)
-
Teildatensatz
Dies ist der Copy-Constructor, falls man eine Kopie eines Teildatensatzes braucht.- Parameter:
other- der andere Teildatensatz
-
-
Methodendetails
-
getSatzartFeld
Beschreibung aus Klasse kopiert:SatzLiefert die Satzart.- Setzt außer Kraft:
getSatzartFeldin KlasseSatz- Gibt zurück:
- the satzart
-
getSatznummer
Liefert die Satznummer zurueck. Sie loest die alte getNummer()-Methode ab.- Gibt zurück:
- Satznummer als einzelnes Zeichen ('1' ... '9')
- Seit:
- 5.0
-
add
Fuegt das angegebene Feld in den Teildatensatz ein. Bei Einfuegen wird ueberprueft, ob es zu Ueberschneidungen mit anderen Feldern kommt. Ausnahme hierbei ist das Satznummern-Feld auf Byte 256, mit dem der Teildatensatz vorinitialisiert wurde. Kommt es hier zu einer Ueberlappung, wird das Satznummern-Feld entfernt, da nicht alle Saetze dieses Feld besitzen. -
remove
Falls ein Feld zuviel gesetzt wurde, kann es mit 'remove" wieder entfernt werden.- Parameter:
feld- das Feld, das entfernt werden soll
-
remove
Falls ein Feld zuviel gesetzt wurde, kann es mit 'remove" wieder entfernt werden. -
setFeld
Setzt das gewuenschte Feld. Falls es nicht vorhanden ist, wird analog zur Oberklasse eineIllegalArgumentExceptiongeworfen. -
set
Veraltet.wurde durchsetFeld(ByteAdresse, String)ersetztSetzt das gewuenschte Feld anhand der uebergebenen ByteAdresse.- Parameter:
adresse- Adresse des gewuenschten Feldesvalue- Wert- Seit:
- 5.0
-
setFeld
Setzt das gewuenschte Feld anhand der uebergebenen ByteAdresse. -
setSparte
public void setSparte(int x) Beschreibung aus Klasse kopiert:DatensatzSetzt 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
IllegalArgumentExceptiongeworfen, wenn die Validierung an ist. -
getSparte
-
getFeld
Liefert das gewuenschte Feld.Falls kein Feld mit dem Bezeichner vorhanden ist, wird eine
IllegalArgumentExceptiongeworfen. Ebenso wenn das Feld nicht eindeutig ist und unterschiedliche Werte hat. Dann gibt es eineNotUniqueException(Ausnahme: Satznummer). -
getFeld
Liefert das Feld mit der gewuenschten Nummer zurueck.In der Beschreibung zur 2018er-Version gibt es bei der Feld-Nr. bei manchen Satzarten Ungereimtheiten. So hat im Teildatensatz 1 der Satzart 100 das Feld fuer die Satznummer die Feld-Nr. 27 und es gibt kein Feld 26. Auch bei diesen Satzarten ist eine Luecke in der Nummerierung:
- Satart 0100, TDS 1: Feld 26 fehlt
- Satart 0210.050, TDS 1: Feld 34 fehlt
- Satart SA0220.010.13.1, TDS 1: Feld 45 fehlt
- Satart 0600, TDS 2: Feld 12 fehlt
- Satart 0600, TDS 3: Feld 13 fehlt
- Satart 9950, TDS 1: Feld 10 fehlt
- Satart 9951, TDS 1: Feld 10 fehlt
In der 2023er-Version wurde das in der Beschreibung korrigiert. Um den Zugriff zu vereinfachen, wird daher bei Feld-Nummern, die zu gross sind, das letzte Feld zurueckgegeben.
- Parameter:
nr- z.B. 1- Gibt zurück:
- das Feld (z.B. mit der Satzart)
-
getFeld
Liefert das Feld mit der angegebenen Byte-Adresse. Im Gegensatz zur Nr. ingetFeld(int)aendert sich diese nicht, wenn neue Elemente in einem Teildatensatz hinzukommen. -
hasFeld
Fraegt ab, ob das entsprechende Feld vorhanden ist. -
hasFeld
Ueberprueft, ob das uebergebene Feld vorhanden ist.Anmerkung: Mit 4.4 wird nicht nur der Name ueberprueft sondern alle Attribute.
- Parameter:
feld- the feld- Gibt zurück:
- true, if successful
- Seit:
- 1.0
-
hasFeld
Ueberprueft, ein Feld mit der angegebenen Adresse vorhanden ist. -
getFelder
Liefert alle Felder in der Reihenfolge innerhalb des Teildatensatzes zurueck. -
getSatzIdent
-
export
Beschreibung aus Klasse kopiert:SatzExportiert den Satz.- Setzt außer Kraft:
exportin KlasseSatz- Parameter:
writer- the writer- Löst aus:
IOException- Signals that an I/O exception has occurred.
-
export
Beschreibung aus Klasse kopiert:SatzExport.- Setzt außer Kraft:
exportin KlasseSatz- Parameter:
writer- the writereod- das End-of-Datensatz- oder Trennzeichen (z.B. linefeed)- Löst aus:
IOException- Signals that an I/O exception has occurred.
-
importFrom
Beschreibung aus Klasse kopiert:SatzEigentlich wollte ich ja diese Methode "import" nennen, aber das kollidiert leider mit dem Schluesselwort "import" in Java. Inzwischen beruecksichtigt diese Import-Methode auch zusaetzlich eingestreute Newlines ("\n") oder/und Wagenruecklaeufe ("\r").Vor der Behebung von Issue #8 ist man davon ausgegangen, dass die Teildatensaetze hintereinander kommen und dass es keine Luecken gibt. Dies ist aber nicht der Fall. Jetzt koennen die Teildatensaetze in beliebiger Reihenfolge kommen. Nicht importierte Teildatensaetze werden am Ende aussortiert.
- Setzt außer Kraft:
importFromin KlasseSatz- Parameter:
content- String zum Importieren- Gibt zurück:
- Satz zur Weiterverabeitung (seit 5.2)
- Löst aus:
IOException- Signals that an I/O exception has occurred.
-
isValid
-
validate
Beschreibung aus Klasse kopiert:SatzIm Unterschied zur normalen validate-Methode kann man hier eine die Validierung ueberConfig.LAXoderConfig.STRICTverschaerfen oder abmildern.- Setzt außer Kraft:
validatein KlasseSatz- Parameter:
validationConfig- z.B.Config.STRICT- Gibt zurück:
- Liste mit Constraint-Verletzungen
-
toShortString
Beschreibung aus Klasse kopiert:SatzTo short string.- Setzt außer Kraft:
toShortStringin KlasseSatz- Gibt zurück:
- the string
-
clone
-
setFeld(ByteAdresse, String)ersetzt