Class DefaultBreadcrumbGenerator

java.lang.Object
com.atlassian.confluence.util.breadcrumbs.DefaultBreadcrumbGenerator
All Implemented Interfaces:
BreadcrumbGenerator

public class DefaultBreadcrumbGenerator extends Object implements BreadcrumbGenerator
  • Constructor Details

    • DefaultBreadcrumbGenerator

      public DefaultBreadcrumbGenerator(ThemeManager themeManager)
  • Method Details

    • 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 interface BreadcrumbGenerator
      Parameters:
      action - the action to build breadcrumbs for
      request - 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 interface BreadcrumbGenerator
      Parameters:
      space - the space in which the breadcrumb belongs, or null when this is not applicable
      breadcrumb - the breadcrumb to retrieve a filtered trail for
      Returns:
      the filtered trail of breadcrumbs
    • getContentActionBreadcrumb

      public Breadcrumb getContentActionBreadcrumb(ConfluenceActionSupport 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 interface BreadcrumbGenerator
      Parameters:
      action - the action to retrieve the breadcrumb for
      space - the space to retrieve the breadcrumb for, can be null for global labels
      page - the page to retrieve the breadcrumb for, can be null when retrieving breadcrumb for a label
      label - 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 interface BreadcrumbGenerator
      Parameters:
      space - the space to retrieve the breadcrumb for
      page - 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 interface BreadcrumbGenerator
      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(ConfluenceActionSupport action, Space space)
      Description copied from interface: BreadcrumbGenerator
      Returns the breadcrumb for a space admin action in a space.
      Specified by:
      getSpaceAdminBreadcrumb in interface BreadcrumbGenerator
      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 interface BreadcrumbGenerator
      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 interface BreadcrumbGenerator
      Parameters:
      space - the space to retrieve an advanced breadcrumb for.
      Returns:
      the advanced breadcrumb
    • getBlogCollectorBreadcrumb

      public Breadcrumb getBlogCollectorBreadcrumb(Space space)
      Specified by:
      getBlogCollectorBreadcrumb in interface BreadcrumbGenerator
    • getContentDetailActionBreadcrumb

      public Breadcrumb getContentDetailActionBreadcrumb(ConfluenceActionSupport action, Space space, AbstractPage page)
      Description copied from interface: BreadcrumbGenerator
      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 BreadcrumbGenerator.getContentActionBreadcrumb(ConfluenceActionSupport, Space, AbstractPage, DisplayableLabel).

      Specified by:
      getContentDetailActionBreadcrumb in interface BreadcrumbGenerator
      Parameters:
      action - the action to retrieve the breadcrumb for
      space - the space to retrieve the breadcrumb for
      page - the page to retrieve the breadcrumb for
      Returns:
      the breadcrumb for the Content Details.