⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downloadimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	public void addDownloadWillBeRemovedListener(DownloadWillBeRemovedListener l)
	{
		removal_listeners_mon.enter();
		List new_removal_listeners = new ArrayList(removal_listeners);
		new_removal_listeners.add(l);
		removal_listeners = new_removal_listeners;
		removal_listeners_mon.exit();
		break MISSING_BLOCK_LABEL_52;
		Exception exception;
		exception;
		removal_listeners_mon.exit();
		throw exception;
	}

	public void removeDownloadWillBeRemovedListener(DownloadWillBeRemovedListener l)
	{
		removal_listeners_mon.enter();
		List new_removal_listeners = new ArrayList(removal_listeners);
		new_removal_listeners.remove(l);
		removal_listeners = new_removal_listeners;
		removal_listeners_mon.exit();
		break MISSING_BLOCK_LABEL_52;
		Exception exception;
		exception;
		removal_listeners_mon.exit();
		throw exception;
	}

	public void addPeerListener(final DownloadPeerListener listener)
	{
		DownloadManagerPeerListener delegate = new DownloadManagerPeerListener() {

			final DownloadPeerListener val$listener;
			final DownloadImpl this$0;

			public void peerManagerAdded(PEPeerManager manager)
			{
				PeerManager pm = PeerManagerImpl.getPeerManager(manager);
				listener.peerManagerAdded(DownloadImpl.this, pm);
			}

			public void peerManagerRemoved(PEPeerManager manager)
			{
				PeerManager pm = PeerManagerImpl.getPeerManager(manager);
				listener.peerManagerRemoved(DownloadImpl.this, pm);
			}

			public void peerManagerWillBeAdded(PEPeerManager pepeermanager)
			{
			}

			public void peerAdded(PEPeer pepeer)
			{
			}

			public void peerRemoved(PEPeer pepeer)
			{
			}

			
			{
				this$0 = DownloadImpl.this;
				listener = downloadpeerlistener;
				super();
			}
		};
		peer_listeners_mon.enter();
		peer_listeners.put(listener, delegate);
		peer_listeners_mon.exit();
		break MISSING_BLOCK_LABEL_49;
		Exception exception;
		exception;
		peer_listeners_mon.exit();
		throw exception;
		download_manager.addPeerListener(delegate);
		return;
	}

	public void removePeerListener(DownloadPeerListener listener)
	{
		DownloadManagerPeerListener delegate;
		peer_listeners_mon.enter();
		delegate = (DownloadManagerPeerListener)peer_listeners.remove(listener);
		peer_listeners_mon.exit();
		break MISSING_BLOCK_LABEL_41;
		Exception exception;
		exception;
		peer_listeners_mon.exit();
		throw exception;
		if (delegate == null)
			Debug.out("Listener not found for removal");
		else
			download_manager.removePeerListener(delegate);
		return;
	}

	public boolean activateRequest(final int count)
	{
		DownloadActivationEvent event;
		Iterator it;
		event = new DownloadActivationEvent() {

			final int val$count;
			final DownloadImpl this$0;

			public Download getDownload()
			{
				return DownloadImpl.this;
			}

			public int getActivationCount()
			{
				return count;
			}

			
			{
				this$0 = DownloadImpl.this;
				count = i;
				super();
			}
		};
		it = activation_listeners.iterator();
_L2:
		if (!it.hasNext())
			break; /* Loop/switch isn't completed */
		DownloadActivationListener listener = (DownloadActivationListener)it.next();
		if (listener.activationRequested(event))
			return true;
		continue; /* Loop/switch isn't completed */
		Throwable e;
		e;
		Debug.printStackTrace(e);
		if (true) goto _L2; else goto _L1
_L1:
		return false;
	}

	public DownloadActivationEvent getActivationState()
	{
		return activation_state;
	}

	public void addActivationListener(DownloadActivationListener l)
	{
		peer_listeners_mon.enter();
		activation_listeners.add(l);
		if (activation_listeners.size() == 1)
			download_manager.addActivationListener(this);
		peer_listeners_mon.exit();
		break MISSING_BLOCK_LABEL_56;
		Exception exception;
		exception;
		peer_listeners_mon.exit();
		throw exception;
	}

	public void removeActivationListener(DownloadActivationListener l)
	{
		peer_listeners_mon.enter();
		activation_listeners.remove(l);
		if (activation_listeners.size() == 0)
			download_manager.removeActivationListener(this);
		peer_listeners_mon.exit();
		break MISSING_BLOCK_LABEL_56;
		Exception exception;
		exception;
		peer_listeners_mon.exit();
		throw exception;
	}

	public void addCompletionListener(DownloadCompletionListener l)
	{
		listeners_mon.enter();
		completion_listeners.add(l);
		listeners_mon.exit();
		break MISSING_BLOCK_LABEL_35;
		Exception exception;
		exception;
		listeners_mon.exit();
		throw exception;
	}

	public void removeCompletionListener(DownloadCompletionListener l)
	{
		listeners_mon.enter();
		completion_listeners.remove(l);
		listeners_mon.exit();
		break MISSING_BLOCK_LABEL_36;
		Exception exception;
		exception;
		listeners_mon.exit();
		throw exception;
	}

	public PeerManager getPeerManager()
	{
		PEPeerManager pm = download_manager.getPeerManager();
		if (pm == null)
			return null;
		else
			return PeerManagerImpl.getPeerManager(pm);
	}

	public DiskManager getDiskManager()
	{
		PeerManager pm = getPeerManager();
		if (pm != null)
			return pm.getDiskManager();
		else
			return null;
	}

	public DiskManagerFileInfo[] getDiskManagerFileInfo()
	{
		org.gudy.azureus2.core3.disk.DiskManagerFileInfo info[] = download_manager.getDiskManagerFileInfo();
		if (info == null)
			return new DiskManagerFileInfo[0];
		DiskManagerFileInfo res[] = new DiskManagerFileInfo[info.length];
		for (int i = 0; i < res.length; i++)
			res[i] = new DiskManagerFileInfoImpl(this, info[i]);

		return res;
	}

	public void setMaximumDownloadKBPerSecond(int kb)
	{
		if (kb == -1)
			Debug.out("setMaximiumDownloadKBPerSecond got value (-1) ZERO_DOWNLOAD. (-1)does not work through this method, use getDownloadRateLimitBytesPerSecond() instead.");
		download_manager.getStats().setDownloadRateLimitBytesPerSecond(kb >= 0 ? kb * 1024 : 0);
	}

	public int getMaximumDownloadKBPerSecond()
	{
		return download_manager.getStats().getDownloadRateLimitBytesPerSecond() / 1024;
	}

	public int getUploadRateLimitBytesPerSecond()
	{
		return download_manager.getStats().getUploadRateLimitBytesPerSecond();
	}

	public void setUploadRateLimitBytesPerSecond(int max_rate_bps)
	{
		download_manager.getStats().setUploadRateLimitBytesPerSecond(max_rate_bps);
	}

	public int getDownloadRateLimitBytesPerSecond()
	{
		return download_manager.getStats().getDownloadRateLimitBytesPerSecond();
	}

	public void setDownloadRateLimitBytesPerSecond(int max_rate_bps)
	{
		download_manager.getStats().setDownloadRateLimitBytesPerSecond(max_rate_bps);
	}

	public int getSeedingRank()
	{
		return download_manager.getSeedingRank();
	}

	public void setSeedingRank(int rank)
	{
		download_manager.setSeedingRank(rank);
	}

	public String getSavePath()
	{
		return download_manager.getSaveLocation().toString();
	}

	public void moveDataFiles(File new_parent_dir)
		throws DownloadException
	{
		try
		{
			download_manager.moveDataFiles(new_parent_dir);
		}
		catch (DownloadManagerException e)
		{
			throw new DownloadException("move operation failed", e);
		}
	}

	public void moveDataFiles(File new_parent_dir, String new_name)
		throws DownloadException
	{
		try
		{
			download_manager.moveDataFiles(new_parent_dir, new_name);
		}
		catch (DownloadManagerException e)
		{
			throw new DownloadException("move / rename operation failed", e);
		}
	}

	public void renameDownload(String new_name)
		throws DownloadException
	{
		try
		{
			download_manager.renameDownload(new_name);
		}
		catch (DownloadManagerException e)
		{
			throw new DownloadException("rename operation failed", e);
		}
	}

	public void moveTorrentFile(File new_parent_dir)
		throws DownloadException
	{
		try
		{
			download_manager.moveTorrentFile(new_parent_dir);
		}
		catch (DownloadManagerException e)
		{
			throw new DownloadException("move operation failed", e);
		}
	}

	/**
	 * @deprecated Method calculateDefaultPaths is deprecated
	 */

	public File[] calculateDefaultPaths(boolean for_moving)
	{
		SaveLocationChange slc = calculateDefaultDownloadLocation();
		if (slc == null)
			return null;
		else
			return (new File[] {
				slc.download_location, slc.torrent_location
			});
	}

	public boolean isInDefaultSaveDir()
	{
		return download_manager.isInDefaultSaveDir();
	}

	public void requestTrackerAnnounce()
	{
		download_manager.requestTrackerAnnounce(false);
	}

	public void requestTrackerAnnounce(boolean immediate)
	{
		download_manager.requestTrackerAnnounce(immediate);
	}

	public void requestTrackerScrape(boolean immediate)
	{
		download_manager.requestTrackerScrape(immediate);
	}

	public byte[] getDownloadPeerId()
	{
		TRTrackerAnnouncer announcer = download_manager.getTrackerClient();
		if (announcer == null)
			return null;
		else
			return announcer.getPeerId();
	}

	public boolean isMessagingEnabled()
	{
		return download_manager.isExtendedMessagingEnabled();
	}

	public void setMessagingEnabled(boolean enabled)
	{
		throw new RuntimeException("setMessagingEnabled is in the process of being removed - if you are seeing this error, let the Azureus developers know that you need this method to stay!");
	}

	public int getPriority()
	{
		return 0;
	}

	public boolean isPriorityLocked()
	{
		return false;
	}

	public void setPriority(int i)
	{
	}

	public boolean isRemoved()
	{
		return download_manager.isDestroyed();
	}

	public String getRelationText()
	{
		return propogatedRelationText(download_manager);
	}

	public Object[] getQueryableInterfaces()
	{
		return (new Object[] {
			download_manager
		});
	}

	private CopyOnWriteMap getAttributeMapForType(int event_type)
	{
		return event_type != 2 ? write_attribute_listeners_map_cow : read_attribute_listeners_map_cow;
	}

	public boolean canMoveDataFiles()
	{
		return download_manager.canMoveDataFiles();
	}

	public void attributeEventOccurred(DownloadManager download, String attribute, int event_type)
	{
		CopyOnWriteMap attr_listener_map = getAttributeMapForType(event_type);
		TorrentAttribute attr = convertAttribute(attribute);
		if (attr == null)
			return;
		List listeners = null;
		listeners = ((CopyOnWriteList)attr_listener_map.get(attribute)).getList();
		if (listeners == null)
			return;
		for (int i = 0; i < listeners.size(); i++)
		{
			DownloadAttributeListener dal = (DownloadAttributeListener)listeners.get(i);
			try
			{
				dal.attributeEventOccurred(this, attr, event_type);
			}
			catch (Throwable t)
			{
				Debug.printStackTrace(t);
			}
		}

	}

	public SaveLocationChange calculateDefaultDownloadLocation()
	{
		return DownloadManagerMoveHandler.recalculatePath(download_manager);
	}

	public Object getUserData(Object key)
	{
		return download_manager.getUserData(key);
	}

	public void setUserData(Object key, Object data)
	{
		download_manager.setUserData(key, data);
	}

	public void startDownload(boolean force)
	{
		if (force)
		{
			setForceStart(true);
			return;
		}
		setForceStart(false);
		int state = getState();
		if (state == 70 || state == 75)
			download_manager.setStateWaiting();
	}

	public void stopDownload()
	{
		if (download_manager.getState() == 70)
		{
			return;
		} else
		{
			download_manager.stopIt(70, false, false);
			return;
		}
	}

	public void changeLocation(SaveLocationChange slc)
		throws DownloadException
	{
		boolean try_to_resume;
		boolean has_change = slc.hasDownloadChange() || slc.hasTorrentChange();
		if (!has_change)
			return;
		has_change = slc.isDifferentDownloadLocation(new File(getSavePath()));
		if (!has_change)
			has_change = slc.isDifferentTorrentLocation(new File(getTorrentFileName()));
		if (!has_change)
			return;
		try_to_resume = !isPaused();
		try
		{
			if (slc.hasDownloadChange())
				download_manager.moveDataFiles(slc.download_location, slc.download_name);
			if (slc.hasTorrentChange())
				download_manager.moveTorrentFile(slc.torrent_location, slc.torrent_name);
		}
		catch (DownloadManagerException e)
		{
			throw new DownloadException(e.getMessage(), e);
		}
		if (try_to_resume)
			resume();
		break MISSING_BLOCK_LABEL_171;
		Exception exception;
		exception;
		if (try_to_resume)
			resume();
		throw exception;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -