Class Datenpaket
- All Implemented Interfaces:
ImportListener
,EventListener
- Since:
- 23.10.2009
- Author:
- oliver
-
Constructor Summary
ConstructorsConstructorDescriptionWenn man den Default-Konstruktor verwendet, sollte man vorher die VU-Nummer konfiguriert haben.Datenpaket
(Config config) Hierueber kann eine eigene Config mit uebergeben werden.Datenpaket
(String vuNummer) Falls die VU-Nummer noch nicht konfiguriert ist, kann man zu diesem Konstruktor greifen. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Fuegt den uebergebenen Datensatz hinzu.boolean
void
Export.void
Export.void
Export.void
export
(OutputStream ostream) Falls wir einen Stream haben, koennen wir diese Methode benutzen.void
Export.Gets the absender im Vorsatz (Byte 10 - 39) (alle Teildatensätze)Gets the adressat.Gets the saetze.Liefert die eingestelle Konfiguration des Datenpakets zurueck.Gets the datensaetze.getDatensaetze
(SatzTyp typ) Liefert die Liste der Datensaetze zurueck, die mit dem uebergebenenSatzTyp
uebereinstimmen.Gets the erstellungs datum bis.Gets the erstellungs datum von.Liefert den internen Nachsatz.Gets the vermittler.Liefert den internen Vorsatz.Dazu verwenden wir den Vorsatz, um die VU-Nummer zu bestimmen.int
hashCode()
importFrom
(PushbackLineNumberReader reader) Der hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgestellt werden kann.void
importFrom
(File file) Importieren einer Datei.void
importFrom
(File file, String encoding) Importieren einer Datei.void
importFrom
(File file, Charset encoding) Importieren einer Datei.importFrom
(InputStream istream) Importiert von einemInputStream
.importFrom
(Reader reader) Import von einemReader
.importFrom
(String content) Importiert direkt aus einem String.importFrom
(URI uri) Damit kann direkt ueber das Netz importiert werden.importFrom
(URL url) Damit kann direkt ueber das Netz importiert werden.static Satz
importSatz
(PushbackLineNumberReader reader) Importiert einen einzelnen Satz.protected static Satz
importSatz
(PushbackLineNumberReader reader, Map<SatzTyp, Version> satzartVersionen) Der hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgestellt werden kann.boolean
isValid()
Aus Performance-Gruenden wird nicht auf die validate-Methode zurueckgegriffen (die dauert zu lang).void
Damit kann das Datenpaket selbst als Listener beimDatenpaketStreamer
registriert werden.static Datenpaket
Legt ein Datenpaket anhand der uebergebenen Datei an.static Datenpaket
of
(Collection<Satz> datensaetze) Legt ein Datenpaket mit den angegebenen Datensaetze an.static Datenpaket
of
(Collection<Satz> datensaetze, Config cfg) Legt ein Datenpaket mit den angegebenen Datensaetze an.pack()
Fasst benachbarte Saetze mit Luecken zusammen, sofern es sinnvoll ist.void
setAbsender
(String absender) Sets the absender im Vorsatz (Byte 10 - 39) (alle Teildatensätze)void
Sets the adressat.void
setDatensaetze
(List<Datensatz> datensaetze) Sets the datensaetze.void
Sets the erstellungs datum bis.void
Sets the erstellungsDatumVon im Vorsatz (Byte 70 - 77) (alle Teildatensätze)void
Sets the vermittler Um Geschaeftsstelle/Vermittler in Vorsatz (alle Teildatensaetze) und Nachsatz setzen zu koennen.void
setVuNummer
(String vuNummer) Um die VU-Nummer setzen zu koennen.toString()
List<net.sf.oval.ConstraintViolation>
validate()
Validiert die einzelnen Saetze (inkl.List<net.sf.oval.ConstraintViolation>
-
Constructor Details
-
Datenpaket
public Datenpaket()Wenn man den Default-Konstruktor verwendet, sollte man vorher die VU-Nummer konfiguriert haben.- See Also:
-
Datenpaket
Hierueber kann eine eigene Config mit uebergeben werden.- Parameters:
config
- eigene Config- Since:
- 5.3
-
Datenpaket
Falls die VU-Nummer noch nicht konfiguriert ist, kann man zu diesem Konstruktor greifen.Absender wird jetzt nicht mehr vorbelegt, da der Absender der Klarname des VUs ist (und nicht bekannt ist). Auch das ErstellungsDatumBis wird nicht mehr vorbelegt.
- Parameters:
vuNummer
- die Nummer des Versicherungsunternehmens (VU)- Since:
- 0.3
-
-
Method Details
-
of
Legt ein Datenpaket mit den angegebenen Datensaetze an.- Parameters:
datensaetze
- fuers Datenpaket- Returns:
- ein neues Datenpaket
- Since:
- 5.2
-
of
Legt ein Datenpaket anhand der uebergebenen Datei an.- Parameters:
file
- Datei mit Datenpaket- Returns:
- Datenpaket
- Throws:
IOException
- bei Lesefehlern- Since:
- 6.3
-
of
Legt ein Datenpaket mit den angegebenen Datensaetze an.- Parameters:
datensaetze
- fuers Datenpaketcfg
- gemeinsame Config fuer alle Datensaetze- Returns:
- ein neues Datenpaket
- Since:
- 6.2
-
getConfig
Liefert die eingestelle Konfiguration des Datenpakets zurueck.- Returns:
- Konfiguration
- Since:
- 6.2
-
setVuNummer
Um die VU-Nummer setzen zu koennen.- Parameters:
vuNummer
- VU-Nummer (max. 5-stellig)
-
getVuNummer
Dazu verwenden wir den Vorsatz, um die VU-Nummer zu bestimmen.- Returns:
- VU-Nummer aus dem Vorsatz
- Since:
- 0.3
-
getDatensaetze
Gets the datensaetze.- Returns:
- the datensaetze
-
getDatensaetze
Liefert die Liste der Datensaetze zurueck, die mit dem uebergebenenSatzTyp
uebereinstimmen.- Parameters:
typ
- gewuenschterSatzTyp
- Returns:
- Liste von Datensaetzen
- Since:
- 5.2
-
getAllSaetze
Gets the saetze.- Returns:
- the saetze
- Since:
- 5.0
-
setDatensaetze
Sets the datensaetze.- Parameters:
datensaetze
- the datensaetze to set
-
getVorsatz
Liefert den internen Vorsatz.Achtung:Der Vorsatz wird intern durch das Datenpaket verwaltet. Er kann aber veraendert werden, wenn dies notwendig ist (z.B. zum Setzen der Satzart-Versionen).
- Returns:
- Vorsatz
-
getNachsatz
Liefert den internen Nachsatz.Achtung:Der Nachsatz wird intern durch das Datenpaket verwaltet. Aus Symmetriegruenden zum Vorsatz kann auch der Nachsatz veraendert werden. Normalerweise sollte das aber nicht notwendig sein.
- Returns:
- Nachsatz
-
add
Fuegt den uebergebenen Datensatz hinzu.Achtung: Satzart 001 (Vorsatz) bzw. Satzart 9999 (Nachsatz) kann nicht hinzugefuegt werden!
- Parameters:
datensatz
- Datensatz, der hinzugefuegt werden soll
-
export
Export.- Parameters:
file
- Datei, in die exportiert werden soll- Throws:
IOException
- falls was schiefgelaufen ist (z.B. Platte voll)
-
export
Export.- Parameters:
file
- Datei, in die exportiert werden sollencoding
- z.B. "ISO-8859-1"- Throws:
IOException
- falls was schiefgelaufen ist (z.B. Platte voll)- Since:
- 1.0
-
export
Export.- Parameters:
file
- Datei, in die exportiert werden sollencoding
- z.B. "ISO-8859-1"- Throws:
IOException
- falls was schiefgelaufen ist (z.B. Platte voll)- Since:
- 1.0
-
export
Falls wir einen Stream haben, koennen wir diese Methode benutzen.- Parameters:
ostream
- z.B. System.out- Throws:
IOException
- falls was schiefgelaufen ist- Since:
- 0.3
-
export
Export.- Parameters:
writer
- wird zum Export verwendet- Throws:
IOException
- falls was schiefgelaufen ist
-
importFrom
Damit kann direkt ueber das Netz importiert werden. Gibt man eine File-URL (oder File) an, kann man damit auch direkt aus einer Datei importieren.- Parameters:
uri
- z.B. http://www.gdv-online.de/vuvm/musterdatei_bestand/musterdatei_041222.txt- Returns:
- das Datenpaket zur Weiterverabeitung (seit 5.2)
- Throws:
IOException
- wenn z.B. das Netz weg ist- Since:
- 3.0
-
importFrom
Damit kann direkt ueber das Netz importiert werden. Gibt man eine File-URL (oder File) an, kann man damit auch direkt aus einer Datei importieren.- Parameters:
url
- z.B. http://www.gdv-online.de/vuvm/musterdatei_bestand/musterdatei_041222.txt- Returns:
- das Datenpaket zur Weiterverabeitung (seit 5.2)
- Throws:
IOException
- wenn z.B. das Netz weg ist- Since:
- 0.3
-
importFrom
Importiert direkt aus einem String.- Parameters:
content
- Inhalt der eingelesen wird- Returns:
- das Datenpaket zur Weiterverabeitung (seit 5.2)
- Throws:
IOException
- sollte eigentlich nicht vorkommen- Since:
- 0.3
-
importFrom
Importiert von einemInputStream
.- Parameters:
istream
- z.B. Sytem.in- Returns:
- das Datenpaket zur Weiterverabeitung (seit 5.2)
- Throws:
IOException
- falls es Fehler beim Lesen gibt
-
importFrom
Import von einemReader
.- Parameters:
reader
- hiervon wird importiert- Returns:
- das Datenpaket zur Weiterverabeitung (seit 5.2)
- Throws:
IOException
- falls was schiefgelaufen ist
-
importFrom
Der hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgestellt werden kann.Im Gegensatz zu
importSatz(PushbackLineNumberReader, Map)
werden die Versionen (aus dem Vorsatz) nicht beruecksichtigt.- Parameters:
reader
- PushbackReader mit einem Puffer von mind. 14 Zeichen- Returns:
- das Datenpaket zur Weiterverabeitung (seit 5.2)
- Throws:
IOException
- falls was schief gelaufen ist
-
importSatz
protected static Satz importSatz(PushbackLineNumberReader reader, Map<SatzTyp, Version> satzartVersionen) throws IOExceptionDer hier verwendete PushbackReader wird benoetigt, damit die gelesene Satzart und Sparte wieder zurueckgestellt werden kann.- Parameters:
reader
- PushbackReader mit einem Puffer von mind. 14 ZeichensatzartVersionen
- Satz-Versionen aus dem Vorsatz- Returns:
- das Datenpaket zur Weiterverabeitung
- Throws:
IOException
- falls was schief gelaufen ist
-
importSatz
Importiert einen einzelnen Satz. Dies kann entweder ein Datensatz, oder aber der Nachsatz sein.- Parameters:
reader
- the reader- Returns:
- the satz
- Throws:
IOException
- Signals that an I/O exception has occurred.
-
importFrom
Importieren einer Datei.- Parameters:
file
- Import-Datei- Throws:
IOException
- falls was schiefgelaufen ist- Since:
- 0.2
-
importFrom
Importieren einer Datei.- Parameters:
file
- Import-Dateiencoding
- z.B. "ISO-8859-1"- Throws:
IOException
- falls was schiefgelaufen ist- Since:
- 1.0
-
importFrom
Importieren einer Datei.- Parameters:
file
- Import-Dateiencoding
- z.B. "ISO-8859-1"- Throws:
IOException
- falls was schiefgelaufen ist- Since:
- 1.0
-
pack
Fasst benachbarte Saetze mit Luecken zusammen, sofern es sinnvoll ist. So kann z.B. folgende Reihenfolge in den Datensaetzen vorkommen:0220.010.13.1 Teildatensatz 1 0221.010.13.1 Teildatensatz 1 0220.010.13.1 Teildatensatz 2
Logisch gehoeren Teildatensatz 1 und 2 von Satzart 0220.010.13.1 zusammen. Gemaess den FAQ des GDVs ist es wohl zulaessig, dass Teildatensatz 1 von Satzart 0221.xxx dazwischen stehen darf. Daher fasst die pack-Methode dieses getrennten Teildatensaetze wieder zusammen.Diese Version wurde mit Issue #62 eingefuehrt. Naehere Infos siehe https://github.com/oboehm/gdv.xport/issues/62.
- Returns:
- das Datenpaket selbst zur Weiterverarbeitung
- Since:
- 5.2
-
setErstellungsDatumVon
Sets the erstellungsDatumVon im Vorsatz (Byte 70 - 77) (alle Teildatensätze)- Parameters:
d
- Erstellungsdatum von
-
getErstellungsDatumVon
Gets the erstellungs datum von.- Returns:
- Erstellungsdatum bis
-
setErstellungsDatumBis
Sets the erstellungs datum bis.- Parameters:
d
- Erstellungsdatum bis
-
getErstellungsDatumBis
Gets the erstellungs datum bis.- Returns:
- Erstellungdatum bis
-
setAbsender
Sets the absender im Vorsatz (Byte 10 - 39) (alle Teildatensätze)- Parameters:
absender
- neuer Absender
-
getAbsender
Gets the absender im Vorsatz (Byte 10 - 39) (alle Teildatensätze)- Returns:
- Absender
-
setAdressat
Sets the adressat.- Parameters:
s
- Adressat
-
getAdressat
Gets the adressat.- Returns:
- Adressat
-
setVermittler
Sets the vermittler Um Geschaeftsstelle/Vermittler in Vorsatz (alle Teildatensaetze) und Nachsatz setzen zu koennen.- Parameters:
s
- Vermittler
-
getVermittler
Gets the vermittler.- Returns:
- Vermittler
-
isValid
public boolean isValid()Aus Performance-Gruenden wird nicht auf die validate-Methode zurueckgegriffen (die dauert zu lang).- Returns:
- true/false
-
validate
Validiert die einzelnen Saetze (inkl. Vorsatz und Nachsatz).- Returns:
- Liste der ConstraintViolations
-
validate
-
toString
-
equals
-
hashCode
public int hashCode() -
notice
Damit kann das Datenpaket selbst als Listener beimDatenpaketStreamer
registriert werden.- Specified by:
notice
in interfaceImportListener
- Parameters:
satz
- der importierte Satz- Since:
- 5.3
-