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

📄 updatecheckerimpl.java

📁 java 文件下载器。可自定义
💻 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:   UpdateCheckerImpl.java

package org.gudy.azureus2.pluginsimpl.local.update;

import java.util.ArrayList;
import java.util.List;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.plugins.update.*;
import org.gudy.azureus2.plugins.utils.resourcedownloader.ResourceDownloader;

// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.update:
//			UpdatableComponentImpl, UpdateCheckInstanceImpl

public class UpdateCheckerImpl
	implements UpdateChecker
{

	protected UpdateCheckInstanceImpl check_instance;
	protected UpdatableComponentImpl component;
	protected AESemaphore semaphore;
	protected boolean completed;
	protected boolean failed;
	protected boolean cancelled;
	protected boolean sem_released;
	protected List listeners;
	protected List progress_listeners;
	protected AEMonitor this_mon;

	protected UpdateCheckerImpl(UpdateCheckInstanceImpl _check_instance, UpdatableComponentImpl _component, AESemaphore _sem)
	{
		listeners = new ArrayList();
		progress_listeners = new ArrayList();
		this_mon = new AEMonitor("UpdateChecker");
		check_instance = _check_instance;
		component = _component;
		semaphore = _sem;
	}

	public UpdateCheckInstance getCheckInstance()
	{
		return check_instance;
	}

	public Update addUpdate(String name, String description[], String new_version, ResourceDownloader downloader, int restart_required)
	{
		return addUpdate(name, description, new_version, new ResourceDownloader[] {
			downloader
		}, restart_required);
	}

	public Update addUpdate(String name, String description[], String new_version, ResourceDownloader downloaders[], int restart_required)
	{
		reportProgress((new StringBuilder()).append("Adding update: ").append(name).toString());
		return check_instance.addUpdate(component, name, description, new_version, downloaders, restart_required);
	}

	public UpdateInstaller createInstaller()
		throws UpdateException
	{
		return check_instance.createInstaller();
	}

	public UpdatableComponent getComponent()
	{
		return component.getComponent();
	}

	public void completed()
	{
		this_mon.enter();
		if (!sem_released)
		{
			completed = true;
			for (int i = 0; i < listeners.size(); i++)
				try
				{
					((UpdateCheckerListener)listeners.get(i)).completed(this);
				}
				catch (Throwable e)
				{
					Debug.printStackTrace(e);
				}

			sem_released = true;
			semaphore.release();
		}
		this_mon.exit();
		break MISSING_BLOCK_LABEL_99;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void failed()
	{
		this_mon.enter();
		if (!sem_released)
		{
			failed = true;
			for (int i = 0; i < listeners.size(); i++)
				try
				{
					((UpdateCheckerListener)listeners.get(i)).failed(this);
				}
				catch (Throwable e)
				{
					Debug.printStackTrace(e);
				}

			sem_released = true;
			semaphore.release();
		}
		this_mon.exit();
		break MISSING_BLOCK_LABEL_99;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	protected boolean getFailed()
	{
		return failed;
	}

	protected void cancel()
	{
		cancelled = true;
		for (int i = 0; i < listeners.size(); i++)
			try
			{
				((UpdateCheckerListener)listeners.get(i)).cancelled(this);
			}
			catch (Throwable e)
			{
				Debug.printStackTrace(e);
			}

	}

	public void addListener(UpdateCheckerListener l)
	{
		this_mon.enter();
		listeners.add(l);
		if (failed)
			l.failed(this);
		else
		if (completed)
			l.completed(this);
		if (cancelled)
			l.cancelled(this);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_83;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removeListener(UpdateCheckerListener l)
	{
		this_mon.enter();
		listeners.remove(l);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_38;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void reportProgress(String str)
	{
		List ref = progress_listeners;
		for (int i = 0; i < ref.size(); i++)
			try
			{
				((UpdateProgressListener)ref.get(i)).reportProgress(str);
			}
			catch (Throwable e)
			{
				Debug.printStackTrace(e);
			}

	}

	public void addProgressListener(UpdateProgressListener l)
	{
		this_mon.enter();
		List new_l = new ArrayList(progress_listeners);
		new_l.add(l);
		progress_listeners = new_l;
		this_mon.exit();
		break MISSING_BLOCK_LABEL_52;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removeProgressListener(UpdateProgressListener l)
	{
		this_mon.enter();
		List new_l = new ArrayList(progress_listeners);
		new_l.remove(l);
		progress_listeners = new_l;
		this_mon.exit();
		break MISSING_BLOCK_LABEL_52;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}
}

⌨️ 快捷键说明

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