Class DefaultBreadcrumbGenerator
- java.lang.Object
-
- com.atlassian.confluence.util.breadcrumbs.DefaultBreadcrumbGenerator
-
- All Implemented Interfaces:
BreadcrumbGenerator
public class DefaultBreadcrumbGenerator extends Object implements BreadcrumbGenerator
-
-
Constructor Summary
Constructors Constructor Description DefaultBreadcrumbGenerator(ThemeManager themeManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Breadcrumb
getAdvancedBreadcrumb(Space space)
Returns the advanced breadcrumb in a space.Breadcrumb
getBlogCollectorBreadcrumb(Space space)
Breadcrumb
getContentActionBreadcrumb(com.opensymphony.xwork2.Action action, Space space, AbstractPage page, DisplayableLabel label)
Returns an appropriate breadcrumb for the given action, space, page and label.Breadcrumb
getContentBreadcrumb(Space space, AbstractPage page)
Returns an appropriate breadcrumb for a page or blogpostBreadcrumb
getContentCollectorBreadcrumb(Space space, Class contentClass)
Returns an appropriate collector page breadcrumb to represent content at the root level of a space conforming to the new space information architecture.Breadcrumb
getContentDetailActionBreadcrumb(com.opensymphony.xwork2.Action action, Space space, AbstractPage page)
Breadcrumb for the "detail" pages of a Page/Blog, like Info, Attachments or History.List<Breadcrumb>
getFilteredBreadcrumbTrail(ConfluenceActionSupport action, javax.servlet.http.HttpServletRequest request)
Returns the breadcrumb trail after filtering.List<Breadcrumb>
getFilteredBreadcrumbTrail(Space space, Breadcrumb breadcrumb)
Returns the breadcrumb trail after filtering.Breadcrumb
getSpaceAdminBreadcrumb(com.opensymphony.xwork2.Action action, Space space)
Returns the breadcrumb for a space admin action in a space.Breadcrumb
getSpaceOperationsBreadcrumb(Space space)
Returns the space operations breadcrumb (i.e.
-
-
-
Constructor Detail
-
DefaultBreadcrumbGenerator
public DefaultBreadcrumbGenerator(ThemeManager themeManager)
-
-
Method Detail
-
getFilteredBreadcrumbTrail
public List<Breadcrumb> getFilteredBreadcrumbTrail(ConfluenceActionSupport action, javax.servlet.http.HttpServletRequest request)
Description copied from interface:BreadcrumbGenerator
Returns the breadcrumb trail after filtering.Since the new header (published in Confluence 5.0), we filter out the Dashboard from the breadcrumbs. We also filter out the last breadcrumb in the trail (usually the page name), unless the breadcrumb's filterTrailingBreadcrumb method returns false.
- Specified by:
getFilteredBreadcrumbTrail
in interfaceBreadcrumbGenerator
- Parameters:
action
- the action to build breadcrumbs forrequest
- the request to build breadcrumbs for- Returns:
- the filtered trail of breadcrumbs
-
getFilteredBreadcrumbTrail
public List<Breadcrumb> getFilteredBreadcrumbTrail(Space space, Breadcrumb breadcrumb)
Description copied from interface:BreadcrumbGenerator
Returns the breadcrumb trail after filtering.This method should be used when a breadcrumb is generated independently of an action - E.g. when showing the new location of a page in the move page dialog.
- Specified by:
getFilteredBreadcrumbTrail
in interfaceBreadcrumbGenerator
- Parameters:
space
- the space in which the breadcrumb belongs, or null when this is not applicablebreadcrumb
- the breadcrumb to retrieve a filtered trail for- Returns:
- the filtered trail of breadcrumbs
-
getContentActionBreadcrumb
public Breadcrumb getContentActionBreadcrumb(com.opensymphony.xwork2.Action action, Space space, AbstractPage page, DisplayableLabel label)
Description copied from interface:BreadcrumbGenerator
Returns an appropriate breadcrumb for the given action, space, page and label.- Specified by:
getContentActionBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
action
- the action to retrieve the breadcrumb forspace
- the space to retrieve the breadcrumb for, can be null for global labelspage
- the page to retrieve the breadcrumb for, can be null when retrieving breadcrumb for a labellabel
- the label to retrieve the breadcrumb for, can be null when retrieving breadcrumb for a page- Returns:
- the appropriate content breadcrumb for the given action, space, page and label.
-
getContentBreadcrumb
public Breadcrumb getContentBreadcrumb(Space space, AbstractPage page)
Description copied from interface:BreadcrumbGenerator
Returns an appropriate breadcrumb for a page or blogpost- Specified by:
getContentBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
space
- the space to retrieve the breadcrumb forpage
- the page or blogpost to retrieve the breadcrumb for- Returns:
- the breadcrumb for the content
-
getContentCollectorBreadcrumb
public Breadcrumb getContentCollectorBreadcrumb(Space space, Class contentClass)
Description copied from interface:BreadcrumbGenerator
Returns an appropriate collector page breadcrumb to represent content at the root level of a space conforming to the new space information architecture.This should only be used for retrieving a breadcrumb for content creation at the root level of a space - once the content exists, the breadcrumb for that content should be used instead.
- Specified by:
getContentCollectorBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
space
- the space to retrieve a collector breadcrumb for.contentClass
- the type of content to retrieve a collector breadcrumb for.- Returns:
- the breadcrumb for an appropriate collector page, or null when there is nothing applicable.
-
getSpaceAdminBreadcrumb
public Breadcrumb getSpaceAdminBreadcrumb(com.opensymphony.xwork2.Action action, Space space)
Description copied from interface:BreadcrumbGenerator
Returns the breadcrumb for a space admin action in a space.- Specified by:
getSpaceAdminBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
action
- the action to retrieve a space admin breadcrumb for.space
- the space to retrieve a space admin breadcrumb for.- Returns:
- a space admin breadcrumb.
-
getSpaceOperationsBreadcrumb
public Breadcrumb getSpaceOperationsBreadcrumb(Space space)
Description copied from interface:BreadcrumbGenerator
Returns the space operations breadcrumb (i.e. Browse Space for spaces that don't conform to the new space information architecture) in a space.- Specified by:
getSpaceOperationsBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
space
- the space to retrieve a space operations breadcrumb for.- Returns:
- a space operations breadcrumb.
-
getAdvancedBreadcrumb
public Breadcrumb getAdvancedBreadcrumb(Space space)
Description copied from interface:BreadcrumbGenerator
Returns the advanced breadcrumb in a space. This falls back to the Browse Space breadcrumb for spaces that don't conform to the new space information architecture. This is the same fallback as for Space Operations, but we shouldn't run into a scenario where both breadcrumbs are requested.- Specified by:
getAdvancedBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
space
- the space to retrieve an advanced breadcrumb for.- Returns:
- the advanced breadcrumb
-
getBlogCollectorBreadcrumb
public Breadcrumb getBlogCollectorBreadcrumb(Space space)
- Specified by:
getBlogCollectorBreadcrumb
in interfaceBreadcrumbGenerator
-
getContentDetailActionBreadcrumb
public Breadcrumb getContentDetailActionBreadcrumb(com.opensymphony.xwork2.Action action, Space space, AbstractPage page)
Breadcrumb for the "detail" pages of a Page/Blog, like Info, Attachments or History. It displays "Collector > Parent > Page Name".This breadcrumb is not to be used for actions on content itself, like ViewPageAction, which should use
getContentActionBreadcrumb(Action, Space, AbstractPage, DisplayableLabel)
.- Specified by:
getContentDetailActionBreadcrumb
in interfaceBreadcrumbGenerator
- Parameters:
action
- the action to retrieve the breadcrumb forspace
- the space to retrieve the breadcrumb forpage
- the page to retrieve the breadcrumb for- Returns:
- the breadcrumb for the Content Details.
-
-