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

📄 progressreporterstack.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:   ProgressReporterStack.java

package org.gudy.azureus2.ui.swt.progress;

import java.util.*;

// Referenced classes of package org.gudy.azureus2.ui.swt.progress:
//			IProgressReport, IProgressReporter

class ProgressReporterStack
{

	private Stack reporterStack;
	private Object lockObject;

	ProgressReporterStack()
	{
		reporterStack = new Stack();
		lockObject = new Object();
	}

	public void push(IProgressReporter reporter)
	{
		if (null == reporter)
			return;
		synchronized (lockObject)
		{
			if (reporterStack.contains(reporter))
				reporterStack.remove(reporter);
			reporterStack.push(reporter);
		}
	}

	public IProgressReporter peek()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		if (!reporterStack.isEmpty())
			return (IProgressReporter)reporterStack.peek();
		null;
		obj;
		JVM INSTR monitorexit ;
		return;
		Exception exception;
		exception;
		throw exception;
	}

	public boolean remove(IProgressReporter reporter)
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		if (null != reporter && reporterStack.contains(reporter))
			return reporterStack.remove(reporter);
		false;
		obj;
		JVM INSTR monitorexit ;
		return;
		Exception exception;
		exception;
		throw exception;
	}

	public boolean contains(IProgressReporter reporter)
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		return reporterStack.contains(reporter);
		Exception exception;
		exception;
		throw exception;
	}

	public IProgressReporter pop()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		if (!reporterStack.isEmpty())
			return (IProgressReporter)reporterStack.pop();
		null;
		obj;
		JVM INSTR monitorexit ;
		return;
		Exception exception;
		exception;
		throw exception;
	}

	public void trim()
	{
		synchronized (lockObject)
		{
			Iterator iterator = reporterStack.iterator();
			do
			{
				if (!iterator.hasNext())
					break;
				IProgressReporter reporter = (IProgressReporter)iterator.next();
				if (!reporter.getProgressReport().isActive())
					iterator.remove();
			} while (true);
		}
	}

	public List getReporters(boolean onlyActive)
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		List reporters;
		reporters = new ArrayList();
		Iterator iterator = reporterStack.iterator();
		do
		{
			if (!iterator.hasNext())
				break;
			IProgressReporter reporter = (IProgressReporter)iterator.next();
			if (onlyActive)
			{
				if (reporter.getProgressReport().isActive())
					reporters.add(reporter);
			} else
			{
				reporters.add(reporter);
			}
		} while (true);
		return reporters;
		Exception exception;
		exception;
		throw exception;
	}

	public int size()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		return reporterStack.size();
		Exception exception;
		exception;
		throw exception;
	}

	public int getActiveCount()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		int activeReporters;
		activeReporters = 0;
		Iterator iterator = reporterStack.iterator();
		do
		{
			if (!iterator.hasNext())
				break;
			IProgressReporter reporter = (IProgressReporter)iterator.next();
			if (reporter.getProgressReport().isActive())
				activeReporters++;
		} while (true);
		return activeReporters;
		Exception exception;
		exception;
		throw exception;
	}

	public int getErrorCount()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		int reportersInErrorState;
		reportersInErrorState = 0;
		Iterator iterator = reporterStack.iterator();
		do
		{
			if (!iterator.hasNext())
				break;
			IProgressReporter reporter = (IProgressReporter)iterator.next();
			if (reporter.getProgressReport().isInErrorState())
				reportersInErrorState++;
		} while (true);
		return reportersInErrorState;
		Exception exception;
		exception;
		throw exception;
	}

	public boolean hasMultipleActive()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		int activeReporters;
		Iterator iterator;
		activeReporters = 0;
		iterator = reporterStack.iterator();
_L1:
		if (!iterator.hasNext())
			break MISSING_BLOCK_LABEL_68;
		IProgressReporter reporter = (IProgressReporter)iterator.next();
		if (reporter.getProgressReport().isActive())
			activeReporters++;
		if (activeReporters > 1)
			return true;
		  goto _L1
		obj;
		JVM INSTR monitorexit ;
		  goto _L2
		Exception exception;
		exception;
		throw exception;
_L2:
		return false;
	}

	public IProgressReporter getNextActiveReporter()
	{
		Object obj = lockObject;
		JVM INSTR monitorenter ;
		Iterator iterator = reporterStack.iterator();
_L1:
		IProgressReporter reporter;
		if (!iterator.hasNext())
			break MISSING_BLOCK_LABEL_56;
		reporter = (IProgressReporter)iterator.next();
		if (reporter.getProgressReport().isActive())
			return reporter;
		  goto _L1
		obj;
		JVM INSTR monitorexit ;
		  goto _L2
		Exception exception;
		exception;
		throw exception;
_L2:
		return null;
	}
}

⌨️ 快捷键说明

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