org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader
Class ResourceDownloaderAlternateImpl
java.lang.Object
org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader.ResourceDownloaderBaseImpl
org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader.ResourceDownloaderAlternateImpl
- All Implemented Interfaces:
- ResourceDownloader, ResourceDownloaderListener
public class ResourceDownloaderAlternateImpl
- extends ResourceDownloaderBaseImpl
- implements ResourceDownloaderListener
Methods inherited from class org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader.ResourceDownloaderBaseImpl |
addChild, addListener, addReportListener, getBooleanProperty, getBooleanProperty, getChildren, getClone, getLCKeyProperties, getLogIndent, getLongProperty, getParent, getProperty, getProperty, getPropertySupport, getStringProperty, getStringPropertySupport, informActivity, informAmountComplete, informComplete, informFailed, informPercentDone, isAnonymous, isCancelled, removeChild, removeListener, reportActivity, reportActivity, reportAmountComplete, reportPercentComplete, setCancelled, setParent, setProperties, setPropertiesSet, setPropertyRecursive, setPropertySupport |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
delegates
protected ResourceDownloader[] delegates
max_to_try
protected int max_to_try
random
protected boolean random
cancelled
protected boolean cancelled
current_downloader
protected ResourceDownloader current_downloader
current_index
protected int current_index
result
protected Object result
done_sem
protected AESemaphore done_sem
size
protected long size
ResourceDownloaderAlternateImpl
public ResourceDownloaderAlternateImpl(ResourceDownloaderBaseImpl _parent,
ResourceDownloader[] _delegates,
int _max_to_try,
boolean _random)
getName
public String getName()
- Description copied from interface:
ResourceDownloader
- Get a sensible name for the download based on its details (e.g. URL)
- Specified by:
getName
in interface ResourceDownloader
- Returns:
getSize
public long getSize()
throws ResourceDownloaderException
- Description copied from interface:
ResourceDownloader
- Attempts to get the size of the download. Returns -1 if the size can't be determined.
Note: You must not call this method from the reportActivity callback method.
- Specified by:
getSize
in interface ResourceDownloader
- Throws:
ResourceDownloaderException
setSize
protected void setSize(long l)
- Specified by:
setSize
in class ResourceDownloaderBaseImpl
setProperty
public void setProperty(String name,
Object value)
throws ResourceDownloaderException
- Specified by:
setProperty
in interface ResourceDownloader
- Throws:
ResourceDownloaderException
getClone
public ResourceDownloaderBaseImpl getClone(ResourceDownloaderBaseImpl parent)
- Specified by:
getClone
in class ResourceDownloaderBaseImpl
download
public InputStream download()
throws ResourceDownloaderException
- Description copied from interface:
ResourceDownloader
- Synchronously download. Events are still reported to listeners
- Specified by:
download
in interface ResourceDownloader
- Returns:
-
- Throws:
ResourceDownloaderException
asyncDownload
public void asyncDownload()
- Description copied from interface:
ResourceDownloader
- Asynchronously download.
- Specified by:
asyncDownload
in interface ResourceDownloader
cancel
public void cancel()
- Description copied from interface:
ResourceDownloader
- Cancel the download.
- Specified by:
cancel
in interface ResourceDownloader
completed
public boolean completed(ResourceDownloader downloader,
InputStream data)
- Specified by:
completed
in interface ResourceDownloaderListener
- Returns:
- return true if the completed download is OK. If false is returned then
if there are alternative download sources they will be tried. If there are no
other sources then the download will be "failed"
failed
public void failed(ResourceDownloader downloader,
ResourceDownloaderException e)
- Specified by:
failed
in interface ResourceDownloaderListener