de.inovat.kex.bast.exporter
Class FileDataChannel

java.lang.Object
  extended by de.inovat.kex.bast.exporter.FileDataChannel
All Implemented Interfaces:
ResultDataChannel
Direct Known Subclasses:
AbstractDataChannelBASt

public abstract class FileDataChannel
extends java.lang.Object
implements ResultDataChannel

implementiert die Grundfunktionalität für einen ResultDataChannel, der in eine Datei schreibt.

Durch reset(String, String) reset} kann der Channel wieder verwendet werden.

Erweiterung um die Möglichkeit der Ausgabe in eine Datei auf einem FTP-Server. Dagmar Rostek (DR) inovat.

Version:
$Id: FileDataChannel.java 452 2008-11-10 07:09:39Z Schawaller $
Author:
LOGOS GmbH Rostock (www.logos-ib.de), R. Trier

Constructor Summary
FileDataChannel(SendeBAStStatusDaten bastStatusDaten)
          erzeugt ein FileDataChannel.
 
Method Summary
 void close()
          schließt den Channel nachdem gepufferte Daten geschrieben wurden.
 void deleteLastLine()
          löscht die letzte Zeile aus dem Puffer.
 void flush()
          Schreibt gepufferte Daten in die Datei.
 void reset(java.lang.String fileName, java.lang.String ordnerName)
          ist der Channel geöffnet, werden gepufferte Daten in die Datei geschrieben und danach die Datei mit dem angegebenen Namen zur Ausgabe benutzt.
 void spool(java.lang.Object o)
          schreibt Daten in den Puffer.
protected abstract  void writeHeader(java.io.PrintWriter writer)
          ermöglicht das Schreiben von Daten am Anfang der Datei.
protected abstract  void writeHeaderFTP(java.io.BufferedOutputStream bos)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.inovat.kex.bast.common.ResultDataChannel
processRecord
 

Constructor Detail

FileDataChannel

public FileDataChannel(SendeBAStStatusDaten bastStatusDaten)
erzeugt ein FileDataChannel. Zum Beschreiben des Channel muss mit reset(String, String) reset} der Filename gesetzt werden.

Parameters:
bastStatusDaten - Statusinformationen.
Method Detail

close

public void close()
           throws ChannelException
schließt den Channel nachdem gepufferte Daten geschrieben wurden. Schliessen der FTPClient Verbindung nach der Datenübertragung. (Erweiterung durch Dagmar Rostek (inovat)).

Specified by:
close in interface ResultDataChannel
Throws:
ChannelException

deleteLastLine

public void deleteLastLine()
                    throws ChannelException
löscht die letzte Zeile aus dem Puffer.

Throws:
ChannelException - wenn der Channel geschlossen ist oder keine Zeilen im Puffer.

flush

public void flush()
           throws ChannelException
Schreibt gepufferte Daten in die Datei.

Throws:
ChannelException - wenn beim Schreiben eine Exception erzeugt wird.

Erweiterung der Methode um das Schreiben der gepufferten Daten auf den FTP-Server. Wenn das Attribut _bastAusgabeAufFTPServer = true ist, werden die gepufferten Daten auf den FTP-Server geschrieben.

Erweiterung der Methode durch Dagmar Rostek (DR) inovat.

reset

public void reset(java.lang.String fileName,
                  java.lang.String ordnerName)
           throws ChannelException
ist der Channel geöffnet, werden gepufferte Daten in die Datei geschrieben und danach die Datei mit dem angegebenen Namen zur Ausgabe benutzt.

Parameters:
fileName - String .
ordnerName - Unterordner für die FTP-Datei (s. _unterordnerName) oder null.
Throws:
ChannelException - .

spool

public void spool(java.lang.Object o)
           throws ChannelException
schreibt Daten in den Puffer.

Parameters:
o - zu schreibenes Object.
Throws:
ChannelException - wenn der Channel geschlossen ist.

writeHeader

protected abstract void writeHeader(java.io.PrintWriter writer)
                             throws java.io.IOException
ermöglicht das Schreiben von Daten am Anfang der Datei.

Parameters:
writer - PrintWriter
Throws:
java.io.IOException - wenn beim Schreiben _Fehler auftreten.

writeHeaderFTP

protected abstract void writeHeaderFTP(java.io.BufferedOutputStream bos)
                                throws java.io.IOException
Throws:
java.io.IOException