Interface ThumbnailManager

    • Method Detail

      • isThumbnailable

        boolean isThumbnailable​(@Nullable Attachment attachment)
        Checks the content type/mime type of the attachment to determine whether a thumbnail can be created from it
        Parameters:
        attachment - the attachment
        Returns:
        true if the attachment can have thumbnail, otherwise false
      • getThumbnailData

        InputStream getThumbnailData​(@NonNull Attachment attachment)
                              throws FileNotFoundException
        Retrieves the thumbnail data (as a stream) of the latest version from where it was stored in the file system. This function assumes that the thumbnail has been created i.e getThumbnail has been called.
        Parameters:
        attachment - the attachment
        Returns:
        the input stream of the thumbnail
        Throws:
        FileNotFoundException - if the thumbnail file is not found
      • getThumbnailData

        InputStream getThumbnailData​(@NonNull Attachment attachment,
                                     @Nullable ImageDimensions imageDimensions)
                              throws FileNotFoundException
        Retrieves the thumbnail data (as a stream) of the latest version from where it was stored in the file system. This function assumes that the thumbnail has been created. i.e getThumbnail has been called.
        Parameters:
        attachment - the attachment
        imageDimensions - image dimensions of the thumbnail
        Returns:
        the input stream of the thumbnail
        Throws:
        FileNotFoundException - if the thumbnail file is not found
        Since:
        5.7
      • removeThumbnail

        boolean removeThumbnail​(@NonNull Attachment attachment)
        Removes the thumbnail for the specified attachment
        Parameters:
        attachment - the attachment
        Returns:
        true if the thumbnail was found and was successfully removed, false if no thumbnail was found or the thumbnail could not be removed
      • getThumbnail

        com.atlassian.core.util.thumbnail.Thumbnail getThumbnail​(@NonNull Attachment attachment)
                                                          throws IllegalArgumentException
        Returns a thumbnail for this attachment having ensured the thumbnail exists in the filesystem, generating it only if it doesn't already exist. The size of the thumbnail is set by the application's configuration.
        Parameters:
        attachment - the attachment
        Returns:
        the thumbnail if the attachment
        Throws:
        IllegalArgumentException - if the attachment is an inappropriate type for thumbnailing, i.e. isThumbnailable(Attachment) returns false
      • getThumbnail

        com.atlassian.core.util.thumbnail.Thumbnail getThumbnail​(@NonNull Attachment attachment,
                                                                 @Nullable ImageDimensions imageDimensions)
                                                          throws IllegalArgumentException
        Returns a thumbnail for this attachment having ensured the thumbnail exists in the filesystem, generating it only if it doesn't already exist. The size of the thumbnail is set in parameters, if it doesn't exist, then use the application's configuration.
        Parameters:
        attachment - the attachment
        imageDimensions - image dimensions of the thumbnail
        Returns:
        the thumbnail of the attachment
        Throws:
        IllegalArgumentException - if the attachment is an inappropriate type for thumbnailing, i.e. isThumbnailable(Attachment) returns false
        Since:
        5.7
      • getThumbnailInfo

        ThumbnailInfo getThumbnailInfo​(@NonNull Attachment attachment)
                                throws CannotGenerateThumbnailException
        Return the details of a thumbnail for a given attachment without actually creating the thumbnail file on disk. The address of the thumbnail will be rooted at the context path, rather than the base url. The thumbnail maximum size is taken from the global settings.
        Parameters:
        attachment - the attachment
        Returns:
        the thumbnail information of the attachment, never null
        Throws:
        CannotGenerateThumbnailException - if no thumbnail information can be generated for this thumbnail
      • getThumbnailInfo

        ThumbnailInfo getThumbnailInfo​(@NonNull Attachment attachment,
                                       @Nullable ImageDimensions imageDimensions)
                                throws CannotGenerateThumbnailException
        Return the details of a thumbnail for a given attachment without actually creating the thumbnail file on disk. The address of the thumbnail will be rooted at the context path, rather than the base url. The thumbnail maximum size is set in parameters, if it doesn't exist, then taken from the global settings.
        Parameters:
        attachment - the attachment
        imageDimensions - image dimensions of the thumbnail
        Returns:
        the thumbnail information of the attachment, never null
        Throws:
        CannotGenerateThumbnailException - if no thumbnail information can be generated for this thumbnail
        Since:
        5.7
      • getThumbnailInfo

        ThumbnailInfo getThumbnailInfo​(@NonNull Attachment attachment,
                                       @Nullable String rootAttachmentPath,
                                       @Nullable ImageDimensions imageDimensions)
                                throws CannotGenerateThumbnailException
        Return the details of a thumbnail for a given attachment without actually creating the thumbnail file on disk. The address of the thumbnail will be rooted at the context path, rather than the base url. The thumbnail maximum size is set in parameters, if it doesn't exist, then taken from the global settings.
        Parameters:
        attachment - the attachment
        rootAttachmentPath - path to the thumbnail, excepting the thumbnail itself. Eg the value returned by ConfluenceRenderUtils.getAttachmentRemotePath(com.atlassian.confluence.pages.Attachment).
        imageDimensions - image dimensions of the thumbnail
        Returns:
        thumbnail information for the attachment, never null
        Throws:
        CannotGenerateThumbnailException - if no thumbnail information can be generated for this thumbnail
        Since:
        5.7
      • isThumbnailable

        boolean isThumbnailable​(@Nullable ThumbnailInfo info)
        Check the thumbnail information to determine whether a thumbnail can be created from it
        Parameters:
        info - the thumbnail information
        Returns:
        true if it can have thumbnail, otherwise false