Class BlockMgrFileAccess

java.lang.Object
org.apache.jena.dboe.base.block.BlockMgrBase
org.apache.jena.dboe.base.block.BlockMgrFileAccess
All Implemented Interfaces:
org.apache.jena.atlas.lib.Closeable, org.apache.jena.atlas.lib.Sync, BlockMgr

public final class BlockMgrFileAccess extends BlockMgrBase
Block manager that maps from the FileAccess layer to a BlockMgr. Add free block management (but we should layer with BlockMgrFreeChain)
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    The fixed allocated blocks are in the range [0,allocLimit).
    void
    Close the block manager
    void
    free(Block block)
    Announce a block is no longer in use (i.e it's now freed)
    getRead(long id)
    Fetch a block, use for read only
    getWrite(long id)
    Fetch a block, use for write and read - only inside "update"
    boolean
    Is this block manager still usable?
    boolean
    Answer whether there are any blocks in the collection being managed
    void
    Replace the contents of a block slot with new contents.
    promote(Block block)
    Promote to writable : it's OK to promote an already writable block
    void
    release(Block block)
    Release a block, unmodified or already written.
    void
    resetAlloc(long boundary)
    Reset the allocation limit, should be a number previously obtained from allocLimit
    void
    Sync the block manager
    void
    Sync the block manager : system operation to ensure sync() is passed down
     
    boolean
    valid(int id)
    Is this a valid block id?
    void
    write(Block block)
    Write a block back - it still needs releasing.

    Methods inherited from class org.apache.jena.dboe.base.block.BlockMgrBase

    allocate, beginRead, beginUpdate, endRead, endUpdate, getLabel

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Method Details

    • promote

      public Block promote(Block block)
      Description copied from interface: BlockMgr
      Promote to writable : it's OK to promote an already writable block
    • getRead

      public Block getRead(long id)
      Description copied from interface: BlockMgr
      Fetch a block, use for read only
    • getWrite

      public Block getWrite(long id)
      Description copied from interface: BlockMgr
      Fetch a block, use for write and read - only inside "update"
    • release

      public void release(Block block)
      Description copied from interface: BlockMgr
      Release a block, unmodified or already written.
    • write

      public void write(Block block)
      Description copied from interface: BlockMgr
      Write a block back - it still needs releasing.
    • overwrite

      public void overwrite(Block block)
      Description copied from interface: BlockMgr
      Replace the contents of a block slot with new contents. Block does not need releasing. The write() operation may not do real work if the block is mapped - this operation really does replace the contents with the new contents.
    • free

      public void free(Block block)
      Description copied from interface: BlockMgr
      Announce a block is no longer in use (i.e it's now freed)
    • valid

      public boolean valid(int id)
      Description copied from interface: BlockMgr
      Is this a valid block id? (may be a free block)
    • sync

      public void sync()
      Description copied from interface: BlockMgr
      Sync the block manager
    • syncForce

      public void syncForce()
      Description copied from interface: BlockMgr
      Sync the block manager : system operation to ensure sync() is passed down
    • isClosed

      public boolean isClosed()
      Description copied from interface: BlockMgr
      Is this block manager still usable? Closed block managers can not perform any operations except this one.
    • close

      public void close()
      Description copied from interface: BlockMgr
      Close the block manager
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: BlockMgr
      Answer whether there are any blocks in the collection being managed
    • allocLimit

      public long allocLimit()
      Description copied from interface: BlockMgr
      The fixed allocated blocks are in the range [0,allocLimit). Allocation units need not be +1 increments
    • resetAlloc

      public void resetAlloc(long boundary)
      Description copied from interface: BlockMgr
      Reset the allocation limit, should be a number previously obtained from allocLimit
    • toString

      public String toString()
      Overrides:
      toString in class Object