Class AsyncSerializableDataset

java.lang.Object
de.bsvrz.ars.ars.persistence.writer.AsyncSerializableDataset
All Implemented Interfaces:
SerializableDataset

public final class AsyncSerializableDataset extends Object implements SerializableDataset
Eine Implementierung von SerializableDataset, die asynchron von einem SerializeTask komplettiert wird
  • Constructor Summary

    Constructors
    Constructor
    Description
    AsyncSerializableDataset(long archiveTime, long dataTime, long dataIndex, byte dataStateCode, de.bsvrz.dav.daf.main.Data originalData)
    Erstellt einen neuen AsyncSerializableDataset.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Bestimmt den Archivzeitstempel des Datensatzes.
    void
    complete(byte[] data, int uncompressedSize)
    Wird asynchron aufgerufen, um den serialisierten Datensatz zu übergeben
    long
    Bestimmt den je Datenidentifikation eindeutigen vom Datenverteiler vergebenen Datensatzindex dieses Datensatzes.
    de.bsvrz.dav.daf.main.DataState
    Bestimmt den Datensatztyp des Datensatzes.
    long
    Bestimmt den Datenzeitstempel des Datensatzes.
    long
    Schätz den Speicherverbrauch dieses Objekts
    boolean
    Gibt zurück, ob Nutzdaten vorhanden sind.
    de.bsvrz.dav.daf.main.Data
    Gibt den ursprünglichen empfangenen Dateninhalt zurück.
    byte[]
    Gibt ein den serialisierten Data-Inhalt zurück.
     
    int
    Gibt die Größe des originalen, unkomprimierten Daten-Arrays zurück.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface de.bsvrz.ars.ars.persistence.writer.SerializableDataset

    asResultData
  • Constructor Details

    • AsyncSerializableDataset

      public AsyncSerializableDataset(long archiveTime, long dataTime, long dataIndex, byte dataStateCode, de.bsvrz.dav.daf.main.Data originalData)
      Erstellt einen neuen AsyncSerializableDataset.
      Parameters:
      archiveTime - Archivzeit
      dataTime - Datenzeit
      dataIndex - Datenindex
      dataStateCode - Code für den DataState (siehe DataState.getCode())
      originalData - Ursprünglicher Datenverteiler-Datensatz mit Nutzdaten
  • Method Details

    • archiveTime

      public long archiveTime()
      Bestimmt den Archivzeitstempel des Datensatzes.
      Specified by:
      archiveTime in interface SerializableDataset
      Returns:
      Archivzeitstempel in Millisekunden seit 1970
    • dataTime

      public long dataTime()
      Bestimmt den Datenzeitstempel des Datensatzes.
      Specified by:
      dataTime in interface SerializableDataset
      Returns:
      Datenzeitstempel in Millisekunden seit 1970
    • dataIndex

      public long dataIndex()
      Bestimmt den je Datenidentifikation eindeutigen vom Datenverteiler vergebenen Datensatzindex dieses Datensatzes.
      Specified by:
      dataIndex in interface SerializableDataset
      Returns:
      Datensatzindex
    • dataState

      @NotNull public de.bsvrz.dav.daf.main.DataState dataState()
      Bestimmt den Datensatztyp des Datensatzes.
      Specified by:
      dataState in interface SerializableDataset
      Returns:
      Datensatztyp
    • complete

      public void complete(byte[] data, int uncompressedSize)
      Wird asynchron aufgerufen, um den serialisierten Datensatz zu übergeben
      Parameters:
      data - Datensatz
      uncompressedSize - Originale Datengröße falls die Daten komprimiert sind, sonst 0
    • serializedData

      @NotNull public byte[] serializedData()
      Description copied from interface: SerializableDataset
      Gibt ein den serialisierten Data-Inhalt zurück. Die Daten sind evtl. komprimiert (siehe SerializableDataset.uncompressedSize()). Datenlücken werden als 6-Byte Folge wie ContainerFile.NO_SOURCE usw. zurückgegeben. Dieses Byte-Array enthält noch nicht den Header mit Zeitstempeln usw., wie er in die Containerdatei geschrieben wird. Dieser kann mit ArchiveDataSerializer.serializeData(SerializableDataset) erzeugt werden.
      Specified by:
      serializedData in interface SerializableDataset
      Returns:
      serialisierte und ggf. komprimierte Daten
    • estimateMemoryUsage

      public long estimateMemoryUsage()
      Description copied from interface: SerializableDataset
      Schätz den Speicherverbrauch dieses Objekts
      Specified by:
      estimateMemoryUsage in interface SerializableDataset
      Returns:
      Speicherverbrauch in Bytes
    • hasData

      public boolean hasData()
      Description copied from interface: SerializableDataset
      Gibt zurück, ob Nutzdaten vorhanden sind. Dies ist der Fall, wenn SerializableDataset.dataState() den Wert DataState.DATA zurückliefert.
      Specified by:
      hasData in interface SerializableDataset
      Returns:
      Sind Nutzdaten vorhanden?
    • originalData

      public de.bsvrz.dav.daf.main.Data originalData()
      Description copied from interface: SerializableDataset
      Gibt den ursprünglichen empfangenen Dateninhalt zurück. Der Wert kann null sein und ist nur vorhanden, wenn die Daten vorher vom Datenverteiler empfangen wurden. Dies wird nur für die Quittierung benötigt.
      Specified by:
      originalData in interface SerializableDataset
      Returns:
      Originaler Datensatz
    • uncompressedSize

      public int uncompressedSize()
      Description copied from interface: SerializableDataset
      Gibt die Größe des originalen, unkomprimierten Daten-Arrays zurück. Enthält 0 (=ContainerFile.NOT_COMPRESSED) falls die Daten unkomprimiert sind, dann zählt die Größe des serializedData-Bytearrays.
      Specified by:
      uncompressedSize in interface SerializableDataset
      Returns:
      die Größe des unkomprimierten Daten-Arrays
    • toString

      public String toString()
      Overrides:
      toString in class Object