Class DelegatorDownloadResourceManager
- java.lang.Object
-
- com.atlassian.confluence.importexport.resource.DelegatorDownloadResourceManager
-
- All Implemented Interfaces:
DownloadResourceManager
,PartialDownloadResourceManager
public class DelegatorDownloadResourceManager extends Object implements PartialDownloadResourceManager
Delegates to the appropriate download resource manager for resource retrievals.
-
-
Constructor Summary
Constructors Constructor Description DelegatorDownloadResourceManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PartialDownloadResourceReader
getPartialResourceReader(String userName, String resourcePath, Map parameters, String requestRange)
Returns aDownloadResourceReader
for part of a downloadable resource.DownloadResourceReader
getResourceReader(String userName, String resourcePath, Map parameters)
Returns aDownloadResourceReader
for a downloadable resource.boolean
matches(String resourcePath)
Returns a boolean to indicate whether the current DownloadResourceManager will know how to handle the given resourcePath.void
setDownloadResourceManagers(List<DownloadResourceManager> downloadResourceManagers)
-
-
-
Method Detail
-
matches
public boolean matches(String resourcePath)
Description copied from interface:DownloadResourceManager
Returns a boolean to indicate whether the current DownloadResourceManager will know how to handle the given resourcePath.- Specified by:
matches
in interfaceDownloadResourceManager
- Parameters:
resourcePath
- the relative URL of the resource including the application context path. For example, "/confluence/download/attachments/12345/temp.png".- Returns:
- true if the manager can handle the given resource path
-
getResourceReader
public DownloadResourceReader getResourceReader(String userName, String resourcePath, Map parameters) throws DownloadResourceNotFoundException, UnauthorizedDownloadResourceException
Description copied from interface:DownloadResourceManager
Returns aDownloadResourceReader
for a downloadable resource. Typically used by HTML/PDF export and resource content downloads.Use this method only if
DownloadResourceManager.matches(String)
returns true.- Specified by:
getResourceReader
in interfaceDownloadResourceManager
- Parameters:
userName
- the user who is retrieving the downloadable resource.resourcePath
- the relative URL of the resource including the application context path. For example, "/confluence/download/attachments/12345/temp.png".parameters
- a map of url paramaters for the resource- Returns:
- a DownloadResourceReader to read the resource content from
- Throws:
DownloadResourceNotFoundException
- if the downloadable resource associated with the resourcePath cannot be foundUnauthorizedDownloadResourceException
- if the user requesting the downloadable resource does not have the permissions to get it
-
getPartialResourceReader
public PartialDownloadResourceReader getPartialResourceReader(String userName, String resourcePath, Map parameters, String requestRange) throws UnauthorizedDownloadResourceException, DownloadResourceNotFoundException, RangeNotSatisfiableException
Description copied from interface:PartialDownloadResourceManager
Returns aDownloadResourceReader
for part of a downloadable resource. Currently being used by attachment downloads Use this method only ifDownloadResourceManager.matches(String)
returns true.- Specified by:
getPartialResourceReader
in interfacePartialDownloadResourceManager
- Parameters:
userName
- the user who is retrieving the downloadable resource.resourcePath
- the relative URL of the resource including the application context path. For example, "/confluence/download/attachments/12345/temp.png".parameters
- a map of url paramaters for the resourcerequestRange
- range of the resource as defined in RFC-2616 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.1- Returns:
- a DownloadResourceReader to read the resource content from
- Throws:
UnauthorizedDownloadResourceException
- if the user requesting the downloadable resource does not have the permissions to get itDownloadResourceNotFoundException
- if the downloadable resource associated with the resourcePath cannot be foundRangeNotSatisfiableException
- if the requested range cannot be served
-
setDownloadResourceManagers
public void setDownloadResourceManagers(List<DownloadResourceManager> downloadResourceManagers)
-
-