Package cpod
Class CPODBinaryStore
java.lang.Object
binaryFileStorage.BinaryDataSource
cpod.CPODBinaryStore
Binary storage for CPOD data.
Seems a little silly to re create a new file format for CPOD data but by storing as binary files we can take advantage of the PAMGuard datagram, UID manager, super detections, a annotations etc. without creating a very hacky module.
- Author:
- Jamie Macauly
-
Field Summary
Fields inherited from class binaryFileStorage.BinaryDataSource
packSynchObject
-
Constructor Summary
ConstructorDescriptionCPODBinaryStore
(CPODControl2 cpodControl2, CPODClickDataBlock clipDataBlock) -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
int
Get a version number for the module.getPackedData
(PamDataUnit pamDataUnit) Get packed binary data for either sending to file or over the networkint
void
newFileOpened
(File outputFile) Called from the BinaryOutputStream whenever a new output file is opened.sinkData
(BinaryObjectData binaryObjectData, BinaryHeader bh, int moduleVersion) Convert data read back in in viewer mode into the correct type of PamDataUnit.sinkModuleFooter
(BinaryObjectData binaryObjectData, BinaryHeader bh, ModuleHeader moduleHeader) Do something with module footer informationsinkModuleHeader
(BinaryObjectData binaryObjectData, BinaryHeader bh) Do something with module header informationMethods inherited from class binaryFileStorage.BinaryDataSource
createFilenamePrefix, getBackgroundBinaryWriter, getBinaryStorageStream, getModuleFooterData, getModuleName, getModuleType, getSisterDataBlock, getSpecialDrawing, isDoBinaryStore, isSaveUpdates, isStoreData, reset, saveData, setBinaryStorageStream, setDoBinaryStore, setSaveUpdates, setStoreData
-
Constructor Details
-
CPODBinaryStore
-
-
Method Details
-
getModuleHeaderData
public byte[] getModuleHeaderData()- Specified by:
getModuleHeaderData
in classBinaryDataSource
- Returns:
- Additional information (e.g. a control structure for a detector) to be stored in the Module Specific Control structure
-
getModuleVersion
public int getModuleVersion()Description copied from class:BinaryDataSource
Get a version number for the module.This is different to the version number in the main file header and allows individual modules to update their format and maintain backwards compatibility with old data
- Specified by:
getModuleVersion
in classBinaryDataSource
- Returns:
- integer module version number
-
getStreamName
- Specified by:
getStreamName
in classBinaryDataSource
- Returns:
- Stream name to be stored in the file header
-
getStreamVersion
public int getStreamVersion()- Specified by:
getStreamVersion
in classBinaryDataSource
- Returns:
- Stream version name to be stored in the Module Specific Control structure
-
newFileOpened
Description copied from class:BinaryDataSource
Called from the BinaryOutputStream whenever a new output file is opened.- Specified by:
newFileOpened
in classBinaryDataSource
- Parameters:
outputFile
- file information.
-
getPackedData
Description copied from class:BinaryDataSource
Get packed binary data for either sending to file or over the network- Specified by:
getPackedData
in classBinaryDataSource
- Parameters:
pamDataUnit
- data unit to pack- Returns:
- packed binary data object
-
sinkData
Description copied from class:BinaryDataSource
Convert data read back in in viewer mode into the correct type of PamDataUnit.DO NOT add this unit directly to the datablock, but pass it back to the calling process which will add it to the datablock if necessary.
- Specified by:
sinkData
in classBinaryDataSource
- Parameters:
binaryObjectData
- Binary data read back from a file.bh
- binary header from start of file.- Returns:
- the PamDataUnit created from these data
-
sinkModuleHeader
Description copied from class:BinaryDataSource
Do something with module header information- Specified by:
sinkModuleHeader
in classBinaryDataSource
- Parameters:
binaryObjectData
- data for the module header.bh
- Binary header information
-