Class PageWindowManager

  • All Implemented Interfaces:
    java.io.Serializable

    public class PageWindowManager
    extends java.lang.Object
    implements java.io.Serializable
    Manages positions and size of chunks of data in a file.

    The data is stored inside the file in a cyclic way. Newer pages are placed after older ones, until the maximum file size is reached. After that, the next page is stored in the beginning of the file.

    Author:
    Matej Knopp
    See Also:
    Serialized Form
    • Constructor Detail

      • PageWindowManager

        public PageWindowManager​(long maxSize)
        Creates a new PageWindowManager.
        Parameters:
        maxSize - maximum page size. After this size is exceeded, the pages will be saved starting at the beginning of file
    • Method Detail

      • createPageWindow

        public PageWindowManager.FileWindow createPageWindow​(int pageId,
                                                             java.lang.String pageType,
                                                             int size)
        Creates and returns a new page window for given page.
        Parameters:
        pageId -
        type -
        size -
        Returns:
        page window
      • getPageWindow

        public PageWindowManager.FileWindow getPageWindow​(int pageId)
        Returns the page window for given page or null if no window was found.
        Parameters:
        pageId -
        Returns:
        page window or null
      • removePage

        public void removePage​(int pageId)
        Removes the page window for given page.
        Parameters:
        pageId -
      • getFileWindows

        public java.util.List<PageWindowManager.FileWindow> getFileWindows()
        Returns last n saved page windows.
        Returns:
        list of page windows
      • getTotalSize

        public int getTotalSize()
        Returns the size of all saved pages
        Returns:
        total size