public class

DelegatorAttachmentManager

extends Object
implements AttachmentManager DelegatingAttachmentManager
java.lang.Object
   ↳ com.atlassian.confluence.pages.DelegatorAttachmentManager

Class Overview

This class delegates attachment manager requests to the appropriate attachment manager implementation based on certain Confluence configuration options

Summary

Public Constructors
DelegatorAttachmentManager()
Public Methods
void copyAttachments(ContentEntityObject sourceContent, ContentEntityObject destinationContent)
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
List<Attachment> getAllVersions(Attachment attachment)
Get all versions of an attachment, starting with the current version
Attachment getAttachment(long id)
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
AttachmentDao getAttachmentDao()
Retrieves the AttachmentDao for the AttachmentManager
InputStream getAttachmentData(Attachment attachment)
Retrieve the data for attachment
AttachmentManager getAttachmentManager()
Return the AttachmentManager implementation that the delegator wraps
List<Attachment> getAttachments(ContentEntityObject content)
Returns a list of all attachments, old and new.
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.
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.
void moveAttachment(Attachment attachment, String newFileName, ContentEntityObject newName)
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 saveAttachment(Attachment attachment, Attachment previousVersion, InputStream attachmentData)
Saves an Attachment and its data
void saveAttachments(List<SavableAttachment> savableAttachments)
Saves multiple attachment and their data
void setAttachmentData(Attachment attachment, InputStream attachmentData)
Set the data belonging to attachment This method can be used when there is missing data for an Attachment (e.g.
void setClusterAttachmentManager(AttachmentManager clusterAttachmentManager)
void setClusterConfigurationHelper(ClusterConfigurationHelper clusterConfigurationHelper)
void setDatabaseAttachmentManager(AttachmentManager databaseAttachmentManager)
void setDefaultAttachmentManager(AttachmentManager defaultAttachmentManager)
void setSettingsManager(SettingsManager settingsManager)
void setWebDavAttachmentManager(AttachmentManager webDavAttachmentManager)
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.confluence.pages.AttachmentManager
From interface com.atlassian.confluence.pages.DelegatingAttachmentManager

Public Constructors

public DelegatorAttachmentManager ()

Public Methods

public void copyAttachments (ContentEntityObject sourceContent, ContentEntityObject destinationContent)

Copy the latest version of all the attachments on the sourceContent to the destinationContent.

Parameters
sourceContent the content with attachments to be copied.
destinationContent the content to copy the attachments to.
Throws
IOException

public int countLatestVersionsOfAttachments (ContentEntityObject content)

Returns a count of the number of latest versions of attachments

public List<Attachment> getAllVersions (Attachment attachment)

Get all versions of an attachment, starting with the current version

public Attachment getAttachment (long id)

public Attachment getAttachment (ContentEntityObject content, String attachmentFileName)

Get the most recent version of an attachment with a given name for a particular page

Parameters
content the page the attachment is attached to
attachmentFileName the filename of the attachment to be retrieved
Returns
  • the appropriate attachment, or null if no such attachment exists

public Attachment getAttachment (ContentEntityObject content, String attachmentFileName, int version)

Retrieve a named attachment from a page

Parameters
content the page the attachment is attached to
attachmentFileName the filename of the attachment to retrieve
version 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 instead
Returns
  • the requested attachment, or null if the requested attachment does not exist.

public AttachmentDao getAttachmentDao ()

Retrieves the AttachmentDao for the AttachmentManager

Returns
  • An AttachmentDao instance

public InputStream getAttachmentData (Attachment attachment)

Retrieve the data for attachment

Parameters
attachment the Attachment the data belongs to
Returns
  • InputStream representing the data

public AttachmentManager getAttachmentManager ()

Return the AttachmentManager implementation that the delegator wraps

Returns
  • an AttachmentManager instance

public List<Attachment> getAttachments (ContentEntityObject content)

Returns a list of all attachments, old and new.

public AttachmentDao.AttachmentCopier getCopier (AttachmentManager destination)

Retrieves a AttachmentDao.AttachmentCopier that will allow the attachments from one data store to be copied across to another.

Parameters
destination the AttachmentManager the data is being copied to
Returns
  • an AttachmentCopier object

public 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. 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

public List<Attachment> getLatestVersionsOfAttachments (ContentEntityObject content)

Returns a list of only latest versions of attachments.

public AttachmentDao.AttachmentMigrator getMigrator (AttachmentManager destination)

Retrieves a AttachmentDao.AttachmentMigrator that will allow the attachments from one data store to be moved across to another.

Parameters
destination the AttachmentManager the data is being moved to
Returns
  • an AttachmentMigrator object

public List<Attachment> getPreviousVersions (Attachment attachment)

Get all non-current versions of an attachment, not including the current version. (ordered from most recent)

Parameters
attachment the attachment to get all non-current versions for.

public void moveAttachment (Attachment attachment, String newFileName, ContentEntityObject newName)

public void removeAttachmentFromServer (Attachment attachment)

Removes an Attachment and its data from the server and data store

Parameters
attachment the Attachment to remove

public void removeAttachments (List<? extends Attachment> attachments)

Removes the contents of attachments from the server

Parameters
attachments a List of Attachments

public void saveAttachment (Attachment attachment, Attachment previousVersion, InputStream attachmentData)

Saves an Attachment and its data

Parameters
attachment the modified version of the Attachment
previousVersion the original version of the Attachment (null if new)
attachmentData an InputStream representing the data of the Attachment
Throws
IOException

public void saveAttachments (List<SavableAttachment> savableAttachments)

Saves multiple attachment and their data

Parameters
savableAttachments the modified version of the Attachment
Throws
IOException

public void setAttachmentData (Attachment attachment, InputStream attachmentData)

Set the data belonging to attachment This method can be used when there is missing data for an Attachment (e.g. during imports) and the data needs to be set manually.

Parameters
attachment Attachment the data belongs to
attachmentData the data to be saved

public void setClusterAttachmentManager (AttachmentManager clusterAttachmentManager)

public void setClusterConfigurationHelper (ClusterConfigurationHelper clusterConfigurationHelper)

public void setDatabaseAttachmentManager (AttachmentManager databaseAttachmentManager)

public void setDefaultAttachmentManager (AttachmentManager defaultAttachmentManager)

public void setSettingsManager (SettingsManager settingsManager)

public void setWebDavAttachmentManager (AttachmentManager webDavAttachmentManager)