Class ResourceDownloaderTorrentImpl
java.lang.Object
com.biglybt.pifimpl.local.utils.resourcedownloader.ResourceDownloaderBaseImpl
com.biglybt.pifimpl.local.utils.resourcedownloader.ResourceDownloaderTorrentImpl
- All Implemented Interfaces:
ResourceDownloader
,ResourceDownloaderListener
public class ResourceDownloaderTorrentImpl
extends ResourceDownloaderBaseImpl
implements ResourceDownloaderListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected boolean
protected ResourceDownloader
protected ResourceDownloaderBaseImpl
protected AESemaphore
protected Download
protected File
protected DownloadManager
static final int
protected boolean
protected Object
protected long
protected TOTorrent[]
Fields inherited from class com.biglybt.pifimpl.local.utils.resourcedownloader.ResourceDownloaderBaseImpl
this_mon
Fields inherited from interface com.biglybt.pif.utils.resourcedownloader.ResourceDownloader
PR_BOOLEAN_ANONYMOUS, PR_STRING_CONTENT_TYPE
-
Constructor Summary
ConstructorsConstructorDescriptionResourceDownloaderTorrentImpl
(ResourceDownloaderBaseImpl _parent, ResourceDownloader _delegate, boolean _persistent, File _download_dir) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Asynchronously download.void
cancel()
Cancel the download.boolean
completed
(ResourceDownloader downloader, InputStream data) download()
Synchronously download.protected void
downloadRemoved
(File torrent_file, File data_dir) protected void
downloadSucceeded
(Download download, File torrent_file, File data_dir) protected void
void
failed
(ResourceDownloader downloader, ResourceDownloaderException e) getClone
(ResourceDownloaderBaseImpl parent) getName()
Get a sensible name for the download based on its details (e.g.long
getSize()
Attempts to get the size of the download.protected long
void
reportPercentComplete
(ResourceDownloader downloader, int percentage) void
setProperty
(String name, Object value) protected void
setSize
(long l) protected void
setSizeAndTorrent
(long _size, TOTorrent[] _torrent_holder) Methods inherited from class com.biglybt.pifimpl.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, setCancelled, setParent, setProperties, setPropertiesSet, setPropertyRecursive, setPropertySupport
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.biglybt.pif.utils.resourcedownloader.ResourceDownloaderListener
reportActivity, reportAmountComplete
-
Field Details
-
MAX_FOLLOWS
public static final int MAX_FOLLOWS- See Also:
-
delegate
-
persistent
protected boolean persistent -
download_dir
-
size
protected long size -
torrent_holder
-
download_manager
-
download
-
cancelled
protected boolean cancelled -
completed
protected boolean completed -
current_downloader
-
result
-
done_sem
-
-
Constructor Details
-
ResourceDownloaderTorrentImpl
public ResourceDownloaderTorrentImpl(ResourceDownloaderBaseImpl _parent, ResourceDownloader _delegate, boolean _persistent, File _download_dir)
-
-
Method Details
-
getName
Description copied from interface:ResourceDownloader
Get a sensible name for the download based on its details (e.g. URL)- Specified by:
getName
in interfaceResourceDownloader
- Returns:
-
getSize
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 interfaceResourceDownloader
- Throws:
ResourceDownloaderException
-
setSize
protected void setSize(long l) - Specified by:
setSize
in classResourceDownloaderBaseImpl
-
setProperty
- Specified by:
setProperty
in interfaceResourceDownloader
- Throws:
ResourceDownloaderException
-
getSizeSupport
- Throws:
ResourceDownloaderException
-
setSizeAndTorrent
-
getClone
- Specified by:
getClone
in classResourceDownloaderBaseImpl
-
download
Description copied from interface:ResourceDownloader
Synchronously download. Events are still reported to listeners- Specified by:
download
in interfaceResourceDownloader
- Returns:
- Throws:
ResourceDownloaderException
-
asyncDownload
public void asyncDownload()Description copied from interface:ResourceDownloader
Asynchronously download.- Specified by:
asyncDownload
in interfaceResourceDownloader
-
downloadTorrent
protected void downloadTorrent() -
downloadSucceeded
-
downloadRemoved
-
cancel
public void cancel()Description copied from interface:ResourceDownloader
Cancel the download.- Specified by:
cancel
in interfaceResourceDownloader
-
completed
- Specified by:
completed
in interfaceResourceDownloaderListener
- 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
- Specified by:
failed
in interfaceResourceDownloaderListener
-
reportPercentComplete
- Specified by:
reportPercentComplete
in interfaceResourceDownloaderListener
- Overrides:
reportPercentComplete
in classResourceDownloaderBaseImpl
-