setFreezePageId
boolean setFreezePageId(boolean freeze)
Sets whether or not the page is allowed to change its page id. Implementations of this
interface usually change their page id once a change to the data structure is made and
historical record of the current state needs to be kept (usually to be accessible via the
back button). Keeping a historical record is usually achieved by simply incrementing the page
id to the next unique number, so when the implementation is stored it is done so in a new
slot.
This method is useful when for some reason we do not want the implementation to change its
page id under any circumstances. One concrete example is an AJAX request. Suppose the page
with id 10 was written out with callbacks pointing to id 10. Suppose that the user executed
some AJAX callbacks which have changed the page id to 15. Now, the user clicks a non-AJAX
link that was never updated by an AJAX update and still points to id 10 - which causes the
state of the page to be rolled back - which is usually undesirable as all changes made to the
page by AJAX requests are lost. So, instead, whatever is invoking the execution of the AJAX
request on the page can use this method to tell the page to not update its page id thereby
solving the problem.
- Parameters:
freeze
-
- Returns:
- previous state