Interface AttachmentDao
- All Known Subinterfaces:
AttachmentDaoInternal
- All Known Implementing Classes:
AbstractDelegatingAttachmentDao
,AbstractHibernateAttachmentDao
,NonTransactionalHibernateAttachmentDao
,ReadThroughCachingAttachmentDao
,TransactionalHibernateAttachmentDao
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
static interface
Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacement -
Method Summary
Modifier and TypeMethodDescriptionvoid
Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacementint
int
countLatestVersionsOfAttachmentsOnPageSince
(ContentEntityObject content, Date since) int
findAll()
Retrieves the latest versions of all AttachmentsfindAllVersions
(Attachment attachment) Retrieves the latest versions of all Attachments and returns an Iterator to the results.getAttachment
(ContentEntityObject content, String fileName, int version) Return the attachment on the specified content with the given filename and version.getAttachmentData
(Attachment attachment) Retrieves the InputStream representing the data for attachmentgetAttachmentData
(Attachment attachment, Optional<RangeRequest> range) Retrieves the InputStream representing the specified range of data for attachmentFetches statistics about attachmentsReturns the backing storage type.getById
(long id) Returns the attachment with the given persistent ID.Returns a list of attachments matching the given list of IDs.getCopier
(AttachmentDao destinationDao) Get a copier object to copy attachments between data storesgetLastAddedVersionsOf
(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.getLatestAttachment
(ContentEntityObject content, String fileName) Return the latest version of the attachment on the specified content with the given filename.Retrieves the latest versions of all attachments to ceogetLatestVersionsOfAttachments
(ContentEntityObject ceo, LimitedRequest request) getLatestVersionsOfAttachmentsForMultipleCeos
(Iterable<? extends ContentEntityObject> contentEntityObjects) Retrieves the latest versions of all attachments for all CEOs providedRetrieves the latest versions of all attachments to ceo (including trashed)getMigrator
(AttachmentDao destinationDao) Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacementGets a list of remapped attachment IDs.boolean
isAttachmentPresent
(Attachment attachment) Check that an attachment existsvoid
moveAttachment
(Attachment attachment, Attachment oldAttachment, ContentEntityObject newContent) Moves an Attachment to a new file name or content objectvoid
Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacementvoid
removeAttachmentFromServer
(Attachment attachment) Removes attachment (and all of its versions)void
removeAttachmentVersionFromServer
(Attachment attachment) Removes an attachment versionvoid
replaceAttachmentData
(Attachment attachment, InputStream attachmentData) Sets the attachment data for attachmentvoid
saveNewAttachment
(Attachment attachment, InputStream attachmentData) Saves a new attachmentvoid
saveNewAttachmentVersion
(Attachment attachment, Attachment previousVersion, InputStream attachmentData) Saves a new version of attachmentvoid
updateAttachment
(Attachment attachment) Update an existing attachment without creating a new version
-
Method Details
-
getLatestVersionsOfAttachments
Retrieves the latest versions of all attachments to ceo- Parameters:
ceo
- the content to look up attachments- Returns:
- a List of Attachment objects
- See Also:
-
getLatestVersionsOfAttachmentsForMultipleCeos
List<Attachment> getLatestVersionsOfAttachmentsForMultipleCeos(Iterable<? extends ContentEntityObject> contentEntityObjects) Retrieves the latest versions of all attachments for all CEOs provided- Parameters:
contentEntityObjects
- CEOs to retrieve attachements for- Returns:
- a List of Attachment objects
- Since:
- 5.9.2
-
getLatestVersionsOfAttachmentsWithAnyStatus
Retrieves the latest versions of all attachments to ceo (including trashed)- Parameters:
ceo
- the content to look up attachments- Returns:
- a List of Attachment objects
- See Also:
-
getLatestVersionsOfAttachments
-
countLatestVersionsOfAttachments
- Parameters:
content
- the content object- Returns:
- the number of current attachments on a content object
- See Also:
-
countLatestVersionsOfAttachmentsWithAnyStatus
- Parameters:
content
- the content object- Returns:
- the number of current attachments on a content object (including trashed)
-
countLatestVersionsOfAttachmentsOnPageSince
- Parameters:
content
- the content objectsince
- the date of earliest change- Returns:
- the number of attachments on a content object (including trashed) changed since
- Since:
- 7.3.0
- See Also:
-
getAttachmentStatistics
Optional<AttachmentStatisticsDTO> getAttachmentStatistics()Fetches statistics about attachments- Returns:
- an AttachmentStatisticsDTO with statistics about attachments such as total and current count
- Since:
- 6.11.0
-
findAll
List<Attachment> findAll()Retrieves the latest versions of all AttachmentsUse of this method is discouraged when there are a large amount of Attachments.
- Returns:
- A List of Attachment objects
- See Also:
-
findLatestVersionsIterator
Iterator<Attachment> findLatestVersionsIterator()Retrieves the latest versions of all Attachments and returns an Iterator to the results.- Returns:
- Iterator to the results
-
getAttachmentData
Retrieves the InputStream representing the data for attachment- Parameters:
attachment
- the attachment whose data will be returned- Returns:
- InputStream of the data
- Throws:
AttachmentDataNotFoundException
- if the data could not be found
-
getAttachmentData
InputStream getAttachmentData(Attachment attachment, Optional<RangeRequest> range) throws AttachmentDataNotFoundException Retrieves the InputStream representing the specified range of data for attachment- Parameters:
attachment
- the attachment whose data will be returnedrange
- the range of data to retrieve. Seecom.atlassian.filestore.client.api.entity.ByteRanges
- Returns:
- InputStream of the data
- Throws:
AttachmentDataNotFoundException
- if the data could not be found
-
saveNewAttachment
Saves a new attachment- Parameters:
attachment
- the Attachment to be savedattachmentData
- the attachment data to be saved
-
saveNewAttachmentVersion
void saveNewAttachmentVersion(Attachment attachment, Attachment previousVersion, InputStream attachmentData) Saves a new version of attachment- Parameters:
attachment
- the Attachment to be savedpreviousVersion
- the previous version of the AttachmentattachmentData
- the attachment data to be saved
-
isAttachmentPresent
Check that an attachment exists- Parameters:
attachment
- the Attachment to be checked
-
moveAttachment
void moveAttachment(Attachment attachment, Attachment oldAttachment, ContentEntityObject newContent) Moves an Attachment to a new file name or content objectThis method assumes that the filename and/or content of the attachment (and its previous versions) have already been updated.
- Parameters:
attachment
- the Attachment to be movedoldAttachment
- the Attachment before it has been updatednewContent
- the new content attachment belongs to- Throws:
IllegalArgumentException
- if attachment is not the latest version
-
removeAttachmentFromServer
Removes attachment (and all of its versions)- Parameters:
attachment
- the Attachment to be removed
-
removeAttachmentVersionFromServer
Removes an attachment version- Parameters:
attachment
- the Attachment version to be removed- Since:
- 4.2
-
replaceAttachmentData
Sets the attachment data for attachmentThis method will overwrite any existing data for the attachment version.
- Parameters:
attachment
- Attachment the data belongs toattachmentData
- the data to save
-
getMigrator
@Deprecated(forRemoval=true, since="8.8") AttachmentDao.AttachmentMigrator getMigrator(AttachmentDao destinationDao) Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacementGet a migrator object to migrate attachments between attachment datastores.To be used when switching datastore implementations
- Parameters:
destinationDao
- dao to move attachments to- Returns:
- A migrator
-
getCopier
Get a copier object to copy attachments between data storesThe source data store will remain untouched
- Parameters:
destinationDao
- dao to copy attachments to- Returns:
- A copier
-
prepareForMigrationTo
Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacementPrepare the data store for a migration from another type of data store.Classes implementing this method will perform any tasks necessary to allow the data store to be used. These tasks may assume that users are locked out of the system.
- Throws:
RuntimeException
- if there was a problem
-
afterMigrationFrom
Deprecated, for removal: This API element is subject to removal in a future version.since 8.8, no replacementPerform any tasks necessary after Attachment data has been moved from this data store to another. These tasks may assume that users are locked out of the system.- Throws:
RuntimeException
- if there was a problem
-
findAllVersions
-
getById
Returns the attachment with the given persistent ID. Returns null if no such attachment exists.- Parameters:
id
- the persistent ID of the attachment to retrieve- Returns:
- the attachment with the given ID, or null if no attachment exists with the provided ID.
- Since:
- 3.0
-
getByIds
Returns a list of attachments matching the given list of IDs. Returns an empty list if no such attachments exist. In the case where some IDs exist and some don't, only the existing Attachments will be returned.- Parameters:
ids
- list of IDs to retrieve- Returns:
- the attachments with the given IDs, or an empty list if no attachments exist with the provided IDs.
- Since:
- 5.7
-
getAttachment
Attachment getAttachment(ContentEntityObject content, String fileName, int version) throws IllegalArgumentException Return the attachment on the specified content with the given filename and version. Returns null if no such attachment exists.Note: unlike
AttachmentManager.getAttachment(ContentEntityObject, String, int)
, this method does not accept zero as a special flag to indicate the latest version of an attachment. To retrieve the latest version of an attachment, usegetLatestAttachment(ContentEntityObject, String)
.- Parameters:
content
- the content to find the attachment onfileName
- the file name of the attachment, treated case-insensitivelyversion
- the version of the attachment- Returns:
- the attachment with the given name and version attached to that content, or null if the attachment does not exist.
- Throws:
IllegalArgumentException
- if the content or fileName is null- Since:
- 3.0
-
getLatestAttachment
Attachment getLatestAttachment(ContentEntityObject content, String fileName) throws IllegalArgumentException Return the latest version of the attachment on the specified content with the given filename. Returns null if no attachment with that name on the content exists.- Parameters:
content
- the content to find the attachment onfileName
- the file name of the attachment- Returns:
- the latest version of attachment with the given name attached to that content, or null if the attachment does not exist.
- Throws:
IllegalArgumentException
- if the content or fileName is null- Since:
- 3.0
-
getLastAddedVersionsOf
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. Result will be sorted with the earliest version coming first.- Parameters:
attachment
- attachment (must be the latest version)- Returns:
- the last added versions for each user who has added a version of the attachment
- Throws:
IllegalArgumentException
- if the attachment is not the latest version or null
-
getBackingStorageType
AttachmentDataStorageType getBackingStorageType()Returns the backing storage type.- Returns:
- the backing storage type
- Since:
- 4.3
- See Also:
-
updateAttachment
Update an existing attachment without creating a new version- Parameters:
attachment
-- Since:
- 5.7
-
getRemappedAttachmentIds
Gets a list of remapped attachment IDs. The key is the old ID and the value is the new ID.- Returns:
- A map where the key is the original ID and the value is the new ID.
- Since:
- 5.7.1
-
getDataDao
AttachmentDataDao getDataDao()
-