Acts together with the DownloadLink component by dispatcing requests from links produced by DownloadLink to an implementation of DownloadResourceSource. Download resources resolved like this are streamed direct to client with the specified content type and content disposition.
This service needs to have somewhere to lookup the resources that can be downloaded. Each incoming link to this service has an "downloadResourceId" attached, which is passed on to an extension implementing DownloadResourceSource for looking up the resource to download.
In the Tapestry application which uses this service you must define an extension like this:
<extension name="bayeux.downloads.resourcesource" class="com.foo.bar.YourImplementationOfDownloadResourceSource"/>
Where the "com.foo.bar.YourImplementationOfDownloadResourceSource" is a class of your application which implements the DownloadResourceSource interface.
Note: For your download extentions to be seen you have to prefix it with 'bayeux.downloads'. like this:
<extension name="bayeux.downloads.<your-extention-name>" class="com.foo.bar.YourImplementationOfDownloadResourceSource"/>