Class DefaultThumbnailManager
java.lang.Object
com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager
- All Implemented Interfaces:
ThumbnailManager
ThumbnailManager is a utility used to create and retrieve thumbnails for attachments.
-
Field Summary
Fields inherited from interface com.atlassian.jira.issue.thumbnail.ThumbnailManager
MIME_TYPE
-
Constructor Summary
ConstructorDescriptionDefaultThumbnailManager
(AttachmentKeyMapper attachmentKeyMapper, ThumbnailConfiguration thumbnailConfiguration, AttachmentManager attachmentManager, MimeManager mimeManager, VelocityRequestContextFactory velocityRequestContextFactory, ThumbnailAccessor thumbnailAccessor, ApplicationProperties applicationProperties, FeatureManager featureManager, StreamAttachmentStore streamAttachmentStore, AttachmentConfigManager attachmentConfigManager) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks whether there is an "Abstract Window Toolkit" (AWT Toolkit) available.void
deleteThumbnailForAttachment
(Issue issue, Attachment attachment) Deletes the generated thumbnail for an attachment, if exists.void
deleteThumbnailsForIssue
(Issue issue) Deletes the generated thumbnails for the attachments of an issue.com.atlassian.core.util.thumbnail.Thumbnail
getThumbnail
(Attachment attachment) Returns the Thumbnail that corresponds to an Attachment, or null if the given attachment is not an image.com.atlassian.core.util.thumbnail.Thumbnail
getThumbnail
(Issue issue, Attachment attachment) Returns the Thumbnail that corresponds to an Attachment, or null if the given attachment is not an image.com.atlassian.core.util.thumbnail.Thumbnail
getThumbnailDeferred
(Issue issue, Attachment attachment) A simplified implementation of theThumbnailManager.getThumbnail(Issue, Attachment)
returning only thumbnail mock objects with default dimensions instead of reading existing dimensions from mock file This is speed optimisation and works for internal purposesAttachmentViewDtoConverter.convert(java.util.List)
Collection<com.atlassian.core.util.thumbnail.Thumbnail>
getThumbnails
(Issue issue, ApplicationUser user) RetrievesThumbnails
for anIssue
boolean
isThumbnailable
(Attachment attachment) Indicates whether JIRA can generate a thumbnail for the given attachment.boolean
isThumbnailable
(Issue issue, Attachment attachment) Indicates whether JIRA can generate a thumbnail for the given attachment.<T> T
streamThumbnailContent
(Attachment attachment, InputStreamConsumer<T> consumer) Get binary content of the thumbnailtoThumbnailedImage
(com.atlassian.core.util.thumbnail.Thumbnail thumbnail) Converts a Thumbnail into an ThumbnailedImage.
-
Constructor Details
-
DefaultThumbnailManager
public DefaultThumbnailManager(AttachmentKeyMapper attachmentKeyMapper, ThumbnailConfiguration thumbnailConfiguration, AttachmentManager attachmentManager, MimeManager mimeManager, VelocityRequestContextFactory velocityRequestContextFactory, ThumbnailAccessor thumbnailAccessor, ApplicationProperties applicationProperties, FeatureManager featureManager, StreamAttachmentStore streamAttachmentStore, AttachmentConfigManager attachmentConfigManager)
-
-
Method Details
-
getThumbnails
public Collection<com.atlassian.core.util.thumbnail.Thumbnail> getThumbnails(Issue issue, ApplicationUser user) Description copied from interface:ThumbnailManager
RetrievesThumbnails
for anIssue
- Specified by:
getThumbnails
in interfaceThumbnailManager
- Parameters:
issue
- the issue to get the thumnails for.user
- the user on whose behalf the request is made.- Returns:
- the thumbnails.
- See Also:
-
isThumbnailable
Description copied from interface:ThumbnailManager
Indicates whether JIRA can generate a thumbnail for the given attachment. This method may perform better thanThumbnailManager.isThumbnailable(com.atlassian.jira.issue.attachment.Attachment)
because it doesn't need to look up the issue.- Specified by:
isThumbnailable
in interfaceThumbnailManager
- Parameters:
issue
- the issue to which the attachment relates (if null, this method will look it up)attachment
- the attachment (required)- Returns:
- see above
- See Also:
-
isThumbnailable
Description copied from interface:ThumbnailManager
Indicates whether JIRA can generate a thumbnail for the given attachment.- Specified by:
isThumbnailable
in interfaceThumbnailManager
- Parameters:
attachment
- the attachment (required)- Returns:
- see above
- See Also:
-
getThumbnail
Description copied from interface:ThumbnailManager
Returns the Thumbnail that corresponds to an Attachment, or null if the given attachment is not an image.- Specified by:
getThumbnail
in interfaceThumbnailManager
- Parameters:
attachment
- an Attachment- Returns:
- returns a Thumbnail, or null
- See Also:
-
getThumbnail
Description copied from interface:ThumbnailManager
Returns the Thumbnail that corresponds to an Attachment, or null if the given attachment is not an image.- Specified by:
getThumbnail
in interfaceThumbnailManager
- Parameters:
issue
- the issue for the attachment (passed in for performance reasons)attachment
- an Attachment- Returns:
- returns a Thumbnail, or null
- See Also:
-
getThumbnailDeferred
@Nullable public com.atlassian.core.util.thumbnail.Thumbnail getThumbnailDeferred(Issue issue, Attachment attachment) Description copied from interface:ThumbnailManager
A simplified implementation of theThumbnailManager.getThumbnail(Issue, Attachment)
returning only thumbnail mock objects with default dimensions instead of reading existing dimensions from mock file This is speed optimisation and works for internal purposesAttachmentViewDtoConverter.convert(java.util.List)
- Specified by:
getThumbnailDeferred
in interfaceThumbnailManager
- Parameters:
issue
- the issue for the attachment (passed in for performance reasons)attachment
- an Attachment- Returns:
- returns a Thumbnail, or null
-
checkToolkit
public boolean checkToolkit()Description copied from interface:ThumbnailManager
Checks whether there is an "Abstract Window Toolkit" (AWT Toolkit) available.- Specified by:
checkToolkit
in interfaceThumbnailManager
- Returns:
- true if one is available
-
toThumbnailedImage
public ThumbnailedImage toThumbnailedImage(@Nullable com.atlassian.core.util.thumbnail.Thumbnail thumbnail) Description copied from interface:ThumbnailManager
Converts a Thumbnail into an ThumbnailedImage. The ThumbnailedImage is an analog of the atlassian-core Thumbnail but it contains JIRA-specific methods for getting the image URL, etc.- Specified by:
toThumbnailedImage
in interfaceThumbnailManager
- Parameters:
thumbnail
- a Thumbnail, or null- Returns:
- an ImageThumbnail, or null
-
streamThumbnailContent
public <T> T streamThumbnailContent(Attachment attachment, InputStreamConsumer<T> consumer) throws IOException Description copied from interface:ThumbnailManager
Get binary content of the thumbnail- Specified by:
streamThumbnailContent
in interfaceThumbnailManager
- Type Parameters:
T
- The class that the consumer returns when run.- Parameters:
attachment
- an Attachmentconsumer
- function that consumes the thumbnail data.- Returns:
- the result of the function after it consumed the thumbnail data.
- Throws:
IOException
- if something wrong happens while reading the thumbnail data.
-
deleteThumbnailForAttachment
Description copied from interface:ThumbnailManager
Deletes the generated thumbnail for an attachment, if exists.- Specified by:
deleteThumbnailForAttachment
in interfaceThumbnailManager
- Parameters:
issue
- the issue for the attachment (passed in for performance reasons)attachment
- an Attachment
-
deleteThumbnailsForIssue
Description copied from interface:ThumbnailManager
Deletes the generated thumbnails for the attachments of an issue.- Specified by:
deleteThumbnailsForIssue
in interfaceThumbnailManager
- Parameters:
issue
- the issue whose attachments' thumbnails will be deleted.
-