Eclipse 中的 NullProgressMonitor

NullProgressMonitor 的作用是不显示进度条,比如在方法参数有一个 ProgressMonitor, 我们不知道他是不是空,而 ProgressMonitor 又在代码中穿插,所以有可能导致非常非常多下面的代码 if (processMonitor != null) ... 等等,这样是非常麻烦的,我们可以在方法的开始判断是不是空,如果是空,就将其赋值一个 NullProgressMonitor 对象,下面即使调用也不会出错,但是不出现进度条。

例如:

public class XXXOperation extends AbstractOperation
{
    @Override
    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
    {
        monitor = (monitor != null) ? monitor : (new NullProgressMonitor());
        // ...
        monitor.beginTask("TaskName", IProgressMonitor.UNKNOWN);
        // ...
        // monitor.setCanceled(true);
        monitor.done();
    }
}


注:参考文献:http://blog.csdn.net/neusoftware_20063500/article/details/5257906

你可能感兴趣的:(Eclipse 中的 NullProgressMonitor)