Class AttachmentApiContentUiSupport

  • All Implemented Interfaces:
    ApiContentUiSupport<Content>

    public class AttachmentApiContentUiSupport
    extends Object
    implements ApiContentUiSupport<Content>
    Provides metadata about of type com.atlassian.confluence.api.model.content.Content when it is attachment type: the location of icons, relevant CSS classes, links and so on.
    Since:
    8.0
    • Constructor Detail

      • AttachmentApiContentUiSupport

        public AttachmentApiContentUiSupport​(com.atlassian.plugin.webresource.WebResourceUrlProvider webResourceUrlProvider)
    • Method Detail

      • getIconFilePath

        public String getIconFilePath​(Content content,
                                      int size)
        Description copied from interface: ApiContentUiSupport
        Get the URL path to the icon for the gtiven piece of content, without prepending context or web static hashes. This method is usedful in conjunction with the DataSourceFactory, which does not handle context and web static hashes in the url.
        Specified by:
        getIconFilePath in interface ApiContentUiSupport<Content>
        Parameters:
        content - the content to find an icon for
        size - the size. Currently, only 16 is supported, and thus this parameter is ignored.
        Returns:
        a URL for the icon.
      • getIconPath

        public String getIconPath​(Content content,
                                  int size)
        Description copied from interface: ApiContentUiSupport
        Get the URL path to the icon for the given piece of content. Paths are relative to the site root, and will already have the context path prepended to them.

        All icons are square. If no icon is available at the requested size, the implementation should use the following priority to determine what to return:

        1. The smallest icon with width larger than the requested size
        2. If no icon is larger than the requested size, return the largest icon available

        In general you can only assume a 16x16 icon will be available, but this may change in the future.

        Specified by:
        getIconPath in interface ApiContentUiSupport<Content>
        Parameters:
        content - the content to find an icon for
        size - the intended width/height at which the icon will be displayed in pixels
        Returns:
        the path to the icon that best suits the requested size
      • getLegacyIconPath

        public String getLegacyIconPath​(String contentType,
                                        int size)
        Description copied from interface: ApiContentUiSupport
        Get the URL path to the icon for the given type of content. Paths are relative to the site root, and will already have the context path prepended to them. This method will always return the generic icon for the given content: if you want to inspect the content and return different icons based on its state, use #getIconPath(T, int)

        Icon size selection follows the same rule as its sister method.

        Specified by:
        getLegacyIconPath in interface ApiContentUiSupport<Content>
        Parameters:
        contentType - the type of content to find an icon for as would be returned from ContentEntityObject.getType()
        size - the intended width/height at which the icon will be displayed in pixels
        Returns:
        the path to the icon that best suits the requested size
      • getIconCssClass

        public String getIconCssClass​(Content content)
        Description copied from interface: ApiContentUiSupport
        Get the CSS class that can be applied to add an icon to some inline element describing the given content.
        Specified by:
        getIconCssClass in interface ApiContentUiSupport<Content>
        Parameters:
        content - the content to find an icon for
        Returns:
        the CSS class to add that icon to the element
      • getContentCssClass

        public String getContentCssClass​(String contentType,
                                         String contentPluginKey)
        Description copied from interface: ApiContentUiSupport
        Get the CSS class that can be applied to add an icon to some inline element describing the given content. The existence of both IconCssClass (used in the velocity macros) and ContentCssClass (used by the ContentTypesDisplayMapper) is redundant and confusing, and should be reconciled somehow.
        Specified by:
        getContentCssClass in interface ApiContentUiSupport<Content>
        Parameters:
        contentType - the content to find an icon for
        contentPluginKey - the plugin key for the content it it is a ContentType plugin
        Returns:
        the CSS class to add that icon to the element
      • getContentCssClass

        public String getContentCssClass​(Content content)
        Description copied from interface: ApiContentUiSupport
        Get the CSS class that can be applied to some inline element describing the given content
        Specified by:
        getContentCssClass in interface ApiContentUiSupport<Content>
        Parameters:
        content - the content to find the css for
        Returns:
        the CSS class for this content
      • getIconCssClass

        public String getIconCssClass​(SearchResult result)
        Description copied from interface: ApiContentUiSupport
        Get the CSS class that can be applied to add an icon to some inline element describing the given result.
        Specified by:
        getIconCssClass in interface ApiContentUiSupport<Content>
        Parameters:
        result - the search result to find an icon for
        Returns:
        the CSS class to add that icon to the element