Class AsyncSerializableDataset
java.lang.Object
de.bsvrz.ars.ars.persistence.writer.AsyncSerializableDataset
- All Implemented Interfaces:
SerializableDataset
Eine Implementierung von
SerializableDataset
, die asynchron von einem
SerializeTask
komplettiert wird-
Constructor Summary
ConstructorsConstructorDescriptionAsyncSerializableDataset
(long archiveTime, long dataTime, long dataIndex, byte dataStateCode, de.bsvrz.dav.daf.main.Data originalData) Erstellt einen neuen AsyncSerializableDataset. -
Method Summary
Modifier and TypeMethodDescriptionlong
Bestimmt den Archivzeitstempel des Datensatzes.void
complete
(byte[] data, int uncompressedSize) Wird asynchron aufgerufen, um den serialisierten Datensatz zu übergebenlong
Bestimmt den je Datenidentifikation eindeutigen vom Datenverteiler vergebenen Datensatzindex dieses Datensatzes.de.bsvrz.dav.daf.main.DataState
Bestimmt den Datensatztyp des Datensatzes.long
dataTime()
Bestimmt den Datenzeitstempel des Datensatzes.long
Schätz den Speicherverbrauch dieses Objektsboolean
hasData()
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.toString()
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
- ArchivzeitdataTime
- DatenzeitdataIndex
- DatenindexdataStateCode
- Code für den DataState (sieheDataState.getCode()
)originalData
- Ursprünglicher Datenverteiler-Datensatz mit Nutzdaten
-
-
Method Details
-
archiveTime
public long archiveTime()Bestimmt den Archivzeitstempel des Datensatzes.- Specified by:
archiveTime
in interfaceSerializableDataset
- Returns:
- Archivzeitstempel in Millisekunden seit 1970
-
dataTime
public long dataTime()Bestimmt den Datenzeitstempel des Datensatzes.- Specified by:
dataTime
in interfaceSerializableDataset
- 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 interfaceSerializableDataset
- Returns:
- Datensatzindex
-
dataState
@NotNull public de.bsvrz.dav.daf.main.DataState dataState()Bestimmt den Datensatztyp des Datensatzes.- Specified by:
dataState
in interfaceSerializableDataset
- Returns:
- Datensatztyp
-
complete
public void complete(byte[] data, int uncompressedSize) Wird asynchron aufgerufen, um den serialisierten Datensatz zu übergeben- Parameters:
data
- DatensatzuncompressedSize
- 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 (sieheSerializableDataset.uncompressedSize()
). Datenlücken werden als 6-Byte Folge wieContainerFile.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 mitArchiveDataSerializer.serializeData(SerializableDataset)
erzeugt werden.- Specified by:
serializedData
in interfaceSerializableDataset
- 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 interfaceSerializableDataset
- Returns:
- Speicherverbrauch in Bytes
-
hasData
public boolean hasData()Description copied from interface:SerializableDataset
Gibt zurück, ob Nutzdaten vorhanden sind. Dies ist der Fall, wennSerializableDataset.dataState()
den WertDataState.DATA
zurückliefert.- Specified by:
hasData
in interfaceSerializableDataset
- 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 interfaceSerializableDataset
- 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 interfaceSerializableDataset
- Returns:
- die Größe des unkomprimierten Daten-Arrays
-
toString
-