📄 resourcedownloaderbaseimpl.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: ResourceDownloaderBaseImpl.java
package org.gudy.azureus2.pluginsimpl.local.utils.resourcedownloader;
import java.io.InputStream;
import java.util.*;
import org.gudy.azureus2.core3.util.AEMonitor;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.plugins.utils.resourcedownloader.*;
public abstract class ResourceDownloaderBaseImpl
implements ResourceDownloader
{
private static final String PR_PROPERTIES_SET = "!!!! properties set !!!!";
private List listeners;
private boolean result_informed;
private Object result_informed_data;
private ResourceDownloaderBaseImpl parent;
private List children;
private boolean download_cancelled;
private Map lc_key_properties;
protected AEMonitor this_mon;
protected ResourceDownloaderBaseImpl(ResourceDownloaderBaseImpl _parent)
{
listeners = new ArrayList();
children = new ArrayList();
lc_key_properties = new HashMap();
this_mon = new AEMonitor("ResourceDownloader");
parent = _parent;
if (parent != null)
parent.addChild(this);
}
public abstract ResourceDownloaderBaseImpl getClone(ResourceDownloaderBaseImpl resourcedownloaderbaseimpl);
protected abstract void setSize(long l);
public Object getProperty(String name)
throws ResourceDownloaderException
{
Object res = getPropertySupport(name);
if (res != null || getPropertySupport("!!!! properties set !!!!") != null)
{
return res;
} else
{
getSize();
return getPropertySupport(name);
}
}
protected Object getPropertySupport(String name)
{
return lc_key_properties.get(name.toLowerCase());
}
protected Map getLCKeyProperties()
{
return lc_key_properties;
}
protected String getStringPropertySupport(String name)
{
Object obj = lc_key_properties.get(name.toLowerCase());
if (obj instanceof String)
return (String)obj;
else
return null;
}
protected void setPropertiesSet()
throws ResourceDownloaderException
{
setProperty("!!!! properties set !!!!", "true");
}
protected void setPropertySupport(String name, Object value)
{
boolean already_set = lc_key_properties.put(name.toLowerCase(), value) == value;
if (parent != null && !already_set)
try
{
parent.setProperty(name, value);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
protected void setProperties(ResourceDownloaderBaseImpl other)
{
Map p = other.lc_key_properties;
for (Iterator it = p.keySet().iterator(); it.hasNext();)
{
String key = (String)it.next();
try
{
setProperty(key, p.get(key));
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
}
protected void setParent(ResourceDownloader _parent)
{
ResourceDownloaderBaseImpl old_parent = parent;
parent = (ResourceDownloaderBaseImpl)_parent;
if (old_parent != null)
old_parent.removeChild(this);
if (parent != null)
parent.addChild(this);
}
protected ResourceDownloaderBaseImpl getParent()
{
return parent;
}
protected void addChild(ResourceDownloaderBaseImpl kid)
{
children.add(kid);
}
protected void removeChild(ResourceDownloaderBaseImpl kid)
{
children.remove(kid);
}
protected List getChildren()
{
return children;
}
protected String getLogIndent()
{
String indent = "";
for (ResourceDownloaderBaseImpl pos = parent; pos != null; pos = pos.getParent())
indent = (new StringBuilder()).append(indent).append(" ").toString();
return indent;
}
protected void addReportListener(ResourceDownloader rd)
{
rd.addListener(new ResourceDownloaderAdapter() {
final ResourceDownloaderBaseImpl this$0;
public void reportActivity(ResourceDownloader downloader, String activity)
{
informActivity(activity);
}
public void failed(ResourceDownloader downloader, ResourceDownloaderException e)
{
informActivity((new StringBuilder()).append(downloader.getName()).append(":").append(e.getMessage()).toString());
}
{
this$0 = ResourceDownloaderBaseImpl.this;
super();
}
});
}
protected void informPercentDone(int percentage)
{
for (int i = 0; i < listeners.size(); i++)
try
{
((ResourceDownloaderListener)listeners.get(i)).reportPercentComplete(this, percentage);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
protected void informAmountComplete(long amount)
{
for (int i = 0; i < listeners.size(); i++)
try
{
((ResourceDownloaderListener)listeners.get(i)).reportAmountComplete(this, amount);
}
catch (NoSuchMethodError e) { }
catch (AbstractMethodError e) { }
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
public void reportActivity(String str)
{
informActivity(str);
}
protected void informActivity(String activity)
{
for (int i = 0; i < listeners.size(); i++)
try
{
((ResourceDownloaderListener)listeners.get(i)).reportActivity(this, activity);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
protected boolean informComplete(InputStream is)
{
int i;
if (result_informed)
break MISSING_BLOCK_LABEL_73;
i = 0;
_L2:
if (i >= listeners.size())
break; /* Loop/switch isn't completed */
if (!((ResourceDownloaderListener)listeners.get(i)).completed(this, is))
return false;
break MISSING_BLOCK_LABEL_57;
Throwable e;
e;
Debug.printStackTrace(e);
return false;
i++;
if (true) goto _L2; else goto _L1
_L1:
result_informed = true;
result_informed_data = is;
return true;
}
protected void informFailed(ResourceDownloaderException e)
{
if (!result_informed)
{
result_informed = true;
result_informed_data = e;
for (int i = 0; i < listeners.size(); i++)
try
{
((ResourceDownloaderListener)listeners.get(i)).failed(this, e);
}
catch (Throwable f)
{
Debug.printStackTrace(f);
}
}
}
public void reportActivity(ResourceDownloader downloader, String activity)
{
informActivity(activity);
}
public void reportPercentComplete(ResourceDownloader downloader, int percentage)
{
informPercentDone(percentage);
}
public void reportAmountComplete(ResourceDownloader downloader, long amount)
{
informAmountComplete(amount);
}
protected void setCancelled()
{
download_cancelled = true;
}
public boolean isCancelled()
{
return download_cancelled;
}
public void addListener(ResourceDownloaderListener l)
{
listeners.add(l);
if (result_informed)
if (result_informed_data instanceof InputStream)
l.completed(this, (InputStream)result_informed_data);
else
l.failed(this, (ResourceDownloaderException)result_informed_data);
}
public void removeListener(ResourceDownloaderListener l)
{
listeners.remove(l);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -