📄 progressreporterstack.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 + -