Klasse Teildatensatz
- Alle implementierten Schnittstellen:
Cloneable
- Bekannte direkte Unterklassen:
TeildatensatzXml
- Seit:
- 04.10.2009
- Autor:
- ob@aosd.de
-
Konstruktorübersicht
KonstruktorBeschreibungTeildatensatz
(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 TypMethodeBeschreibungvoid
Fuegt das angegebene Feld in den Teildatensatz ein.clone()
Legt eine Kopie des Teildatensatzes an.void
Exportiert den Satz.void
Export.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.int
Liefert den Inhalt des Sparten-Felds an Byte-Adresse 11.boolean
hasFeld
(Bezeichner bezeichner) Fraegt ab, ob das entsprechende Feld vorhanden ist.boolean
hasFeld
(ByteAdresse adresse) Ueberprueft, ein Feld mit der angegebenen Adresse vorhanden ist.boolean
Ueberprueft, 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.boolean
isValid()
Aus Performance-Gruenden stuetzt sich diese Methode nicht auf die validate()-Methode ab.void
remove
(Bezeichner bezeichner) Falls ein Feld zuviel gesetzt wurde, kann es mit 'remove" wieder entfernt werden.void
Falls ein Feld zuviel gesetzt wurde, kann es mit 'remove" wieder entfernt werden.void
set
(ByteAdresse adresse, String value) Veraltet.void
setFeld
(Bezeichner name, String value) Setzt das gewuenschte Feld.void
setFeld
(ByteAdresse adresse, String value) Setzt das gewuenschte Feld anhand der uebergebenen ByteAdresse.void
setSparte
(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.LAX
oderConfig.STRICT
verschaerfen 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, setVuNummer
Von 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:Satz
Liefert die Satzart.- Setzt außer Kraft:
getSatzartFeld
in 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 eineIllegalArgumentException
geworfen. -
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:Datensatz
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. -
getSparte
public int getSparte()Beschreibung aus Klasse kopiert:Datensatz
Liefert den Inhalt des Sparten-Felds an Byte-Adresse 11. -
getFeld
Liefert das gewuenschte Feld.Falls kein Feld mit dem Bezeichner vorhanden ist, wird eine
IllegalArgumentException
geworfen. 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
Liefert die Liste der speziellen Kennzeichen zur Identifikation beim Import zurueck. Jedes Element enthaelt Byte-Adresse und Inhalt.- Gibt zurück:
- Liste der speziellen Kennzeichen
-
export
Beschreibung aus Klasse kopiert:Satz
Exportiert den Satz.- Setzt außer Kraft:
export
in KlasseSatz
- Parameter:
writer
- the writer- Löst aus:
IOException
- Signals that an I/O exception has occurred.
-
export
Beschreibung aus Klasse kopiert:Satz
Export.- Setzt außer Kraft:
export
in 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:Satz
Eigentlich 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:
importFrom
in 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
public boolean isValid()Beschreibung aus Klasse kopiert:Satz
Aus Performance-Gruenden stuetzt sich diese Methode nicht auf die validate()-Methode ab. -
validate
Beschreibung aus Klasse kopiert:Satz
Im Unterschied zur normalen validate-Methode kann man hier eine die Validierung ueberConfig.LAX
oderConfig.STRICT
verschaerfen oder abmildern.- Setzt außer Kraft:
validate
in KlasseSatz
- Parameter:
validationConfig
- z.B.Config.STRICT
- Gibt zurück:
- Liste mit Constraint-Verletzungen
-
toShortString
Beschreibung aus Klasse kopiert:Satz
To short string.- Setzt außer Kraft:
toShortString
in KlasseSatz
- Gibt zurück:
- the string
-
clone
Legt eine Kopie des Teildatensatzes an.
-
setFeld(ByteAdresse, String)
ersetzt