Package gdv.xport.satz.xml
Klasse XmlService
java.lang.Object
gdv.xport.satz.xml.XmlService
Hier wird jetzt eine XML-Beschreibung verwendet, um die Saetze fuer die
einzelnen Satzarten aufzusetzen. Als Basis fuer die XML-Beschreibung wurde
urspruenglich die Datei "VUVM2013_010713.xml" genommen, die ueber www.gdv-online.de heruntergeladen werden kann. Inzwischen wird die
aktuelle "VUVM2018.xml" verwendet.
- Seit:
- 1.0 (15.08.2014)
- Autor:
- oliver
-
Konstruktorübersicht
KonstruktorBeschreibungXmlService
(XMLEventReader parser) Instantiiert einen XML-Service.XmlService
(XMLEventReader parser, StartElement startElement) Instantiiert einen XML-Service.XmlService
(XMLEventReader parser, StartElement startElement, Config config) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungLiefert die eingestellt Config zurueck.Liefert die Felder mit den Referenzen.Liefert das Release der erzeugten Xml-Saetzestatic XmlService
Liefert einen Service anhand des Standard-XML-Handbuchs von 2018.static XmlService
getInstance
(Config cfg) Liefert Service-Instanz anhand der uebergebenen Konfiguration.static XmlService
getInstance
(String resource) Liefert Service-Instanz anhand der uebergebenen Resource.static XmlService
getInstance
(URI resource) Dies ist die allgemeinere Variante vongetInstance(String)
, die eine URI als Parameter erwartet.getSatzart
(SatzTyp satzNr) Liefert den Satz zur gewuenschten Satzart.Liefert die registrierten Satzarten.getSatzVersion
(SatzTyp satzTyp) Liefert die Satzversion eines registrierten SatztypsparseFelder
(XMLEventReader reader) Liest die <felder>-Elemente ein und liefert sie als Map zurueck.toString()
-
Konstruktordetails
-
XmlService
Instantiiert einen XML-Service.- Parameter:
parser
- the parser- Löst aus:
XMLStreamException
- the XML stream exception
-
XmlService
Instantiiert einen XML-Service.- Parameter:
parser
- the parserstartElement
- the start element- Löst aus:
XMLStreamException
- the XML stream exception
-
XmlService
public XmlService(XMLEventReader parser, StartElement startElement, Config config) throws XMLStreamException - Löst aus:
XMLStreamException
-
-
Methodendetails
-
getInstance
Liefert einen Service anhand des Standard-XML-Handbuchs von 2018.- Gibt zurück:
- der frisch instantiierte XmlService
-
getInstance
Liefert Service-Instanz anhand der uebergebenen Konfiguration. Da der Aufruf desXmlService
-Konstruktors teuer ist und einige Sekunden braucht (2-3 Sekunden auf einem MacBook-Air von 2011), wird ein interner Cache verwendet, um nicht jedesmal die Resource parsen zu muessen.- Parameter:
cfg
- gewuenschte Konfiguration- Gibt zurück:
- der frisch instantiierte XmlService
- Löst aus:
XMLStreamException
- falls die angegebene Resource nicht existiert oder nicht interpretiert werden kannIOException
- bei Lesefehlern
-
getInstance
Liefert Service-Instanz anhand der uebergebenen Resource. Da der Aufruf desXmlService
-Konstruktors teuer ist und einige Sekunden braucht (2-3 Sekunden auf einem MacBook-Air von 2011), wird ein interner Cache verwendet, um nicht jedesmal die Resource parsen zu muessen.- Parameter:
resource
- Resource-Name (z.B. "VUVM2013.xml")- Gibt zurück:
- der frisch instantiierte XmlService
- Löst aus:
XMLStreamException
- falls die angegebene Resource nicht existiert oder nicht interpretiert werden kannIOException
- bei Lesefehlern
-
getInstance
Dies ist die allgemeinere Variante vongetInstance(String)
, die eine URI als Parameter erwartet. Dies kann die URI zu einer Classpath-Resource oder zu einer Datei sein, theoretisch aber auch eine URI zu einer Web-Resource.- Parameter:
resource
- z.B. eine File-URI- Gibt zurück:
- der frisch instantiierte XmlService
- Löst aus:
XMLStreamException
- falls die angegebene Resource nicht existiert oder nicht interpretiert werden kannIOException
- bei Lesefehlern- Seit:
- 5.0
-
parseFelder
Liest die <felder>-Elemente ein und liefert sie als Map zurueck.- Parameter:
reader
- the reader- Gibt zurück:
- Map mit den Feldern
- Löst aus:
XMLStreamException
- the XML stream exception
-
getFelder
Liefert die Felder mit den Referenzen.- Gibt zurück:
- the felder
- Seit:
- 1.1
-
getSatzart
Liefert den Satz zur gewuenschten Satzart. Dabei koennen auch Satzarten wie "0350.030", die es so direkt nicht gibt in der XML-Beschreibung, angefordert werden.Um Nebeneffekte zu vermeiden wird jedesmal ein neuer Satz erzeugt und zurueckgeliefert.
TODO: Aufteilen in getSatzart(SatzTyp) und getSatzart(SatzTyp, int sparte) Vermutlich gehoert diese Funktionalitaet auch eher in die SatzFactory. Problem hierbei ist, dass es Satzarten wie "0211.170" gibt, in die verschiedene Satzarten erlauben. D.h. "170" ist hier nicht die Sparte, sondern steht eher als Sammelnummer fuer verschiedene Satzarten.
- Parameter:
satzNr
- z.B. SatzTyp.of("0100") fuer Satz100 (Adressteil)- Gibt zurück:
- die entsprechende Satzart
-
getSatzarten
Liefert die registrierten Satzarten.- Gibt zurück:
- Satzarten als Hashmap
- Seit:
- 2.1.4
-
getSatzVersion
Liefert die Satzversion eines registrierten Satztyps- Parameter:
satzTyp
- die Satzart- Gibt zurück:
- die Version
- Seit:
- 5.0
-
getGdvRelease
Liefert das Release der erzeugten Xml-Saetze- Gibt zurück:
- das Release der erzeugten XmlSaetze
-
getConfig
Liefert die eingestellt Config zurueck.- Gibt zurück:
- eingestellte Config
- Seit:
- 6.1
-
toString
-