Hozzáférés korlátozásokhoz
Az Eclipse 3.1 futási környezet a bedolgozó fejlesztők számára lehetőséget ad a bedolgozó kód láthatóságának vezérlésére az alárendelt bedolgozók számára, csomagonkénti alapon.
A csomagok az alábbiak egyikeként osztályozhatók:
A PDE a futási környezet láthatósági szabályait lefordítja a fordítóprogram hozzáférésének korlátozási szabályaira a fordítás idején. Ennek eredményeképpen a fordítóprogram a láthatósági szabály megsértését figyelmeztetéssel vagy hibával jelöli a sértés súlyosságától függően.
Mivel ez a támogatás a fordítás idején rendelkezésre áll, ezért nem érhet senkit az a meglepetés, hogy futás közben hibás osztálybetöltést hajt végre és mindig tudatában lesz ha a belső típusokra hivatkozik.
Elérhető csomagok
Az elérhető csomagok feltétel nélkül láthatók az alárendelt bedolgozóknak. Míg az API csomagoknak tisztán ebbe a kategóriába kell esniük, addig teljesen a fejlesztő feladata eldönteni, hogy a bedolgozó által exportált más csomagoknak is ezt a láthatósági szintet adja-e.
Ahhoz, hogy egy csomag az elérhető meghatározást kapja, a bedolgozó leírásszerkesztőjének futási környezetében, az Exportált csomagok részben kell a listához hozzáadni és az alapértelmezett láthatósági beállítást aktuális állapotában hagyni.
Tiltott csomagok
Az alárendelt bedolgozóktól állandósultan elrejthetők csomagok a bedolgozó leírásszerkesztőjének futási környezet oldalán az Exportált csomagok részben látható listából kizárással.
Tiltott csomagok típusaira hivatkozás hibás osztálybetöltést eredményez futás közben.
Az ilyen nem kívánatos helyzet elkerülése érdekében:
Megjegyzések:
Erősen javasolt a tiltott hivatkozás súlyosságát HIBA értéken tartani.
Belső csomagok
A belső csomagok olyan csomagok, amelyeket nem az alárendelt bedolgozók általi használathoz terveztek. Ezek a csomagok alapértelmezésben láthatók az alárendelt bedolgozók számára.
A belső csomagok csak akkor rejtettek az alárendelt bedolgozóktól, ha az Eclipse szigorú üzemmódban lett indítva (amikor a -Dosgi.resolverMode=strict VM paraméterrel indít).
A belső csomagokat a bedolgozó leírásszerkesztőjének futási környezet oldalán az Exportált csomagok részben kell felsorolni a rejtett beállítással.
Két intézkedés fogant az alárendelt bedolgozók belső csomagokra hivatkozásának ellenjavallatára:
Az ellenjavallt hivatkozások súlyossági szintjei a Java > Fordító > Hibák/Figyelmeztetések > Elévült és tiltott API beállítási oldalon állíthatók be.
Belső csomagok barátokkal
Fontos, hogy a bedolgozók teljes elérést biztosítsanak belső csomagjaikhoz meghatározott "barát" bedolgozók számára. Például a PDE kód több bedolgozó között oszlik meg és a org.eclipse.pde.ui bedolgozónak teljes hozzáférés szükséges a org.eclipse.pde.core belső csomagjaihoz.
Az alábbi példában a barátoknak (az org.eclipse.pde és az org.eclipse.pde.ui bedolgozóknak) teljes hozzáférésük van az org.eclipse.pde.core bedolgozó org.eclipse.pde.internal.core.bundle csomagjához.
A barátok szabadon hivatkozhatnak az org.eclipse.pde.internal.core.bundle csomag bármely típusára a fordítóprogram jóváhagyásával.
Másrészről, ha bármely más bedolgozó hivatkozik az org.eclipse.pde.internal.core.bundle csomag egyik típusára, akkor a fordítóprogram megjelöli az ellenjavallt hivatkozást, amint az előző szakaszban ez le van írva.
Hogyan engedélyezhetők a hozzáférési korlátozások
A PDE hozzáférési korlátozás támogatásának kihasználásához az egyetlen követelmény, hogy a kérdéses bedolgozók tartalmazzanak OSGi kötegleíró manifest.mf fájlt. A PDE, ami a bedolgozó osztályútvonalát kezeli, ezután mindenről gondoskodik.
Ha a bedolgozó nem tartalmaz manifest.mf fájlt, akkor a fájl a következő módon hozható létre:
Hozzáférési szabályok beillesztése
Megvizsgálhatja a PDE által minden egyes osztályútvonal bejegyzésre kivetett hozzáférési korlátozás szabályokat a bedolgozó projekt Java összeépítési útvonal adatlapján.