Class PagingNavigator

All Implemented Interfaces:
Serializable, Iterable<Component>, IEventSink, IEventSource, IFeedbackContributor, IConverterLocator, IMetadataContext<Serializable,Component>, IQueueRegion, IHeaderContributor, IRequestableComponent, IHierarchical<Component>, IClusterable
Direct Known Subclasses:
AjaxPagingNavigator

public class PagingNavigator extends Panel
A Wicket panel component to draw and maintain a complete page navigator, meant to be easily added to any PageableListView. A navigation which contains links to the first and last page, the current page +- some increment and which supports paged navigation bars (@see PageableListViewNavigationWithMargin).
Author:
Juergen Donnerstag
See Also:
  • Constructor Details

    • PagingNavigator

      public PagingNavigator(String id, IPageable pageable)
      Constructor.
      Parameters:
      id - See Component
      pageable - The pageable component the page links are referring to.
    • PagingNavigator

      public PagingNavigator(String id, IPageable pageable, IPagingLabelProvider labelProvider)
      Constructor.
      Parameters:
      id - See Component
      pageable - The pageable component the page links are referring to.
      labelProvider - The label provider for the link text.
  • Method Details

    • getPageable

      public final IPageable getPageable()
      IPageable this navigator is linked with
      Returns:
      IPageable instance
    • onInitialize

      protected void onInitialize()
      Description copied from class: Component
      This method is meant to be used as an alternative to initialize components. Usually the component's constructor is used for this task, but sometimes a component cannot be initialized in isolation, it may need to access its parent component or its markup in order to fully initialize. This method is invoked once per component's lifecycle when a path exists from this component to the Page thus providing the component with an atomic callback when the component's environment is built out.

      Overrides must call super#Component.onInitialize(). Usually this should be the first thing an override does, much like a constructor.

      Parent containers are guaranteed to be initialized before their children

      It is safe to use Component.getPage() in this method

      NOTE:The timing of this call is not precise, the contract is that it is called sometime before Component.onBeforeRender().

      Overrides:
      onInitialize in class MarkupContainer
    • newPagingNavigationIncrementLink

      protected AbstractLink newPagingNavigationIncrementLink(String id, IPageable pageable, int increment)
      Create a new increment link. May be subclassed to make use of specialized links, e.g. Ajaxian links.
      Parameters:
      id - the link id
      pageable - the pageable to control
      increment - the increment
      Returns:
      the increment link
    • newPagingNavigationLink

      protected AbstractLink newPagingNavigationLink(String id, IPageable pageable, int pageNumber)
      Create a new pagenumber link. May be subclassed to make use of specialized links, e.g. Ajaxian links.
      Parameters:
      id - the link id
      pageable - the pageable to control
      pageNumber - the page to jump to
      Returns:
      the pagenumber link
    • newNavigation

      protected PagingNavigation newNavigation(String id, IPageable pageable, IPagingLabelProvider labelProvider)
      Create a new PagingNavigation. May be subclassed to make us of specialized PagingNavigation.
      Parameters:
      id - The id of the navigation component
      pageable - the pageable component
      labelProvider - The label provider for the link text.
      Returns:
      the navigation object
    • getPagingNavigation

      Gets the pageable navigation component for configuration purposes.
      Returns:
      the associated pageable navigation.