Klasse SatzXml
java.lang.Object
gdv.xport.satz.Satz
gdv.xport.satz.Datensatz
gdv.xport.satz.xml.SatzXml
- Alle implementierten Schnittstellen:
Cloneable
- Bekannte direkte Unterklassen:
MyUnfallDatensatz
Im Gegensatz zum SOP-Ansatz und zur SatzX-Klasse wird hier eine XML-
Beschreibung verwendet, um die einzelnen Teildatensaetze mit ihren Feldern
zu bestimmen. Da die XML-Datei mit der Komplett-Beschreibung relativ gross
ist (ca. 7 MB), verwenden wir hier nicht einen DOM-Parser. Und auch keinen
XPath-Ansatz.
- Seit:
- 1.0 (30.07.2014)
- Autor:
- oliver (oliver.boehm@gmail.com)
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungDies ist der Copy-Constructor, mit dem man einen bestehenden Satz kopieren kann.SatzXml(XMLEventReader parser) Instantiiert einen neuen Satz.SatzXml(XMLEventReader parser, StartElement element, Config config) Instantiiert einen neuen Satz. -
Methodenübersicht
Modifikator und TypMethodeBeschreibungLiefert eine Liste der unterstuetzten Satz-Typen.static SatzXmlHier kann man mithilfe einer XML-Beschreibung einen Satz generieren.static SatzXmlHier kann man mithile einer XML-Beschreibung einen Satz generieren.static SatzXmlIm Gegensatz zuof(String)undof(File)kann hier eine beliebige URI als Parameter uebergeben werden.voidVerwendet die uebergebene Map, um die Teildatensaetze um fehlende Informationen zu ergaenzen.protected voidsetGdvSatzartName(String string) Setzen des Namens einer Gdv-Satzart.Von Klasse geerbte Methoden Datensatz
addFiller, getArt, getFolgenummer, getSatzTyp, getSparte, getSparteFeld, getVersicherungsscheinNummer, getVuNummer, hasArt, hasBausparenArt, hasKrankenFolgeNr, hasSparte, hasVuNummer, hasWagnisart, init, matchesNextTeildatensatz, setFolgenummer, setSparte, setSparte, setVersicherungsscheinNummer, setVuNummerModifikator und TypMethodeBeschreibungvoidFuellt fuer alle leeren Stellen ein entsprechendes Fuellfeld auf.intgetArt()Manche Satzarten wie Bausparen haben eine Element fuer die Untersparte, im Feld Wagnisart oder Art abgespeichert.intGets the folgenummer.Liefert den Satz-Typ zurueck.intLiefert den Inhalt des Sparten-Felds an Byte-Adresse 11.Gets the sparte feld.Gets the versicherungsschein nummer.Gets the vu nummer.booleanhasArt()Wenn der Datensatz ein Element fuer eine Untersparte hat, wird 'true' zurueckgegeben.booleanSchaut nach dem 9.booleanSchaut nach dem 10.booleanSchaut nach einem Feld "SPARTE" und liefert true zurueck, falls es existiert.booleanNicht jeder Datensatz hat eine VU-Nummer.booleanSchaut nach einem Feld "WAGNISART" und liefert true zurueck, falls es existiert.voidDient dazu, um mit den Informationen des Satztyps Sparte und andere Felder vorzubelegen.protected booleanmatchesNextTeildatensatz(PushbackLineNumberReader reader, char[] lastFeld1To7, Character satznummer) Prüfe ob die kommende Zeile ein Teildatensatz der letzten ist.voidsetFolgenummer(int nr) Hiermit kann die Folgenummer gesetzt werden.voidsetSparte(int x) Setzt die Sparte.voidSetzt die Sparte.voidSets the versicherungsschein nummer.voidSets the vu nummer.Von Klasse geerbte Methoden Satz
add, add, add, addAll, clone, cloneTeildatensaetze, equals, export, export, export, export, getBausparenArt, getConfig, getFeld, getFeld, getFeld, getFeld, getFeld, getFeld, getFelder, getFeldInhalt, getFeldInhalt, getGdvSatzartName, getGdvSatzartNummer, getKrankenFolgeNr, getNumberOfTeildatensaetze, getSatzart, getSatzartFeld, getSatzversion, getTeildatensaetze, getTeildatensatz, getTeildatensatzBySatzNr, getVermittler, getVersion, getWagnisart, hasFeld, hasFeld, hashCode, importFrom, importFrom, importFrom, importFrom, importFrom, isComplete, isValid, mergeWith, remove, remove, removeAllTeildatensaetze, removeTeildatensatz, removeTeildatensatzBySatzNr, removeUnusedTeildatensaetze, resetGdvSatzartName, setFeld, setFeld, setFeld, setFeld, setVermittler, toLongString, toShortString, toString, validate, validateModifikator und TypMethodeBeschreibungvoidFuegt das uebergebene Feld zur Liste der Datenfelder hinzu.voidFuegt das uebergebene Feld zur Liste der Datenfelder hinzu.final voidadd(Teildatensatz tds) Und hierueber kann ein Teildatensatz hinzugefuegt werden.voidFuegt das uebergebene Feld in jeden Teildatensatz hinzu.clone()Legt eine Kopie des Satzes an.protected final List<Teildatensatz> Hier wird eine Kopie aller Teildatensaetze zurueckgegeben.booleanZwei Saetze sind gleich, wenn sie die gleichen Daten besitzen.voidExportiert den Satz.voidexport(OutputStream ostream) voidExportiert den Satz.voidExport.final StringLiefert den Inhalt des 9.final ConfigLiefert die aktuelle Konfiguration zurueck.getFeld(Bezeichner bezeichner) Liefert das gewuenschte Feld.final FeldgetFeld(Bezeichner bezeichner, int nr) Liefert das gewuenschte Feld.<T extends Feld>
TgetFeld(Bezeichner bezeichner, Class<T> clazz) Liefert das gewuenschte Feld im gewuenschten Typ.getFeld(ByteAdresse adresse) Holt sich das entsprechende Feld aus dem Teildatensatz.Veraltet.bitte getFeld(Bezeichner) verwenden (TODO: wird mit v8 oder v9 entsorgt)final FeldVeraltet.bitte getFeld(Bezeichner, int) verwenden (TODO: wird mit v8 oder v9 entsorgt)Liefert die Felder aller Teildatensaetze zurueck.final StringgetFeldInhalt(Bezeichner bezeichner) Liefert den Inhalt des gewuenschten Feldes.final StringgetFeldInhalt(String name, int nr) Liefert den Inhalt des gewuenschten Feldes.Veraltet.bitte Satzartnummer ueberSatz.getSatzTyp()ermittelnfinal StringLiefert den Inhalt des Feldes, in dessen Bezeichnung "Folge-Nr" oder "Folgenummer" gefolgt von "zur laufenden" vorkommt (ByteAdresse 48), wenn es existiert.final intLiefert die Anzahl der Teildatensaetze.intLiefert die Satzart zurueck.Liefert die Satzart.final AlphaNumFeldLiefert die Satzversionfinal List<Teildatensatz> Liefert alle Teildatensaetze zurueck.final TeildatensatzgetTeildatensatz(int n) Liefert den n-ten Teildatensatz aus der Liste der Teildatensätze zurueck.final TeildatensatzgetTeildatensatzBySatzNr(int n) Liefert den Teildatensatz mit der wirklichen Satznummer n zurueck.final StringLiefert den Vermittler zurueck.final StringLiefert die Version des Satzes.final StringLiefert den Inhalt des Wagnisart-Felds.booleanhasFeld(Bezeichner bezeichner) Fraegt ab, ob das entsprechende Feld vorhanden ist.booleanhasFeld(ByteAdresse adresse) Fraegt ab, ob das entsprechende Feld vorhanden ist.inthashCode()final SatzimportFrom(PushbackLineNumberReader reader) Der hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgesetllt werden kann.importFrom(File file) Importiert einen Satz von der angegebenen Datei.final SatzimportFrom(InputStream istream) Import von einemInputStream.final SatzimportFrom(Reader reader) Import von einemReader.importFrom(String s) Eigentlich wollte ich ja diese Methode "import" nennen, aber das kollidiert leider mit dem Schluesselwort "import" in Java.booleanSind alle Teildatensaetze eines Satzes vorhanden und ausgefuellt, liefert diese Methode 'true' zurueck.booleanisValid()Aus Performance-Gruenden stuetzt sich diese Methode nicht auf die validate()-Methode ab.voidVereinigt den anderen Satz mit dem aktuellen Satz, falls das moeglich ist.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.final voidHiermit koennen Unterklassen alle Teildatensaetze wieder entfernen (wird z.B. vom Satz 0220.030 benoetigt).final voidremoveTeildatensatz(int n) Entfernt den gewuenschten Teildatensatz.final voidremoveTeildatensatzBySatzNr(int n) Entfernt den gewuenschten Teildatensatz mit der wirklichen Satznummer n.protected voidremoveUnusedTeildatensaetze(SortedSet<Integer> usedIndexes) voidvoidsetFeld(Bezeichner name, Integer value) Setzt den Inhalt des gewuenschten Feldes.voidsetFeld(Bezeichner name, String value) Setzt das angegebene Feld in allen Teildatensaetzen, in denen es gefunden wird.voidsetFeld(ByteAdresse adresse, String value) Setzt das angegebene Feld anhand der Adresse in allen Teildatensaetzen.voidSetzt das angegebene Feld in allen Teildatensaetzen, in denen es gefunden wird.final voidsetVermittler(String vermittler) Setzt den Vermittler in das entsprechende Feld.To long string.To short string.final StringtoString()List<net.sf.oval.ConstraintViolation> validate()Validiert die einzelnen Teildatensaetze mit der eingestellten Standard-Konfiguration.List<net.sf.oval.ConstraintViolation> Im Unterschied zur normalen validate-Methode kann man hier eine die Validierung ueberConfig.LAXoderConfig.STRICTverschaerfen oder abmildern.
-
Konstruktordetails
-
SatzXml
Instantiiert einen neuen Satz.- Parameter:
parser- XML-Event-Parser- Löst aus:
XMLStreamException- the XML stream exception
-
SatzXml
public SatzXml(XMLEventReader parser, StartElement element, Config config) throws XMLStreamException Instantiiert einen neuen Satz.- Parameter:
parser- XML-Event-Parserelement- the elementconfig- Konfiguration- Löst aus:
XMLStreamException- the XML stream exception
-
SatzXml
Dies ist der Copy-Constructor, mit dem man einen bestehenden Satz kopieren kann.- Parameter:
orig- der originale Satz
-
-
Methodendetails
-
setGdvSatzartName
Setzen des Namens einer Gdv-Satzart.Der
stringwird mit dem Trennzeichen '.' an den bisherigen Inhalt angehaengt.- Setzt außer Kraft:
setGdvSatzartNamein KlasseSatz- Parameter:
string- Satzart-Name
-
setFelder
-
getSupportedSatzTypen
-
of
Hier kann man mithilfe einer XML-Beschreibung einen Satz generieren. Diese Methode dient dazu, um die Notwendigkeit der Enum-Beschreibung weiter zu reduzieren.- Parameter:
file- Datei mit XML-Beschreibung- Gibt zurück:
- einen Satz gemaess der XML-Beschreibung
- Löst aus:
IOException- the io exceptionXMLStreamException- the xml stream exception- Seit:
- 5.0
-
of
Hier kann man mithile einer XML-Beschreibung einen Satz generieren. Diese Methode dient dazu, um die Notwendigkeit der Enum-Beschreibung weiter zu reduzieren.- Parameter:
resource- Classpath-Resource mit XML-Beschreibung- Gibt zurück:
- einen Satz gemaess der XML-Beschreibung
- Löst aus:
IOException- the io exceptionXMLStreamException- the xml stream exception- Seit:
- 5.0
-
of
Im Gegensatz zuof(String)undof(File)kann hier eine beliebige URI als Parameter uebergeben werden. Allerdings werden momentan nur "classpath:" und "file:" als Protokoll unterstuetzt.- Parameter:
resource- URI der Resource (z.B. "classpath:/mein/satz.xml")- Gibt zurück:
- einen Satz gemaess der XML-Beschreibung
- Löst aus:
IOException- the io exceptionXMLStreamException- the xml stream exception- Seit:
- 6.1
-