Class TempPageHolder


  • public final class TempPageHolder
    extends Object
    Manages a reference to a page buffer.
    Author:
    James Ahlborn
    • Method Detail

      • newHolder

        public static TempPageHolder newHolder​(TempBufferHolder.Type type)
        Creates a new TempPageHolder.
        Parameters:
        type - the type of reference desired for any create page buffers
      • getPageNumber

        public int getPageNumber()
        Returns:
        the currently set page number
      • setPage

        public ByteBuffer setPage​(PageChannel pageChannel,
                                  int pageNumber)
                           throws IOException
        Sets the current page number and returns that page
        Returns:
        the page for the new page number, reading as necessary, resets position
        Throws:
        IOException
      • invalidate

        public void invalidate()
        Forces any current page data to be disregarded (any getPage/setPage call must reload page data). Does not necessarily release any memory.
      • possiblyInvalidate

        public void possiblyInvalidate​(int modifiedPageNumber,
                                       ByteBuffer modifiedBuffer)
        Forces any current page data to be disregarded if it matches the given page number (any getPage/setPage call must reload page data) and is not the given buffer. Does not necessarily release any memory.
      • clear

        public void clear()
        Forces any current page data to be disregarded (any getPage/setPage call must reload page data) and releases any referenced memory.