eclipse eclipse-plugin progressmonitor

IProgressMonitor como parámetro en la programación del complemento eclipse



eclipse-plugin (1)

Veo muchas API de plugins de eclipse que tienen IProgressMonitor como uno de sus parámetros.

void setRawClasspath(IClasspathEntry[] entries, IProgressMonitor monitor) throws JavaModelException;

  1. ¿Para qué sirve este IProgressMonitor? ¿Tienes algún buen ejemplo?
  2. ¿Está bien pasarle null ? ¿O tengo que crear y pasar un objeto ( new ProgressMonitor() )?

1) IProgressMonitor proporciona formas para que el destinatario informe el progreso, en lugar del estado, a la persona que llama. Puede encontrar ejemplos en el artículo en http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html , así como su uso en todo el SDK de Eclipse.

2) null solo está bien si el JavaDoc para ese método lo dice. De lo contrario, la suposición debería ser que no lo es. La implementación de NullProgressMonitor es útil en los casos en que está prohibido el null pero aún así debe proporcionar uno.