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"