Package gdv.xport

Class DatenpaketStreamer


  • public class DatenpaketStreamer
    extends Object
    Im Gegensatz zur Datenpaket-Klasse wird hier ein Datenpaket nicht komplett in den Speicher geladen, sondern satzweise gelesen und anschliessend verworfen. Vorher werden noch die angemeldeten Listener informiert, damit diese die Daten verarbeiten (z.B. exportieren) koennen.
    Since:
    1.0
    Author:
    oliver
    • Constructor Detail

      • DatenpaketStreamer

        public DatenpaketStreamer​(InputStream istream)
        Legt einen neuen DatenpaketStreamer an.
        Parameters:
        istream - der InputStream
      • DatenpaketStreamer

        public DatenpaketStreamer​(Reader reader)
        Legt einen neuen DatenpaketStreamer an.
        Parameters:
        reader - der Reader
    • Method Detail

      • register

        public void register​(ImportListener listener)
        Hierueber kann sich ein Listener registrieren.
        Parameters:
        listener - ein Listener
      • readDatenpaket

        public void readDatenpaket()
                            throws IOException
        Hiermit wird ein einzelnes Datenpaket gelesen und die verschiedenen Listener ueber den jeweils importierten Satz informiert. Damit koennen die Listener eine weitere Verarbeitung (wie z.B. Export) anstossen.
        Throws:
        IOException - Signals that an I/O exception has occurred.
      • canReadDatenpaket

        public boolean canReadDatenpaket()

        Hiermit kann geprueft werden, ob die aktuelle Zeile ein Vorsatz (Satzart 0001) ist und damit der Anfang eines Datenpaketes entspricht.

        Diese Methode ist dazu gedacht, Dateien mit mehr als einem Datenpaket einfach einlesen zu koennen.

        Beispiel:

         while (datenpaketStreamer.canReadDatenpaket()) {
             datenpaketStreamer.readDatenpaket();
         }
         
        Returns:
        true, wenn aktuelle Zeile Satzart 0001 (Vorsatz) hat