Class BreadCrumbBar
- 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<Component>
,IEventSink
,IEventSource
,IBreadCrumbModel
,IFeedbackContributor
,IConverterLocator
,IMetadataContext<Serializable,Component>
,IQueueRegion
,IHeaderContributor
,IRequestableComponent
,IHierarchical<Component>
,IClusterable
public class BreadCrumbBar extends 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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
BreadCrumbBar.BreadCrumbsListView
List view for rendering the bread crumbs.
-
Field Summary
-
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 BreadCrumbBar(String id)
Construct.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(IBreadCrumbModelListener listener)
Adds a bread crumb model listener.List<IBreadCrumbParticipant>
allBreadCrumbParticipants()
Lists the bread crumb participants in this model.IBreadCrumbParticipant
getActive()
Gets the currently active participant, if any.protected boolean
getEnableLinkToCurrent()
Gets whether the current bread crumb should be displayed as a link (e.g.protected String
getSeparatorMarkup()
protected Component
newBreadCrumbComponent(String id, long index, int total, IBreadCrumbParticipant breadCrumbParticipant)
Creates a new bread crumb component.protected void
onDetach()
Called to allow a component to detach resources after use.void
removeListener(IBreadCrumbModelListener listener)
Removes a bread crumb model listener.void
setActive(IBreadCrumbParticipant breadCrumbParticipant)
Sets thebread 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, 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 Detail
-
BreadCrumbBar
public BreadCrumbBar(String id)
Construct.- Parameters:
id
- Component id
-
-
Method Detail
-
addListener
public void addListener(IBreadCrumbModelListener listener)
Description copied from interface:IBreadCrumbModel
Adds a bread crumb model listener.- Specified by:
addListener
in interfaceIBreadCrumbModel
- Parameters:
listener
- The listener to add
-
allBreadCrumbParticipants
public List<IBreadCrumbParticipant> allBreadCrumbParticipants()
Description copied from interface:IBreadCrumbModel
Lists the bread crumb participants in this model.- Specified by:
allBreadCrumbParticipants
in interfaceIBreadCrumbModel
- Returns:
- The bread crumbs participants, as list with
bread crumb participants
.
-
getActive
public IBreadCrumbParticipant getActive()
Description copied from interface:IBreadCrumbModel
Gets the currently active participant, if any.- Specified by:
getActive
in interfaceIBreadCrumbModel
- 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 interfaceIBreadCrumbModel
- Parameters:
listener
- The listener to remove
-
setActive
public void setActive(IBreadCrumbParticipant breadCrumbParticipant)
Description copied from interface:IBreadCrumbModel
Sets thebread crumb
as the active one. Implementations should callbread crumb added
when the bread crumb was not yet part of the model, andbread crumb removed
for every crumb that was removed as the result of this call.- Specified by:
setActive
in interfaceIBreadCrumbModel
- 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
protected String getSeparatorMarkup()
- Returns:
- markup used as a separator between breadcrumbs. By default
/
is used, but>>
is also a popular choice.
-
newBreadCrumbComponent
protected 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 idindex
- The index of the bread crumbtotal
- The total number of bread crumbs in the current modelbreadCrumbParticipant
- the bread crumb- Returns:
- A new bread crumb component
-
onDetach
protected void onDetach()
Description copied from class:Component
Called to allow a component to detach resources after use. Overrides of this method MUST call the super implementation, the most logical place to do this is the last line of the override method.- Overrides:
onDetach
in classMarkupContainer
-
-