java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
org.apache.wicket.extensions.breadcrumb.BreadCrumbBar
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, IBreadCrumbModel, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IMetadataContext<Serializable,org.apache.wicket.Component>, org.apache.wicket.IQueueRegion, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable

public class BreadCrumbBar extends org.apache.wicket.markup.html.panel.Panel implements IBreadCrumbModel
A component that renders bread crumbs. By default, it renders a horizontal list from left to right (oldest left) with bread crumb links and a ' / ' as a separator, e.g.
 first / second / third
 

Delegates how the bread crumb model works to DefaultBreadCrumbsModel.

Override and provide your own markup file if you want to work with other elements, e.g. uls instead of spans.

Author:
Eelco Hillenius
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    List view for rendering the bread crumbs.
  • Field Summary

    Fields inherited from class org.apache.wicket.markup.html.panel.Panel

    PANEL

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Adds a bread crumb model listener.
    Lists the bread crumb participants in this model.
    Gets the currently active participant, if any.
    protected boolean
    Gets whether the current bread crumb should be displayed as a link (e.g. for refreshing) or as a disabled link (effectively just a label).
    protected String
    The return value is written to the markup as is, without escaping. Any part of it that comes from user input or other dynamic content must be escaped with Strings#escapeMarkup(CharSequence).
    protected org.apache.wicket.Component
    newBreadCrumbComponent(String id, long index, int total, IBreadCrumbParticipant breadCrumbParticipant)
    Creates a new bread crumb component.
    protected void
     
    void
    Removes a bread crumb model listener.
    void
    setActive(IBreadCrumbParticipant breadCrumbParticipant)
    Sets the bread crumb as the active one.

    Methods inherited from class org.apache.wicket.markup.html.panel.Panel

    getRegionMarkup, newMarkupSourcingStrategy

    Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

    getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession

    Methods inherited from class org.apache.wicket.MarkupContainer

    add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onInitialize, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.wicket.IQueueRegion

    dequeue, newDequeueContext

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

  • Method Details

    • addListener

      public void addListener(IBreadCrumbModelListener listener)
      Description copied from interface: IBreadCrumbModel
      Adds a bread crumb model listener.
      Specified by:
      addListener in interface IBreadCrumbModel
      Parameters:
      listener - The listener to add
    • allBreadCrumbParticipants

      Description copied from interface: IBreadCrumbModel
      Lists the bread crumb participants in this model.
      Specified by:
      allBreadCrumbParticipants in interface IBreadCrumbModel
      Returns:
      The bread crumbs participants, as list with bread crumb participants.
    • getActive

      Description copied from interface: IBreadCrumbModel
      Gets the currently active participant, if any.
      Specified by:
      getActive in interface IBreadCrumbModel
      Returns:
      The currently active participant, may be null
    • removeListener

      public void removeListener(IBreadCrumbModelListener listener)
      Description copied from interface: IBreadCrumbModel
      Removes a bread crumb model listener.
      Specified by:
      removeListener in interface IBreadCrumbModel
      Parameters:
      listener - The listener to remove
    • setActive

      public void setActive(IBreadCrumbParticipant breadCrumbParticipant)
      Description copied from interface: IBreadCrumbModel
      Sets the bread crumb as the active one. Implementations should call bread crumb added when the bread crumb was not yet part of the model, and bread crumb removed for every crumb that was removed as the result of this call.
      Specified by:
      setActive in interface IBreadCrumbModel
      Parameters:
      breadCrumbParticipant - The bread crump that should be set as the currently active
    • getEnableLinkToCurrent

      protected boolean getEnableLinkToCurrent()
      Gets whether the current bread crumb should be displayed as a link (e.g. for refreshing) or as a disabled link (effectively just a label). The latter is the default. Override if you want different behavior.
      Returns:
      Whether the current bread crumb should be displayed as a link; this method returns false
    • getSeparatorMarkup

      The return value is written to the markup as is, without escaping. Any part of it that comes from user input or other dynamic content must be escaped with Strings#escapeMarkup(CharSequence).

      Returns:
      markup used as a separator between breadcrumbs. By default / is used, but >> is also a popular choice.
    • newBreadCrumbComponent

      protected org.apache.wicket.Component newBreadCrumbComponent(String id, long index, int total, IBreadCrumbParticipant breadCrumbParticipant)
      Creates a new bread crumb component. That component will be rendered as part of the bread crumbs list (which is a <ul> <li> structure).
      Parameters:
      id - The component id
      index - The index of the bread crumb
      total - The total number of bread crumbs in the current model
      breadCrumbParticipant - the bread crumb
      Returns:
      A new bread crumb component
    • onDetach

      protected void onDetach()
      Overrides:
      onDetach in class org.apache.wicket.MarkupContainer