Filesystem
-_property_table : PropertyTable
-_header_block : HeaderBlock
-_documents : List
+createDocument(in stream:InputStream, in name:String)
+writeFilesystem(in stream:OutputStream)
+Filesystem()
Document
-_property : DocumentProperty
-_blocks[] : DocumentBlock
#getDocumentProperty() : DocumentProperty
#Document(in name:String, in stream:InputStream)
DocumentBlock
-_data[ 512 ] : byte
-_bytes_read : int
+DocumentBlock(in stream:InputStream)
+size() : int
+partiallyRead() : boolean
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
PropertyTable
-_properties : List
-_blocks[ ] : BlockWritable
-_start_block : int
+getRoot() : Directory
+addProperty(in property:Property)
+preWrite()
+PropertyTable()
+getStartBlock() : int
DocumentProperty
+DocumentProperty(in name:String, in size:int)
<<Interface>>
BATManaged
+countBlocks() : int
+setStartBlock(in index:int)
<<Interface>>
BlockWritable
+writeBlocks(in stream:OutputStream)
BlockAllocationTable
-_entries : IntList
-_blocks[] : BATBlock
#createBlocks()
#allocateSpace(in blockCount:int) : int
#BlockAllocationTable()
#countBlocks() : int
BATBlock
-_fields[ 128 ] : IntegerField
-_data[ 512 ] : byte
+createBATBlocks(in entries[]:int) : BATBlock
+calculateStorageRequirements(in entryCount:int) : int
sourcePortFig="Fig0.0"
destPortFig="Fig1.0"
sourceFigNode="Fig0"
destFigNode="Fig1"
0..*
sourcePortFig="Fig1.0"
destPortFig="Fig2.0"
sourceFigNode="Fig1"
destFigNode="Fig2"
1..*
sourcePortFig="Fig0.0"
destPortFig="Fig3.0"
sourceFigNode="Fig0"
destFigNode="Fig3"
sourcePortFig="Fig0.0"
destPortFig="Fig4.0"
sourceFigNode="Fig0"
destFigNode="Fig4"
sourcePortFig="Fig1.0"
destPortFig="Fig5.0"
sourceFigNode="Fig1"
destFigNode="Fig5"
sourcePortFig="Fig4.0"
destPortFig="Fig6.0"
sourceFigNode="Fig4"
destFigNode="Fig6"
sourcePortFig="Fig1.0"
destPortFig="Fig6.0"
sourceFigNode="Fig1"
destFigNode="Fig6"
sourcePortFig="Fig1.0"
destPortFig="Fig7.0"
sourceFigNode="Fig1"
destFigNode="Fig7"
sourcePortFig="Fig4.0"
destPortFig="Fig7.0"
sourceFigNode="Fig4"
destFigNode="Fig7"
sourcePortFig="Fig8.0"
destPortFig="Fig7.0"
sourceFigNode="Fig8"
destFigNode="Fig7"
sourcePortFig="Fig8.0"
destPortFig="Fig9.0"
sourceFigNode="Fig8"
destFigNode="Fig9"
1..*