org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader
Class ResourceDownloaderFileImpl

java.lang.Object
  extended by org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader.ResourceDownloaderBaseImpl
      extended by org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader.ResourceDownloaderFileImpl
All Implemented Interfaces:
ResourceDownloader

public class ResourceDownloaderFileImpl
extends ResourceDownloaderBaseImpl

Author:
parg

Field Summary
protected  boolean cancelled
           
protected  AESemaphore done_sem
           
protected  java.io.File file
           
protected  java.lang.Object result
           
protected  long size
           
 
Fields inherited from class org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader.ResourceDownloaderBaseImpl
this_mon
 
Fields inherited from interface org.gudy.azureus2.plugins.utils.resourcedownloader.ResourceDownloader
PR_BOOLEAN_ANONYMOUS, PR_STRING_CONTENT_TYPE
 
Constructor Summary
ResourceDownloaderFileImpl(ResourceDownloaderBaseImpl _parent, java.io.File _file)
           
 
Method Summary
 void asyncDownload()
          Asynchronously download.
 void cancel()
          Cancel the download.
protected  void cancel(ResourceDownloaderException reason)
           
 boolean completed(ResourceDownloader downloader, java.io.InputStream data)
           
 java.io.InputStream download()
          Synchronously download.
 void failed(ResourceDownloader downloader, ResourceDownloaderException e)
           
 ResourceDownloaderBaseImpl getClone(ResourceDownloaderBaseImpl parent)
           
 java.lang.String getName()
          Get a sensible name for the download based on its details (e.g.
 long getSize()
          Attempts to get the size of the download.
 void setProperty(java.lang.String name, java.lang.Object value)
           
protected  void setSize(long size)
           
 
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
 

Field Detail

cancelled

protected boolean cancelled

file

protected java.io.File file

result

protected java.lang.Object result

done_sem

protected AESemaphore done_sem

size

protected long size
Constructor Detail

ResourceDownloaderFileImpl

public ResourceDownloaderFileImpl(ResourceDownloaderBaseImpl _parent,
                                  java.io.File _file)
Method Detail

getName

public java.lang.String getName()
Description copied from interface: ResourceDownloader
Get a sensible name for the download based on its details (e.g. URL)

Returns:

setSize

protected void setSize(long size)
Specified by:
setSize in class ResourceDownloaderBaseImpl

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.

Throws:
ResourceDownloaderException

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)

getClone

public ResourceDownloaderBaseImpl getClone(ResourceDownloaderBaseImpl parent)
Specified by:
getClone in class ResourceDownloaderBaseImpl

download

public java.io.InputStream download()
                             throws ResourceDownloaderException
Description copied from interface: ResourceDownloader
Synchronously download. Events are still reported to listeners

Returns:
Throws:
ResourceDownloaderException

asyncDownload

public void asyncDownload()
Description copied from interface: ResourceDownloader
Asynchronously download.


cancel

public void cancel()
Description copied from interface: ResourceDownloader
Cancel the download.


cancel

protected void cancel(ResourceDownloaderException reason)

completed

public boolean completed(ResourceDownloader downloader,
                         java.io.InputStream data)

failed

public void failed(ResourceDownloader downloader,
                   ResourceDownloaderException e)