Class BlockMgrTracker

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

public class BlockMgrTracker extends Object implements BlockMgr
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static boolean
     
  • Method Summary

    Modifier and Type
    Method
    Description
    allocate(int blockSize)
    Allocate an uninitialized block - writable - call only inside a update sequence.
    long
    The fixed allocated blocks are in the range [0,allocLimit).
    void
    Start of read
    void
    Start of update
    void
    Close the block manager
    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
    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 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
     
    static BlockMgr
    track(BlockMgr blkMgr)
     
    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.

    Methods inherited from class java.lang.Object

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

    • verbose

      public static boolean verbose
  • Method Details

    • track

      public static BlockMgr track(BlockMgr blkMgr)
    • allocate

      public Block allocate(int blockSize)
      Description copied from interface: BlockMgr
      Allocate an uninitialized block - writable - call only inside a update sequence. If blockSize is -1, means "default/fixed size" for this BlockMgr
      Specified by:
      allocate in interface BlockMgr
    • getRead

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

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

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

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

      public void write(Block block)
      Description copied from interface: BlockMgr
      Write a block back - it still needs releasing.
      Specified by:
      write in interface BlockMgr
    • 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.
      Specified by:
      overwrite in interface BlockMgr
    • 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)
      Specified by:
      free in interface BlockMgr
    • sync

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

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

      public void close()
      Description copied from interface: BlockMgr
      Close the block manager
      Specified by:
      close in interface BlockMgr
      Specified by:
      close in interface org.apache.jena.atlas.lib.Closeable
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: BlockMgr
      Answer whether there are any blocks in the collection being managed
      Specified by:
      isEmpty in interface BlockMgr
    • 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
      Specified by:
      allocLimit in interface BlockMgr
    • resetAlloc

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

      public boolean valid(int id)
      Description copied from interface: BlockMgr
      Is this a valid block id? (may be a free block)
      Specified by:
      valid in interface BlockMgr
    • 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.
      Specified by:
      isClosed in interface BlockMgr
    • beginRead

      public void beginRead()
      Description copied from interface: BlockMgr
      Start of read
      Specified by:
      beginRead in interface BlockMgr
    • endRead

      public void endRead()
      Description copied from interface: BlockMgr
      Completion of read
      Specified by:
      endRead in interface BlockMgr
    • beginUpdate

      public void beginUpdate()
      Description copied from interface: BlockMgr
      Start of update
      Specified by:
      beginUpdate in interface BlockMgr
    • endUpdate

      public void endUpdate()
      Description copied from interface: BlockMgr
      Completion of update
      Specified by:
      endUpdate in interface BlockMgr
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getLabel

      public String getLabel()
      Specified by:
      getLabel in interface BlockMgr