Class PageWindowManager

  • All Implemented Interfaces:
    Serializable

    public class PageWindowManager
    extends Object
    implements 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,
                                                             String pageType,
                                                             int size)
        Creates and returns a new page window for given page.
        Parameters:
        pageId -
        pageType -
        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 -
      • getTotalSize

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