de.osci.osci12.common
Class SwapBuffer

java.lang.Object
  |
  +--de.osci.osci12.extinterfaces.OSCIDataSource
        |
        +--de.osci.osci12.common.SwapBuffer

public class SwapBuffer
extends OSCIDataSource

Diese Klasse stellt die Standard-Implementierung der abstrakten OSCIDataSource-Klasse dar. Diese Implementierung puffert Inhaltsdaten bis zu einer konfigurierbaren Anzahl von Bytes im Arbeitsspeicher. Wird diese Anzahl überschritten, werden die gepufferten Bytes wie alle folgenden Bytes in eine temporäre Datei geschrieben.

Copyright: Copyright (c) 2003

Organisation: bremen online services GmbH & Co. KG


Field Summary
static long maxBufferSize
          Limit für die Anzahl von Bytes, die im Arbeitsspeicher gepuffert werden, bevor in eine temporäre Datei geswappt wird.
 
Constructor Summary
SwapBuffer()
           
 
Method Summary
 java.io.InputStream getInputStream()
          Die Implemetierung dieser Methode muß einen InputStream liefern, aus dem die gepufferten Daten gelesen werden können.
 long getLength()
          Diese Methode muß die Anzahl der in den Puffer geschriebenen Bytes zurückgeben.
 java.io.OutputStream getOutputStream()
          Die Implemetierung dieser Methode muß einen OutputStream liefern, in den die zu puffernden Daten geschrieben werden können.
 java.lang.String getVendor()
          Liefter den Namen des Herstellers.
 java.lang.String getVersion()
          Liefert eine Versionsnummer.
static void main(java.lang.String[] args)
           
 OSCIDataSource newInstance()
          Die Implemetierung dieser statischen Methode muß eine neue Instanz der Klasse zurückgeben.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxBufferSize

public static long maxBufferSize
Limit für die Anzahl von Bytes, die im Arbeitsspeicher gepuffert werden, bevor in eine temporäre Datei geswappt wird. Als Voreinstellung wird dieser Wert auf 1 % des (beim ersten Laden dieser Klasse) verfügbaren freien Arbeitsspeichers gesetzt.

Constructor Detail

SwapBuffer

public SwapBuffer()
Method Detail

newInstance

public OSCIDataSource newInstance()
                           throws java.io.IOException
Description copied from class: OSCIDataSource
Die Implemetierung dieser statischen Methode muß eine neue Instanz der Klasse zurückgeben.

Specified by:
newInstance in class OSCIDataSource
Returns:
eine neue Instanz der implementierenden Klasse
Throws:
java.io.IOException - wenn ein Fehler auftritt

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Description copied from class: OSCIDataSource
Die Implemetierung dieser Methode muß einen InputStream liefern, aus dem die gepufferten Daten gelesen werden können. Der erste Aufruf dieser Methode beendet den Schreibvorgang in diesen Puffer. Achtung: Der zurückgegebene InputStream muß die reset()-Methode in der Weise implementieren, daß nach deren Aufruf wieder von vorn ab dem ersten Byte gelesen wird. Die markSupported()-Methode muß false zurückliefern.

Specified by:
getInputStream in class OSCIDataSource
Returns:
den InputStream
Throws:
java.io.IOException - wenn ein Fehler auftritt
See Also:
InputStream.reset(), InputStream.markSupported()

getOutputStream

public java.io.OutputStream getOutputStream()
                                     throws java.io.IOException
Description copied from class: OSCIDataSource
Die Implemetierung dieser Methode muß einen OutputStream liefern, in den die zu puffernden Daten geschrieben werden können.

Specified by:
getOutputStream in class OSCIDataSource
Returns:
den OutputStream
Throws:
java.io.IOException - wenn ein Fehler auftritt

main

public static void main(java.lang.String[] args)

getLength

public long getLength()
Description copied from class: OSCIDataSource
Diese Methode muß die Anzahl der in den Puffer geschriebenen Bytes zurückgeben.

Specified by:
getLength in class OSCIDataSource
Returns:
Anzahl der Bytes

getVersion

public java.lang.String getVersion()
Liefert eine Versionsnummer.

Specified by:
getVersion in class OSCIDataSource
Returns:
Versionsnummer

getVendor

public java.lang.String getVendor()
Liefter den Namen des Herstellers.

Specified by:
getVendor in class OSCIDataSource
Returns:
Herstellername