org.apache.wicket.protocol.http.pagestore
Class PageWindowManager

java.lang.Object
  extended by org.apache.wicket.protocol.http.pagestore.PageWindowManager
All Implemented Interfaces:
java.io.Serializable

public class PageWindowManager
extends java.lang.Object
implements java.io.Serializable

Manages positions and size of serialized pages in the pagemap file.

The pages are 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

Nested Class Summary
static class PageWindowManager.PageWindow
          Public (read only) version of page window.
 
Constructor Summary
PageWindowManager(int maxSize)
          Creates a new PageWindowManager.
 
Method Summary
 PageWindowManager.PageWindow createPageWindow(int pageId, int versionNumber, int ajaxVersionNumber, int size)
          Creates and returns a new page window for given page.
 java.util.List getLastPageWindows(int count)
          Returns last n saved page windows.
 PageWindowManager.PageWindow getPageWindow(int pageId, int versionNumber, int ajaxVersionNumber)
          Returns the page window for given page or null if no window was found.
 int getTotalSize()
          Returns the size of all saved pages
 void removePage(int pageId)
          Removes all page windows for given page.
 void removePage(int pageId, int versionNumber, int ajaxVersionNumber)
          Removes the page window for given page.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PageWindowManager

public PageWindowManager(int 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.PageWindow createPageWindow(int pageId,
                                                     int versionNumber,
                                                     int ajaxVersionNumber,
                                                     int size)
Creates and returns a new page window for given page.

Parameters:
pageId -
versionNumber -
ajaxVersionNumber -
size -
Returns:

getPageWindow

public PageWindowManager.PageWindow getPageWindow(int pageId,
                                                  int versionNumber,
                                                  int ajaxVersionNumber)
Returns the page window for given page or null if no window was found.

Parameters:
pageId -
versionNumber -
ajaxVersionNumber -
Returns:
page window or null

removePage

public void removePage(int pageId,
                       int versionNumber,
                       int ajaxVersionNumber)
Removes the page window for given page.

Parameters:
pageId -
versionNumber -
ajaxVersionNumber -

removePage

public void removePage(int pageId)
Removes all page windows for given page. Removes all page versions.

Parameters:
pageId -

getLastPageWindows

public java.util.List getLastPageWindows(int count)
Returns last n saved page windows.

Parameters:
count -
Returns:

getTotalSize

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

Returns:


Copyright © 2004-2010 Apache Software Foundation. All Rights Reserved.