Class GlobalHelper

java.lang.Object
com.atlassian.confluence.themes.GlobalHelper
All Implemented Interfaces:
ThemeHelper
Direct Known Subclasses:
AttachmentHelper, PageHelper

public class GlobalHelper extends Object implements ThemeHelper
  • Constructor Details

  • Method Details

    • getText

      public String getText(String property)
      Specified by:
      getText in interface ThemeHelper
    • getText

      public String getText(String property, Object[] args)
    • getAction

      public ConfluenceActionSupport getAction()
      Specified by:
      getAction in interface ThemeHelper
    • getDomainName

      public String getDomainName()
      Specified by:
      getDomainName in interface ThemeHelper
    • getSpace

      public Space getSpace()
    • getSpaceKey

      public String getSpaceKey()
      Specified by:
      getSpaceKey in interface ThemeHelper
    • getSpaceName

      public String getSpaceName()
      Specified by:
      getSpaceName in interface ThemeHelper
    • getSpaceType

      public String getSpaceType()
    • getPage

      public AbstractPage getPage()
    • renderConfluenceMacro

      public String renderConfluenceMacro(String wikiCall)
      Specified by:
      renderConfluenceMacro in interface ThemeHelper
    • renderConfluenceMacro

      public String renderConfluenceMacro(String messageFormatString, String... args)
    • getLabel

      public DisplayableLabel getLabel()
    • getBreadcrumbs

      public List<Breadcrumb> getBreadcrumbs()
      Returns a list of breadcrumbs ending with the current action.

      The current action is usually the last breadcrumb, represented by text (rather than a link) which is an i18n version of the action name. The action's parent is determined in one of the following ways (given that there is no other convention for the determination of an action's place in the hierachy) :

      1. Action class - hardcoded class test, least scalable
      2. Action package - hardcoded string test, scalable but only reliable if classes in correct location
      3. Action interface - existing interfaces can be used, but adding interfaces just for this is ugly (ask CM)
      4. Action URL - from xwork (?) or servlet request URL, this is valid in that the URL hierarchy is the one we expose to the user, so a crumb path that matches it is intuitive.
      5. Action method - getParentBreadcrumb applied to a concrete or abstract Action gives control to the action itself.

      This method is currently a hack due to our ugly action hierarchy. The logic for all this were in the velocity templates and have been centralized in one location, here. It should be cleaned up later on (no dependency on request URL or package name).

      Returns:
      a list of breadcrumbs ending with the current action
    • getEllipsisCrumbs

      public List<Breadcrumb> getEllipsisCrumbs(List<Breadcrumb> trail)
      Returns the subset of the breadcrumbs which should be hidden under an ellipsis:
      • The first crumb (e.g. Pages collector) can't be part of it
      • The last crumbs, including the page name and the following (e.g. Name and the action) can't be part of it
      • Only the path to the page can be ellipsed
      • Only when 2+ crumbs can be ellipsed