BigBlock
#BIG_BLOCK_SIZE : int = 512
+writeData(in stream:OutputStream)
#doWriteData(in stream:OutputStream, in data[]:byte)
HeaderBlock
-_bat_count : IntegerField
-_property_start : IntegerField
-_sbat_start : IntegerField = -2
-_xbat_start : IntegerField = -2
-_xbat_count : IntegerField = 0
-_data[ 512 ] : byte
+setBATBlocks(in blockCount:int, in startBlock:int) : BATBlock
+setPropertyStart(in startBlock:int)
+setXBATStart(in startBlock:int)
+Header()
+calculateXBATStorageRequirements(in blockCount:int) : int
PropertyBlock
-_properties[ 4 ] : Property
+createPropertyBlockArray(in properties:List) : BlockWritable
BATBlock
-_fields[ 128 ] : IntegerField
-_data[ 512 ] : byte
+createBATBlocks(in entries[]:int) : BATBlock
+calculateStorageRequirements(in entryCount:int) : int
DocumentBlock
-_data[ 512 ] : byte
-_bytes_read : int
+DocumentBlock(in stream:InputStream)
+size() : int
+partiallyRead() : boolean
<<Interface>>
BlockWritable
+writeBlocks(in stream:OutputStream)
sourcePortFig="Fig1.0"
destPortFig="Fig0.0"
sourceFigNode="Fig1"
destFigNode="Fig0"
sourcePortFig="Fig2.0"
destPortFig="Fig0.0"
sourceFigNode="Fig2"
destFigNode="Fig0"
sourcePortFig="Fig3.0"
destPortFig="Fig0.0"
sourceFigNode="Fig3"
destFigNode="Fig0"
sourcePortFig="Fig4.0"
destPortFig="Fig0.0"
sourceFigNode="Fig4"
destFigNode="Fig0"
sourcePortFig="Fig0.0"
destPortFig="Fig5.0"
sourceFigNode="Fig0"
destFigNode="Fig5"