Interface BlockMgr

All Superinterfaces:
org.apache.jena.atlas.lib.Closeable, org.apache.jena.atlas.lib.Sync
All Known Implementing Classes:
BlockMgrBase, BlockMgrCache, BlockMgrFileAccess, BlockMgrFreeChain, BlockMgrJournal, BlockMgrLogger, BlockMgrReadonly, BlockMgrSwitcher, BlockMgrSync, BlockMgrTracker, BlockMgrWrapper

public interface BlockMgr extends org.apache.jena.atlas.lib.Sync, org.apache.jena.atlas.lib.Closeable
  • Method Summary

    Modifier and Type
    Method
    Description
    allocate(int blockSize)
    Allocate an uninitialized block - writable - call only inside a update sequence.
    void
    beginIterator(Iterator<?> iterator)
    Start of iterator
    void
    Start of read
    void
    Start of update
    void
    Close the block manager
    void
    endIterator(Iterator<?> iterator)
    Completion of iterator
    void
    Completion of read
    void
    Completion of update
    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
    getReadIterator(long id)
    Fetch a block, use for read only in an iterator
    getWrite(long id)
    Fetch a block, use for write and read - only inside "update"
    boolean
    Is this block manager still usable? Closed block managers can not perform any operations except this one.
    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 writeable : it's OK to promote an already writeable block
    void
    release(Block block)
    Release a block, unmodified.
    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? (may be a free block)
    void
    write(Block block)
    Write a block back - it still needs releasing.
  • Method Details

    • allocate

      Block allocate(int blockSize)
      Allocate an uninitialized block - writable - call only inside a update sequence. If blockSize is -1, means "default/fixed size" for this BlockMgr
    • isEmpty

      boolean isEmpty()
      Answer whether there are any blocks in the collection being managed
    • getRead

      Block getRead(long id)
      Fetch a block, use for read only
    • getReadIterator

      Block getReadIterator(long id)
      Fetch a block, use for read only in an iterator
    • getWrite

      Block getWrite(long id)
      Fetch a block, use for write and read - only inside "update"
    • release

      void release(Block block)
      Release a block, unmodified.
    • promote

      Block promote(Block block)
      Promote to writeable : it's OK to promote an already writeable block
    • write

      void write(Block block)
      Write a block back - it still needs releasing.
    • overwrite

      void overwrite(Block blk)
      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

      void free(Block block)
      Announce a block is no longer in use (i.e it's now freed)
    • valid

      boolean valid(int id)
      Is this a valid block id? (may be a free block)
    • close

      void close()
      Close the block manager
      Specified by:
      close in interface org.apache.jena.atlas.lib.Closeable
    • isClosed

      boolean isClosed()
      Is this block manager still usable? Closed block managers can not perform any operations except this one.
    • sync

      void sync()
      Sync the block manager
      Specified by:
      sync in interface org.apache.jena.atlas.lib.Sync
    • syncForce

      void syncForce()
      Sync the block manager : system operation to ensure sync() is passed down
    • beginUpdate

      void beginUpdate()
      Start of update
    • endUpdate

      void endUpdate()
      Completion of update
    • beginRead

      void beginRead()
      Start of read
    • endRead

      void endRead()
      Completion of read
    • beginIterator

      void beginIterator(Iterator<?> iterator)
      Start of iterator
    • endIterator

      void endIterator(Iterator<?> iterator)
      Completion of iterator
    • getLabel

      String getLabel()