Class BlockMgrTracker

java.lang.Object
org.apache.jena.tdb1.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 Details

    • verbose

      public static boolean verbose
  • Constructor Details

    • BlockMgrTracker

      public BlockMgrTracker(org.slf4j.Logger logger, String label, BlockMgr blockMgr)
  • 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
    • getReadIterator

      public Block getReadIterator(long id)
      Description copied from interface: BlockMgr
      Fetch a block, use for read only in an iterator
      Specified by:
      getReadIterator 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 writeable : it's OK to promote an already writeable block
      Specified by:
      promote in interface BlockMgr
    • release

      public void release(Block block)
      Description copied from interface: BlockMgr
      Release a block, unmodified.
      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
    • 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
    • beginIterator

      public void beginIterator(Iterator<?> iter)
      Description copied from interface: BlockMgr
      Start of iterator
      Specified by:
      beginIterator in interface BlockMgr
    • endIterator

      public void endIterator(Iterator<?> iter)
      Description copied from interface: BlockMgr
      Completion of iterator
      Specified by:
      endIterator 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