Fornitori di aggiornamento automatico

org.eclipse.core.resources.refreshProviders

3.0

Lo spazio di lavoro supporta una modalità in cui le modifiche che si verificano nel file system vengono rilevate automaticamente e riconciliate con lo spazio di lavoro della memoria. Per impostazione predefinita, ciò viene eseguito creando un controllo che interpella il file system e ricerca periodicamente le modifiche. I punti di estensione dei factory di controllo consentono ai cliente di creare controlli più efficienti, in genere mediante l'hook di alcune funzioni native del file system per i callback di modifica.

<!ELEMENT extension (refreshProvider)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT refreshProvider EMPTY>

<!ATTLIST refreshProvider

name  CDATA #REQUIRED

class CDATA #REQUIRED>


Di seguito è riportato un esempio di dichiarazione dell'adattatore. In questo esempio si dichiara che il plugin fornisce un factory per l'adattatore che adatta gli oggetti di tipo IFile agli oggetti di tipo MyFile.

   

<extension id=

"coolProvider"

point=

"org.eclipse.core.resources.refreshProviders"

>

<refreshProvider name=

"Cool Refresh Provider"

class=

"com.xyz.CoolRefreshProvider"

>

</refreshProvider>

</extension>

Le implementazioni del fornitore dell'aggiornamento devono stabilire una sottoclasse per il tipo astratto RefreshProvider del pacchetto org.eclipse.core.resources.refresh. Le richieste e gli errori di aggiornamento devono essere inviati al fornitore IRefreshResult. Anche i client devono fornire un'implementazione di IRefreshMonitor mediante la quale lo spazio di lavoro può richiedere che i controlli di aggiornamento vengano disinstallati.

Il frammento org.eclipse.core.resources.win32 fornisce un controllo di aggiornamento nativo che utilizza i callback di notifica del file system win32. Anche lo spazio di lavoro fornisce un controllo semplice predefinito basato sul polling che può essere utilizzato per i file system che non dispongono di callback di aggiornamento nativi disponibili.