Methods Summary |
---|
public void | asyncDownload()
try{
this_mon.enter();
if ( done_count == retry_count || cancelled ){
done_sem.release();
informFailed((ResourceDownloaderException)result);
}else{
done_count++;
if ( done_count > 1 ){
informActivity( getLogIndent() + " attempt " + done_count + " of " + retry_count );
}
current_downloader = delegate.getClone( this );
current_downloader.addListener( this );
current_downloader.asyncDownload();
}
}finally{
this_mon.exit();
}
|
public void | cancel()
setCancelled();
try{
this_mon.enter();
result = new ResourceDownloaderException( "Download cancelled");
cancelled = true;
informFailed((ResourceDownloaderException)result );
done_sem.release();
if ( current_downloader != null ){
current_downloader.cancel();
}
}finally{
this_mon.exit();
}
|
public boolean | completed(ResourceDownloader downloader, java.io.InputStream data)
if ( informComplete( data )){
result = data;
done_sem.release();
return( true );
}
return( false );
|
public java.io.InputStream | download()
asyncDownload();
done_sem.reserve();
if ( result instanceof InputStream ){
return((InputStream)result);
}
throw((ResourceDownloaderException)result);
|
public void | failed(ResourceDownloader downloader, ResourceDownloaderException e)
result = e;
asyncDownload();
|
public ResourceDownloaderBaseImpl | getClone(ResourceDownloaderBaseImpl parent)
ResourceDownloaderRetryImpl c = new ResourceDownloaderRetryImpl( parent, delegate.getClone( this ), retry_count );
c.setSize(size);
c.setProperties( this );
return( c );
|
public java.lang.String | getName()
return( delegate.getName() + ", retry=" + retry_count );
|
public long | getSize()
if ( size != -2 ){
return( size );
}
try{
for (int i=0;i<retry_count;i++){
try{
ResourceDownloaderBaseImpl c = delegate.getClone( this );
addReportListener( c );
size = c.getSize();
setProperties( c );
return( size );
}catch( ResourceDownloaderException e ){
if ( i == retry_count - 1 ){
throw( e );
}
}
}
}finally{
if ( size == -2 ){
size = -1;
}
setSize( size );
}
return( size );
|
protected void | setProperty(java.lang.String name, java.lang.Object value)
setPropertySupport( name, value );
delegate.setProperty( name, value );
|
protected void | setSize(long l)
size = l;
if ( size >= 0 ){
delegate.setSize( size );
}
|