2012-12-18 3 views
6

Vedo molte API di plug-in di eclipse che hanno IProgressMonitor come uno dei suoi parametri.IProgressMonitor come parametro nella programmazione di plug-in di eclissi

void setRawClasspath(IClasspathEntry[] entries, IProgressMonitor monitor) 
    throws JavaModelException; 
  1. Cos'è questo IProgressMonitor per? Hai qualche buon esempio?
  2. È possibile passare a null? O devo creare e passare un oggetto (new ProgressMonitor())?

risposta

7

1) IProgressMonitor fornisce modi per il chiamato a riferire i progressi, piuttosto che solo lo stato, al chiamante. È possibile trovare esempi nell'articolo http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html e nel suo utilizzo in tutto l'Eclipse SDK.

2) null è sempre OK se il JavaDoc per quel metodo lo dice. Altrimenti l'ipotesi dovrebbe essere che non lo è. L'implementazione NullProgressMonitor è utile nei casi in cui è vietato null ma è comunque necessario fornirne uno.