Class BlockMgrTracker

  • All Implemented Interfaces:
    org.apache.jena.atlas.lib.Closeable, org.apache.jena.atlas.lib.Sync, BlockMgr

    public class BlockMgrTracker
    extends java.lang.Object
    implements BlockMgr
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean verbose  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Block allocate​(int blockSize)
      Allocate an uninitialized block - writable - call only inside a update sequence.
      long allocLimit()
      The fixed allocated blocks are in the range [0,allocLimit).
      void beginRead()
      Start of read
      void beginUpdate()
      Start of update
      void close()
      Close the block manager
      void endRead()
      Completion of read
      void endUpdate()
      Completion of update
      void free​(Block block)
      Announce a block is no longer in use (i.e it's now freed)
      java.lang.String getLabel()  
      Block getRead​(long id)
      Fetch a block, use for read only
      Block getWrite​(long id)
      Fetch a block, use for write and read - only inside "update"
      boolean isClosed()
      Is this block manager still usable? Closed block managers can not perform any operations except this one.
      boolean isEmpty()
      Answer whether there are any blocks in the collection being managed
      void overwrite​(Block block)
      Replace the contents of a block slot with new contents.
      Block 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()
      Sync the block manager
      void syncForce()
      Sync the block manager : system operation to ensure sync() is passed down
      java.lang.String toString()  
      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 Detail

      • verbose

        public static boolean verbose
    • Method Detail

      • 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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getLabel

        public java.lang.String getLabel()
        Specified by:
        getLabel in interface BlockMgr