public class ReadThroughCachingAttachmentManager extends Object implements AttachmentManagerInternal, DelegatingAttachmentManager
| Constructor and Description |
|---|
ReadThroughCachingAttachmentManager(AttachmentManagerInternal delegate,
ReadThroughAttachmentDownloadPathCache pathCache) |
| Modifier and Type | Method and Description |
|---|---|
void |
copyAttachment(Attachment attachment,
ContentEntityObject destinationContent)
Copy specified attachment to specified destination content.
|
void |
copyAttachments(ContentEntityObject sourceContent,
ContentEntityObject destinationContent)
Copy the latest version of all the attachments on the sourceContent to the destinationContent.
|
void |
copyAttachments(ContentEntityObject sourceContent,
ContentEntityObject destinationContent,
SaveContext saveContext)
Copy the latest version of all the attachments on the sourceContent to the destinationContent.
|
int |
countLatestVersionsOfAttachments(ContentEntityObject content)
Returns a count of the number of latest versions of attachments
|
int |
countLatestVersionsOfAttachmentsOnPageSince(ContentEntityObject content,
Date since)
Fetches number of attachments changed on a page since a specific timestamp
|
int |
countLatestVersionsOfAttachmentsWithAnyStatus(ContentEntityObject content)
Returns a count of the number of latest versions of attachments (including trashed)
|
void |
deepAttachmentDelete(AttachmentDeleteOptions attachmentDeleteOptions)
Support delete multiple attachments in batch
|
List<Attachment> |
getAllVersions(Attachment attachment)
Get all versions of an attachment, starting with the current version
|
List<Attachment> |
getAllVersionsOfAttachments(ContentEntityObject content)
Returns a list of all attachments, old and new.
|
Attachment |
getAttachment(ContentEntityObject content,
String attachmentFileName)
Get the most recent version of an attachment with a given name for a particular page
|
Attachment |
getAttachment(ContentEntityObject content,
String attachmentFileName,
int version)
Retrieve a named attachment from a page
|
Attachment |
getAttachment(long id) |
AttachmentDao |
getAttachmentDao()
Retrieves the AttachmentDao for the AttachmentManager
|
InputStream |
getAttachmentData(Attachment attachment)
Retrieve the data for attachment
|
InputStream |
getAttachmentData(Attachment attachment,
Optional<RangeRequest> range)
Retrieve the specified range of data for attachment
|
String |
getAttachmentDownloadPath(ContentEntityObject content,
String attachmentFileName)
Get the download path for the most recent version of an attachment with the given name for some content
|
com.atlassian.fugue.Maybe<Attachment> |
getAttachmentForDownloadPath(String downloadPath)
Deprecated.
since 7.0.1. Use
AttachmentManager.findAttachmentForDownloadPath(String) |
AttachmentManager |
getAttachmentManager()
Return the AttachmentManager implementation that the delegator wraps
|
PageResponse<Attachment> |
getAttachments(ContentEntityObject content,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super Attachment> filterPredicate)
Deprecated.
|
List<Attachment> |
getAttachments(List<Long> ids)
Returns a list of attachments matching the given list of IDs.
|
Optional<AttachmentStatisticsDTO> |
getAttachmentStatistics()
Fetches statistics about attachments
|
AttachmentDataStorageType |
getBackingStorageType()
Returns the currently active storage type.
|
AttachmentDao.AttachmentCopier |
getCopier(AttachmentManager destination)
Retrieves a AttachmentDao.AttachmentCopier that will allow the attachments from
one data store to be copied across to another.
|
List<Attachment> |
getLastAddedVersionsOf(Attachment attachment)
Retrieves all the last added versions for each user who has added a version of the attachment
That is, if a user has added multiple versions, only the latest added version will be added to the list returned.
|
List<Attachment> |
getLatestVersionsOfAttachments(ContentEntityObject content)
Returns a list of only latest versions of attachments.
|
List<Attachment> |
getLatestVersionsOfAttachmentsForMultipleCeos(Iterable<? extends ContentEntityObject> contentEntityObjects)
Returns a list of all the latest versions of attachments for all the CEOs provided
|
List<Attachment> |
getLatestVersionsOfAttachmentsWithAnyStatus(ContentEntityObject content)
Returns a list of only latest versions of attachments (including trashed).
|
List<Attachment> |
getLatestVersionsOfAttachmentsWithAnyStatusForContainers(Iterable<? extends ContentEntityObject> contentEntityObjects)
Returns a list of all the latest versions of attachments for all the CEOs provided (including trashed)
|
AttachmentDao.AttachmentMigrator |
getMigrator(AttachmentManager destination)
Retrieves a AttachmentDao.AttachmentMigrator that will allow the attachments from
one data store to be moved across to another.
|
List<Attachment> |
getPreviousVersions(Attachment attachment)
Get all non-current versions of an attachment, not including the current
version.
|
Map<Long,Long> |
getRemappedAttachmentIds()
Gets a list of remapped attachment IDs.
|
void |
moveAttachment(Attachment latestVersion,
ContentEntityObject newContainer)
Moves an attachment to a different
ContentEntityObject container. |
void |
moveAttachment(Attachment latestVersion,
String fileName,
ContentEntityObject newContent) |
void |
removeAttachmentFromServer(Attachment attachment)
Removes an Attachment and its data from the server and data store.
|
void |
removeAttachments(List<? extends Attachment> attachments)
Removes the contents of attachments from the server
|
void |
removeAttachmentVersionFromServer(Attachment attachment)
Removes the given version of the Attachment and its data from the server and data store.
|
void |
removeAttachmentWithoutNotifications(Attachment attachment)
Removes an Attachment and its data from the server while suppressing notifications.
|
void |
restore(Attachment attachment)
Restores an attachment from trash.
|
void |
saveAttachment(Attachment attachment,
Attachment previousVersion,
InputStream attachmentData)
Saves an Attachment and its data
|
void |
saveAttachment(Attachment attachment,
@Nullable Attachment previousVersion,
InputStream attachmentData,
SaveContext saveContext)
Saves an Attachment and its data, taking a
SaveContext to allow
more useful event handling. |
void |
saveAttachments(List<SavableAttachment> savableAttachments)
Saves multiple attachment and their data
|
void |
saveAttachments(List<SavableAttachment> savableAttachments,
SaveContext saveContext)
Saves multiple attachment and their data
|
void |
setAttachmentData(Attachment attachment,
InputStream attachmentData)
Set the data belonging to attachment
|
void |
trash(Attachment attachment)
Moves an attachment to the trash.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFilteredAttachmentsfindAttachmentForDownloadPathpublic ReadThroughCachingAttachmentManager(AttachmentManagerInternal delegate, ReadThroughAttachmentDownloadPathCache pathCache)
public void deepAttachmentDelete(AttachmentDeleteOptions attachmentDeleteOptions)
AttachmentManagerdeepAttachmentDelete in interface AttachmentManagerpublic Attachment getAttachment(long id)
getAttachment in interface AttachmentManagerpublic List<Attachment> getAttachments(List<Long> ids)
AttachmentManagergetAttachments in interface AttachmentManagerids - list of IDs to retrieve.public List<Attachment> getAllVersionsOfAttachments(ContentEntityObject content)
AttachmentManagergetAllVersionsOfAttachments in interface AttachmentManagerpublic List<Attachment> getLatestVersionsOfAttachments(ContentEntityObject content)
AttachmentManagergetLatestVersionsOfAttachments in interface AttachmentManagerpublic List<Attachment> getLatestVersionsOfAttachmentsForMultipleCeos(Iterable<? extends ContentEntityObject> contentEntityObjects)
AttachmentManagergetLatestVersionsOfAttachmentsForMultipleCeos in interface AttachmentManagerpublic List<Attachment> getLatestVersionsOfAttachmentsWithAnyStatus(ContentEntityObject content)
AttachmentManagergetLatestVersionsOfAttachmentsWithAnyStatus in interface AttachmentManagerpublic List<Attachment> getLatestVersionsOfAttachmentsWithAnyStatusForContainers(Iterable<? extends ContentEntityObject> contentEntityObjects)
AttachmentManagerInternalgetLatestVersionsOfAttachmentsWithAnyStatusForContainers in interface AttachmentManagerInternal@Deprecated public PageResponse<Attachment> getAttachments(ContentEntityObject content, LimitedRequest pageRequest, com.google.common.base.Predicate<? super Attachment> filterPredicate)
AttachmentManagerInternal.getFilteredAttachments(ContentEntityObject, LimitedRequest, java.util.function.Predicate)}AttachmentManagerInternalgetAttachments in interface AttachmentManagerInternalcontent - the content to return attachments forpageRequest - the pagination requestedfilterPredicate - the predicate for filtering found attachmentspublic int countLatestVersionsOfAttachments(ContentEntityObject content)
AttachmentManagercountLatestVersionsOfAttachments in interface AttachmentManagerpublic int countLatestVersionsOfAttachmentsWithAnyStatus(ContentEntityObject content)
AttachmentManagercountLatestVersionsOfAttachmentsWithAnyStatus in interface AttachmentManagerpublic int countLatestVersionsOfAttachmentsOnPageSince(ContentEntityObject content, Date since)
AttachmentManagercountLatestVersionsOfAttachmentsOnPageSince in interface AttachmentManagercontent - the content objectsince - the date of earliest changepublic Optional<AttachmentStatisticsDTO> getAttachmentStatistics()
AttachmentManagergetAttachmentStatistics in interface AttachmentManagerpublic InputStream getAttachmentData(Attachment attachment)
AttachmentManagergetAttachmentData in interface AttachmentManagerattachment - the Attachment the data belongs topublic InputStream getAttachmentData(Attachment attachment, Optional<RangeRequest> range)
AttachmentManagergetAttachmentData in interface AttachmentManagerattachment - the Attachment the data belongs torange - the range of data to retrieve. See com.atlassian.filestore.client.api.entity.ByteRangespublic void removeAttachmentWithoutNotifications(Attachment attachment)
AttachmentManagerremoveAttachmentWithoutNotifications in interface AttachmentManagerpublic void removeAttachmentFromServer(Attachment attachment)
AttachmentManagerremoveAttachmentFromServer in interface AttachmentManagerattachment - the Attachment to removepublic void removeAttachmentVersionFromServer(Attachment attachment)
AttachmentManagerIn case of the given attachment being the latest version, the previous version (if any) gets removed and the given object impersonates the previous version as the latest version.
removeAttachmentVersionFromServer in interface AttachmentManagerattachment - the Attachment to removepublic void removeAttachments(List<? extends Attachment> attachments)
AttachmentManagerremoveAttachments in interface AttachmentManagerattachments - a List of AttachmentsAttachmentManager.removeAttachmentFromServer(Attachment)public void moveAttachment(Attachment latestVersion, String fileName, ContentEntityObject newContent)
moveAttachment in interface AttachmentManagerlatestVersion - The attachment to be movedfileName - New name of the filenewContent - The new contentEntiityObject which will be parent to the attachmentpublic void moveAttachment(Attachment latestVersion, ContentEntityObject newContainer)
AttachmentManagerInternalContentEntityObject container.moveAttachment in interface AttachmentManagerInternallatestVersion - The attachment to be movednewContainer - The new ContentEntiityObject which will be parent to the attachmentpublic void copyAttachments(ContentEntityObject sourceContent, ContentEntityObject destinationContent) throws IOException
AttachmentManagercopyAttachments in interface AttachmentManagersourceContent - the content with attachments to be copied.destinationContent - the content to copy the attachments to.IOException - if there are problems reading or writing attachment data during the copy.public void copyAttachments(ContentEntityObject sourceContent, ContentEntityObject destinationContent, SaveContext saveContext) throws IOException
AttachmentManagercopyAttachments in interface AttachmentManagersourceContent - the content with attachments to be copied.destinationContent - the content to copy the attachments to.saveContext - details the circumstances under which the attachments are being copied.IOException - if there are problems reading or writing attachment data during the copy.public void copyAttachment(Attachment attachment, ContentEntityObject destinationContent) throws IOException
AttachmentManagercopyAttachment in interface AttachmentManagerattachment - the attachmentdestinationContent - the destinationIOExceptionpublic Attachment getAttachment(ContentEntityObject content, String attachmentFileName, int version)
AttachmentManagergetAttachment in interface AttachmentManagercontent - the page the attachment is attached toattachmentFileName - the filename of the attachment to retrieveversion - the version of the attachment to retrieve. If you provide a version of 0
or less, you'll get the most recent version, but you should probably use
#getAttachment(AbstractPage, String) instead for that purpose insteadpublic Attachment getAttachment(ContentEntityObject content, String attachmentFileName)
AttachmentManagergetAttachment in interface AttachmentManagercontent - the page the attachment is attached toattachmentFileName - the filename of the attachment to be retrievedpublic String getAttachmentDownloadPath(ContentEntityObject content, String attachmentFileName)
AttachmentManagergetAttachmentDownloadPath in interface AttachmentManagercontent - the content the attachment is attached toattachmentFileName - the filename of the attachment to be retrievedpublic void saveAttachment(Attachment attachment, @Nullable Attachment previousVersion, InputStream attachmentData, SaveContext saveContext) throws IOException
AttachmentManagerSaveContext to allow
more useful event handling.saveAttachment in interface AttachmentManagerattachment - the modified version of the AttachmentpreviousVersion - the original version of the Attachment (null if new)attachmentData - an InputStream representing the data of the AttachmentsaveContext - provides more information about the circumstances of the saveIOExceptionpublic void saveAttachment(Attachment attachment, Attachment previousVersion, InputStream attachmentData) throws IOException
AttachmentManagersaveAttachment in interface AttachmentManagerattachment - the modified version of the AttachmentpreviousVersion - the original version of the Attachment (null if new)attachmentData - an InputStream representing the data of the AttachmentIOExceptionpublic void saveAttachments(List<SavableAttachment> savableAttachments, SaveContext saveContext) throws IOException
AttachmentManagersaveAttachments in interface AttachmentManagersavableAttachments - the modified version of the AttachmentsaveContext - provides more details about saving. If in doubt pass DefaultSaveContext.DEFAULT.IOExceptionpublic void saveAttachments(List<SavableAttachment> savableAttachments) throws IOException
AttachmentManagersaveAttachments in interface AttachmentManagersavableAttachments - the modified version of the AttachmentIOExceptionpublic void setAttachmentData(Attachment attachment, InputStream attachmentData) throws AttachmentDataExistsException
AttachmentManagerThis method can be used when there is missing data for an Attachment (e.g. during imports) and the data needs to be set manually.
setAttachmentData in interface AttachmentManagerattachment - Attachment the data belongs toattachmentData - the data to be savedAttachmentDataExistsException - if data for attachment already existspublic AttachmentDao.AttachmentMigrator getMigrator(AttachmentManager destination)
AttachmentManagergetMigrator in interface AttachmentManagerdestination - the AttachmentManager the data is being moved topublic AttachmentDao.AttachmentCopier getCopier(AttachmentManager destination)
AttachmentManagergetCopier in interface AttachmentManagerdestination - the AttachmentManager the data is being copied topublic AttachmentDao getAttachmentDao()
AttachmentManagergetAttachmentDao in interface AttachmentManagerpublic List<Attachment> getAllVersions(Attachment attachment)
AttachmentManagergetAllVersions in interface AttachmentManagerpublic List<Attachment> getPreviousVersions(Attachment attachment)
AttachmentManagergetPreviousVersions in interface AttachmentManagerattachment - the attachment to get all non-current versions for.public List<Attachment> getLastAddedVersionsOf(Attachment attachment)
AttachmentManagergetLastAddedVersionsOf in interface AttachmentManagerattachment - attachment (must be the latest version)public AttachmentDataStorageType getBackingStorageType()
AttachmentManagergetBackingStorageType in interface AttachmentManagerAttachmentDao.getBackingStorageType()public void trash(Attachment attachment)
AttachmentManagertrash in interface AttachmentManagerattachment - the attachment to be trashedpublic void restore(Attachment attachment)
AttachmentManagerrestore in interface AttachmentManagerattachment - the attachment to restore@Deprecated public com.atlassian.fugue.Maybe<Attachment> getAttachmentForDownloadPath(String downloadPath)
AttachmentManager.findAttachmentForDownloadPath(String)AttachmentManagerAttachment for the given downloadPath.
The path must at least contain the segment produced by Attachment.getDownloadPath(), that
is /download/attachments/<contentId>/<fileName> where <contentId> identifies a valid
ContentEntityObject and <fileName> identifies a valid Attachment attached to that
ContentEntityObject.
getAttachmentForDownloadPath in interface AttachmentManagerdownloadPath - the download path identifying an Attachment.This value is expected to be url encoded,
with spaces converted to %20 instead of a '+'Attachment.getDownloadPath()public AttachmentManager getAttachmentManager()
DelegatingAttachmentManagergetAttachmentManager in interface DelegatingAttachmentManagerpublic Map<Long,Long> getRemappedAttachmentIds()
AttachmentManagergetRemappedAttachmentIds in interface AttachmentManagerCopyright © 2003–2022 Atlassian. All rights reserved.