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

📄 progressmonitorpreverificationlistener.java

📁 eclipseme的最新版本的source,欢迎j2me程序员使用
💻 JAVA
字号:
/**
 * Copyright (c) 2003-2005 Craig Setera
 * All Rights Reserved.
 * Licensed under the Eclipse Public License - v 1.0
 * For more information see http://www.eclipse.org/legal/epl-v10.html
 */
package eclipseme.core.internal.preverifier;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubProgressMonitor;

import eclipseme.preverifier.IArchivePreverificationListener;
import eclipseme.preverifier.results.PreverificationResults;

/**
 * Listener for archive preverification events that
 * wraps a progress monitor for feedback.
 * <p />
 * Copyright (c) 2003-2005 Craig Setera<br>
 * All Rights Reserved.<br>
 * Licensed under the Eclipse Public License - v 1.0<p/>
 * <br>
 * $Revision: 1.2 $
 * <br>
 * $Date: 2005/09/12 00:42:30 $
 * <br>
 * @author Craig Setera
 */
public class ProgressMonitorPreverificationListener 
	implements IArchivePreverificationListener 
{
	private IProgressMonitor subMonitor;
	private ArrayList errorList;
	
	/**
	 * Construct a new listener wrapping the specified progress
	 * monitor.
	 * 
	 * @param monitor
	 */
	public ProgressMonitorPreverificationListener(IProgressMonitor monitor) {
		super();
		errorList = new ArrayList();
		subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
	}

	/**
	 * @see eclipseme.preverifier.IArchivePreverificationListener#fileBegin(java.util.zip.ZipFile)
	 */
	public void fileBegin(ZipFile archive) {
		subMonitor.beginTask(
				"Beginning preverification of " + archive.getName(), 
				IProgressMonitor.UNKNOWN);
	}

	/**
	 * @see eclipseme.preverifier.IArchivePreverificationListener#classBegin(java.util.zip.ZipFile, java.util.zip.ZipEntry)
	 */
	public boolean classBegin(ZipFile archive, ZipEntry classEntry) {
		String name = classEntry.getName().replace('/', '.');
		subMonitor.subTask("Preverifying " + name + "...");
		
		return !subMonitor.isCanceled();
	}

	/**
	 * @see eclipseme.preverifier.IArchivePreverificationListener#classEnd(java.util.zip.ZipFile, java.util.zip.ZipEntry, eclipseme.preverifier.results.PreverificationResults)
	 */
	public boolean classEnd(ZipFile archive, ZipEntry classEntry, PreverificationResults results) {
		subMonitor.worked(1);
		errorList.addAll(Arrays.asList(results.getErrors()));
		return !subMonitor.isCanceled();
	}

	/**
	 * @see eclipseme.preverifier.IArchivePreverificationListener#fileEnd(java.util.zip.ZipFile)
	 */
	public void fileEnd(ZipFile archive) {
		subMonitor.done();
	}
	
	/**
	 * Return the errors collected during the preverify processing.
	 * 
	 * @return
	 */
	public List getErrorList() {
		return errorList;
	}
}

⌨️ 快捷键说明

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