org.apache.wicket.page
Interface IManageablePage

All Superinterfaces:
IClusterable, java.io.Serializable
All Known Subinterfaces:
IRequestablePage
All Known Implementing Classes:
AbstractErrorPage, AccessDeniedPage, AdminAnnotationsBookmarkablePage, AdminAnnotationsInternalPage, AdminBookmarkablePage, AdminInternalPage, AdminPage, AjaxDataTablePage, AlternativePageFromWebContext, AnnotationsPanelsPage, AnnotPage, AuthenticatedWebPage, AuthenticatedWebPage, AutoCompletePage, BasePage, BasePage, BasePage, BasePage, BasePage, BasePage, BaseTreePage, BaseWicketTester.StartComponentInPage, BodyFrame, BookDetails, BookDetails, BookmarkablePage, BookmarkablePageLinkPage, BorderPage, BrowserInfoPage, ButtonPage, Captcha, CheckBoxMultipleChoicePage, CheckBoxPage, CheckBoxSelectorPage, CheckGroupPage, CheckGroupPage2, ChoicePage, ClockPage, ContactsDisplayPage, DataGridPage, DataTablePage, DatesPage, DecoupledAjaxUpdatePage, DevUtilsPage, DiskStoreBrowserPage, DropDownChoicePage, DummyHomePage, DummyPanelPage, DynamicPage, Echo, EditableLabelPage, EditableTreeTablePage, EditBook, EffectsPage, ExamplePage, ExceptionErrorPage, ExternalLinkPage, FileUploadPage, FormInput, FormPage, FormPage, FormPage, FragmentPage, GenericWebPage, GridViewPage, Guess, GuestBook, GuestBook, HangmanPage, HelloBrowser, HelloWorld, Home, Home, Home, Home, Home, Home, Home, Home, Home, Home, Home, Home, Home, Home, Home, HomePage, HomePage, HomePage, HomePage, HomePage, HomePage, HttpsPage, IncludePage, Index, Index, Index, Index, Index, Index, Index, Index, Index, Index, IndexPage, InspectorPage, InternalErrorPage, LabelPage, LazyLoadingPage, LeftFrame, LinkPage, LinksPage, ListChoicePage, ListMultipleChoicePage, LiveSessionsPage, LocalizedPage, Lose, MockHomePage, ModalContent1Page, ModalContent2Page, ModalWindowPage, MultiLineLabelPage, MultiUploadPage, MySignInPage, NonBookmarkablePage, OIRPage, OnChangeAjaxBehaviorPage, PackageMountedPage, Page, Page1, Page1, Page1, Page1, Page1, Page1, Page2, Page2, Page2, Page2, Page2, Page2, Page2QP, Page3, Page3, Page3, Page4, Page5, PageablesPage, PageExpiredErrorPage, PageFromWebContext, PageLinkPage, PageWithCustomLoading, PagingPage, PalettePage, PanelPage, PanelsPage, Popup, PopupCloseLink.ClosePopupPage, RadioChoicePage, RadioGroupPage, RadioGroupPage2, RatingsPage, RedirectPage, RefreshingPage, RepeatingPage, RequestMapperHomePage, RequestsPage, ResourceTestPage, SelectPage, SignIn, SignIn, SignIn2, SignInPage, SignOut, SignOut, SignOut, SignOut, SignOutPage, SimplePage, SimpleTreePage, SortingPage, SourcesPage, StatefulPage, StatelessPage, StatelessPage1, StatelessPage2, StatelessPage3, StockQuotePage, SubmitLinkPage, TabbedPanelPage, TabbedPanelPage, TemplatePage, TemplatePage, TextAreaPage, TextFieldPage, TodoList, TopFrame, TreeTablePage, UnicodeConverter, UploadPage, WebPage, WicketExamplePage, Win, WizardPage, WorldClockPage, XmlPage

public interface IManageablePage
extends IClusterable

TODO javadoc


Method Summary
 void detach()
          Detaches model after use.
 int getPageId()
           
 boolean isPageStateless()
          Gets whether the page is stateless.
 boolean setFreezePageId(boolean freeze)
          Sets whether or not the page is allowed to change its page id.
 

Method Detail

isPageStateless

boolean isPageStateless()
Gets whether the page is stateless. Components on stateless page must not render any stateful urls. Stateful urls are urls, which refer to a certain (current) page instance and don't contain enough information to reconstruct page if it's not available (page class).

Returns:
Whether this page is stateless

getPageId

int getPageId()
Returns:
A unique identifier for this page map entry

detach

void detach()
Detaches model after use. This is generally used to null out transient references that can be re-attached later.


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


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.