com.atlassian.confluence.pages
Class DelegatorAttachmentManager

java.lang.Object
  extended by com.atlassian.confluence.pages.DelegatorAttachmentManager
All Implemented Interfaces:
AttachmentManager, DelegatingAttachmentManager

public class DelegatorAttachmentManager
extends java.lang.Object
implements AttachmentManager, DelegatingAttachmentManager

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


Constructor Summary
DelegatorAttachmentManager()
           
 
Method Summary
 java.util.List<Attachment> getAllVersions(Attachment attachment)
          Get all versions of an attachment, starting with the current version
 Attachment getAttachment(ContentEntityObject content, java.lang.String attachmentFileName)
          Get the most recent version of an attachment with a given name for a particular page
 Attachment getAttachment(ContentEntityObject content, java.lang.String attachmentFileName, int version)
          Retrieve a named attachment from a page
 AttachmentDao getAttachmentDao()
          Retrieves the AttachmentDao for the AttachmentManager
 java.io.InputStream getAttachmentData(Attachment attachment)
          Retrieve the data for attachment
 AttachmentManager getAttachmentManager()
          Return the AttachmentManager implementation that the delegator wraps
 java.util.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.
 java.util.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.
 java.util.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.
 java.util.List<Attachment> getPreviousVersions(Attachment attachment)
          Get all non-current versions of an attachment, not including the current version.
 void moveAttachment(Attachment attachment, java.lang.String newFileName, ContentEntityObject newName)
           
 void removeAttachmentFromServer(Attachment attachment)
          Removes an Attachment and its data from the server and data store
 void removeAttachments(java.util.List<? extends Attachment> attachments)
          Removes the contents of attachments from the server
 void saveAttachment(Attachment attachment, Attachment previousVersion, java.io.InputStream attachmentData)
          Saves an Attachment and its data
 void setAttachmentData(Attachment attachment, java.io.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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatorAttachmentManager

public DelegatorAttachmentManager()
Method Detail

getAttachmentManager

public AttachmentManager getAttachmentManager()
Description copied from interface: DelegatingAttachmentManager
Return the AttachmentManager implementation that the delegator wraps

Specified by:
getAttachmentManager in interface DelegatingAttachmentManager
Returns:
an AttachmentManager instance

getAttachments

public java.util.List<Attachment> getAttachments(ContentEntityObject content)
Description copied from interface: AttachmentManager
Returns a list of all attachments, old and new.

Specified by:
getAttachments in interface AttachmentManager

getLatestVersionsOfAttachments

public java.util.List<Attachment> getLatestVersionsOfAttachments(ContentEntityObject content)
Description copied from interface: AttachmentManager
Returns a list of only latest versions of attachments.

Specified by:
getLatestVersionsOfAttachments in interface AttachmentManager

getAttachment

public Attachment getAttachment(ContentEntityObject content,
                                java.lang.String attachmentFileName,
                                int version)
Description copied from interface: AttachmentManager
Retrieve a named attachment from a page

Specified by:
getAttachment in interface AttachmentManager
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.

getAttachment

public Attachment getAttachment(ContentEntityObject content,
                                java.lang.String attachmentFileName)
Description copied from interface: AttachmentManager
Get the most recent version of an attachment with a given name for a particular page

Specified by:
getAttachment in interface AttachmentManager
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

getAttachmentData

public java.io.InputStream getAttachmentData(Attachment attachment)
Description copied from interface: AttachmentManager
Retrieve the data for attachment

Specified by:
getAttachmentData in interface AttachmentManager
Parameters:
attachment - the Attachment the data belongs to
Returns:
InputStream representing the data

removeAttachmentFromServer

public void removeAttachmentFromServer(Attachment attachment)
Description copied from interface: AttachmentManager
Removes an Attachment and its data from the server and data store

Specified by:
removeAttachmentFromServer in interface AttachmentManager
Parameters:
attachment - the Attachment to remove

saveAttachment

public void saveAttachment(Attachment attachment,
                           Attachment previousVersion,
                           java.io.InputStream attachmentData)
                    throws java.io.IOException
Description copied from interface: AttachmentManager
Saves an Attachment and its data

Specified by:
saveAttachment in interface AttachmentManager
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:
java.io.IOException

setAttachmentData

public void setAttachmentData(Attachment attachment,
                              java.io.InputStream attachmentData)
                       throws AttachmentDataExistsException
Description copied from interface: AttachmentManager
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.

Specified by:
setAttachmentData in interface AttachmentManager
Parameters:
attachment - Attachment the data belongs to
attachmentData - the data to be saved
Throws:
AttachmentDataExistsException - if data for attachment already exists

moveAttachment

public void moveAttachment(Attachment attachment,
                           java.lang.String newFileName,
                           ContentEntityObject newName)
Specified by:
moveAttachment in interface AttachmentManager
Parameters:
attachment - The attachment to be moved
newFileName - New name of the file
newName - The new contentEntiityObject which will be parent to the attachment

getAllVersions

public java.util.List<Attachment> getAllVersions(Attachment attachment)
Description copied from interface: AttachmentManager
Get all versions of an attachment, starting with the current version

Specified by:
getAllVersions in interface AttachmentManager

getPreviousVersions

public java.util.List<Attachment> getPreviousVersions(Attachment attachment)
Description copied from interface: AttachmentManager
Get all non-current versions of an attachment, not including the current version. (ordered from most recent)

Specified by:
getPreviousVersions in interface AttachmentManager
Parameters:
attachment - the attachment to get all non-current versions for.

getLastAddedVersionsOf

public java.util.List<Attachment> getLastAddedVersionsOf(Attachment attachment)
Description copied from interface: AttachmentManager
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.

Specified by:
getLastAddedVersionsOf in interface AttachmentManager
Parameters:
attachment - attachment (must be the latest version)
Returns:
the last added versions for each user who has added a version of the attachment

removeAttachments

public void removeAttachments(java.util.List<? extends Attachment> attachments)
Description copied from interface: AttachmentManager
Removes the contents of attachments from the server

Specified by:
removeAttachments in interface AttachmentManager
Parameters:
attachments - a List of Attachments
See Also:
AttachmentManager.removeAttachmentFromServer(Attachment)

getMigrator

public AttachmentDao.AttachmentMigrator getMigrator(AttachmentManager destination)
Description copied from interface: AttachmentManager
Retrieves a AttachmentDao.AttachmentMigrator that will allow the attachments from one data store to be moved across to another.

Specified by:
getMigrator in interface AttachmentManager
Parameters:
destination - the AttachmentManager the data is being moved to
Returns:
an AttachmentMigrator object

getCopier

public AttachmentDao.AttachmentCopier getCopier(AttachmentManager destination)
Description copied from interface: AttachmentManager
Retrieves a AttachmentDao.AttachmentCopier that will allow the attachments from one data store to be copied across to another.

Specified by:
getCopier in interface AttachmentManager
Parameters:
destination - the AttachmentManager the data is being copied to
Returns:
an AttachmentCopier object

getAttachmentDao

public AttachmentDao getAttachmentDao()
Description copied from interface: AttachmentManager
Retrieves the AttachmentDao for the AttachmentManager

Specified by:
getAttachmentDao in interface AttachmentManager
Returns:
An AttachmentDao instance

setSettingsManager

public void setSettingsManager(SettingsManager settingsManager)

setClusterConfigurationHelper

public void setClusterConfigurationHelper(ClusterConfigurationHelper clusterConfigurationHelper)

setWebDavAttachmentManager

public void setWebDavAttachmentManager(AttachmentManager webDavAttachmentManager)

setDefaultAttachmentManager

public void setDefaultAttachmentManager(AttachmentManager defaultAttachmentManager)

setDatabaseAttachmentManager

public void setDatabaseAttachmentManager(AttachmentManager databaseAttachmentManager)

setClusterAttachmentManager

public void setClusterAttachmentManager(AttachmentManager clusterAttachmentManager)


Copyright © 2003-2011 Atlassian. All Rights Reserved.