A gazdag ügyfélalkalmazás bedolgozó megadása hasonlít más tanulmányozott bedolgozók megadásához. Az egyetlen különbség, hogy a leírónyelv első része, a szükséges bedolgozók listája sokkal kisebb az eddig használtaknál!
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="org.eclipse.ui.examples.rcp.browser"
name="%pluginName"
version="3.0.0"
provider-name="%providerName">
<runtime>
<library name="browser.jar">
</library>
</runtime>
<requires>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.ui"/>
</requires>
Eddig a platform-munkaterülethez úgy biztosítottunk funkciót, hogy kiterjesztéseket deklaráltunk, amelyek elemeket adnak a munkaterülethez. Az eddig áttekintett összes plugin.xml tartalomban csak az egyéni munkaterület-kiegészítéseket néztük, amelynek meglétét feltételeztük. A gazdag ügyfél platformon nincs még megadva alkalmazás. A gazda ügyfél bedolgozó felelős az osztály megadásáért, amelyet a platform elindításakor kell futtatni. Ez az org.eclipse.core.runtime.applications kiterjesztésben történik.
<extension
point="org.eclipse.core.runtime.applications"
id="app"
name="%appName">
<application>
<run
class="org.eclipse.ui.examples.rcp.browser.BrowserApp">
</run>
</application>
</extension>
Ebben a kiterjesztésben megadjuk a platform első indításakor futtatandó osztályt. Az osztálynak meg kell valósítania az IPlatformRunnable elemet, amely egyszerűen azt jelenti, hogy egy futtatás metódust kell megvalósítania. A futtatás metódus az SWT megjelenítő létrehozásáért és a munkaterület indításáért felelős. A PlatformUI osztály megvalósítja a feladatok végrehajtásához megfelelő metódusokat.
public Object run(Object args) throws Exception {
Display display = PlatformUI.createDisplay();
try {
int code = PlatformUI.createAndRunWorkbench(display,
new BrowserAdvisor());
// kilép az alkalmazásból a megfelelő visszatérési kóddal
return code == PlatformUI.RETURN_RESTART
? EXIT_RESTART
: EXIT_OK;
} finally {
if (display != null)
display.dispose();
}
}
A createAndRunWorkbench meghívása nem tér vissza addig, amíg a munkaterület nincs lezárva. Az SWT eseményciklus és egyéb alacsony szintű logisztikák kezelése ebben a metódusban történik. Ezen a ponton az SWT alkalmazás futtatásához nem fontos az alapul szolgáló mechanizmusok megértése. Ez a kód minimális változtatásokkal átmásolható a gazdag ügyfélalkalmazásra. A saját funkció hozzáadására szolgáló csatlakozás a WorkbenchAdvisor, amely argumentumként kerül átadásara a munkaterület létrehozásakor. Nézzük meg közelebbről.