AIS
Class AISBinaryDataSource

java.lang.Object
  extended by binaryFileStorage.BinaryDataSource
      extended by AIS.AISBinaryDataSource

public class AISBinaryDataSource
extends BinaryDataSource


Field Summary
private  AISControl aisControl
           
private  AISDataBlock aisDataBlock
           
private  java.io.ByteArrayOutputStream bos
           
private  java.io.DataOutputStream dos
           
 
Constructor Summary
AISBinaryDataSource(AISControl aisControl, AISDataBlock sisterDataBlock)
           
 
Method Summary
 byte[] getModuleHeaderData()
           
 int getModuleVersion()
          Get a version number for the module.
 java.lang.String getStreamName()
           
 int getStreamVersion()
           
 void newFileOpened(java.io.File outputFile)
          Called from the BinaryOutputStream whenever a new output file is opened.
 void saveData(PamDataUnit pamDataUnit)
          Save data into the binary stream
 PamDataUnit sinkData(BinaryObjectData binaryObjectData, BinaryHeader bh, int moduleVersion)
          Convert data read back in in viewer mode into the correct type of PamDataUnit.
 ModuleFooter sinkModuleFooter(BinaryObjectData binaryObjectData, BinaryHeader bh, ModuleHeader moduleHeader)
          Do something with module footer information
 ModuleHeader sinkModuleHeader(BinaryObjectData binaryObjectData, BinaryHeader bh)
          Do something with module header information
 
Methods inherited from class binaryFileStorage.BinaryDataSource
getBinaryStorageStream, getModuleFooterData, getModuleName, getModuleType, getSisterDataBlock, getSpecialDrawing, setBinaryStorageStream, storeData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

aisDataBlock

private AISDataBlock aisDataBlock

aisControl

private AISControl aisControl

bos

private java.io.ByteArrayOutputStream bos

dos

private java.io.DataOutputStream dos
Constructor Detail

AISBinaryDataSource

public AISBinaryDataSource(AISControl aisControl,
                           AISDataBlock sisterDataBlock)
Method Detail

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 class BinaryDataSource
Returns:
integer module version number

getModuleHeaderData

public byte[] getModuleHeaderData()
Specified by:
getModuleHeaderData in class BinaryDataSource
Returns:
Additional information (e.g. a control structure for a detector) to be stored in the Module Specific Control structure

getStreamName

public java.lang.String getStreamName()
Specified by:
getStreamName in class BinaryDataSource
Returns:
Stream name to be stored in the file header

getStreamVersion

public int getStreamVersion()
Specified by:
getStreamVersion in class BinaryDataSource
Returns:
Stream version name to be stored in the Module Specific Control structure

newFileOpened

public void newFileOpened(java.io.File outputFile)
Description copied from class: BinaryDataSource
Called from the BinaryOutputStream whenever a new output file is opened.

Specified by:
newFileOpened in class BinaryDataSource
Parameters:
outputFile - file information.

saveData

public void saveData(PamDataUnit pamDataUnit)
Description copied from class: BinaryDataSource
Save data into the binary stream

Specified by:
saveData in class BinaryDataSource

sinkData

public PamDataUnit sinkData(BinaryObjectData binaryObjectData,
                            BinaryHeader bh,
                            int moduleVersion)
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 class BinaryDataSource
Parameters:
binaryObjectData - Binary data read back from a file.
bh - binary header from start of file.
Returns:
the PamDataUnit created from these data

sinkModuleFooter

public ModuleFooter sinkModuleFooter(BinaryObjectData binaryObjectData,
                                     BinaryHeader bh,
                                     ModuleHeader moduleHeader)
Description copied from class: BinaryDataSource
Do something with module footer information

Specified by:
sinkModuleFooter in class BinaryDataSource
Parameters:
binaryObjectData - data for the module header.
bh - Binary header information

sinkModuleHeader

public ModuleHeader sinkModuleHeader(BinaryObjectData binaryObjectData,
                                     BinaryHeader bh)
Description copied from class: BinaryDataSource
Do something with module header information

Specified by:
sinkModuleHeader in class BinaryDataSource
Parameters:
binaryObjectData - data for the module header.
bh - Binary header information