3.1 verzió - Utolsó felülvizsgálat: 2005. június 20.
A köteg saját magával kapcsolatos leíró információkat tárolhat a META-INF/MANIFEST.MF nevű leírófájlban. Az OSGi R4 keretrendszer-specifikáció megad egy leírófájl-fejléc halmazt, mint például az Export-Package és Bundle-Classpath, amelyeket a kötegfejlesztők használnak a köteggel kapcsolatos leíróinformációk biztosításához. Az Eclipse OSGi keretrendszer a teljes OSGi R4 keretrendszer-specifikációt valamint az összes Központi keretrendszer szolgáltatást megvalósítja. Az OSGi R4 Központi keretrendszer szolgáltatások az alábbiak:
Az OSGi R4 specifikációban számos választható szolgáltatás meg van adva. A választható szolgáltatásokat az Eclipse OSGi keretrendszer megvalósítás nem tartalmazza. Az OSGi leírófájl-fejlécekkel és szolgáltatásokkal kapcsolatos információkat az OSGi specifications specifikáció tartalmaz.
Az Eclipse OSGi keretrendszer számos kiegészítő kötegleíró-fejlécet és direktívát támogat. A kötegfejlesztő ezen kiegészítő fejlécek és direktívák segítségével kihasználhatja az Eclipse OSGi keretrendszer néhány kiegészítő szolgáltatásának előnyét, amelyek nem a szabványos OSGi R4 keretrendszer részei.
Az Eclipse OSGi keretrendszer további direktívákat is támogat az Export-Package fejlécen. Ezek a direktívák megadják az exportált csomag hozzáférés-korlátozási szabályait. Tekintse meg az osgi.resolverMode fájlt annak megismeréséhez, hogy az Eclipse OSGi keretrendszer hogyan állítható be úgy, hogy futáskor kikényszerítse a hozzáférés-korlátozási szabályokat.
Az x-internal direktíva Export-Package fejlécben használható annak megadásához, hogy a csomag belső csomag-e. A Bedolgozó fejlesztői környezet megakadályozza, hogy más kötegek belső csomagot használjanak. Ha az x-internal direktíva nincs megadva, akkor az alapértelmezett 'false' érték kerül alkalmazásra. Az x-internal direktívának az alábbi szintaxist kell használnia:
x-internal ::= ( 'true' | 'false' )
Az alábbi egy példa x-internal direktívára:
Export-Package: org.eclipse.foo.internal; x-internal:=true
Az x-friends direktíva Export-Package fejlécben használható a kötegek listájának megadásához, amelyek hozzáférhetnek a csomaghoz. A Bedolgozó fejlesztői környezet megakadályozza, hogy más köteg használja a csomagot. Az x-friends direktíva szintaxisa az alábbi:
x-friends ::= '"' ( target-bundle ) ( ',' target-bundle ) * '"' target-bundle ::= egy szimbolikus kötegnév
Az alábbi egy x-friends direktívára példa:
Export-Package: org.eclipse.foo.formyfriends; x-friends:="org.eclispe.foo.friend1, org.eclipse.foo.friend2"
A példa megadja, hogy csak az org.eclispe.foo.friend1 és org.eclipse.foo.friend2 köteg használhatja az org.eclipse.foo.formyfriends csomagot. Az x-internal csomagnak az x-friends direktívával szemben prioritása van. Ha az x-internal direktíva 'true' értéket ad meg, akkor a Bedolgozó fejlesztői környezet megakadályozza, hogy bármely köteg elérje a csomagot még abban esetben is, ha "friend"-ként meg vannak adva.
Az Eclipse-AutoStart fejléc megadja, hogy egy köteget automatikusan el kell-e indítani, mielőtt a köteg hozzáfér az első osztályhoz vagy csomaghoz. Ez a szolgáltatás lehetővé teszi, hogy az Eclipse a köteget igény szerint aktiválja, amikor először szükség van rájuk. Ezen modellel az Eclipse a lehető legkevesebb aktív köteggel indulhat el. Az Eclipse-AutoStart fejléc szintaxisa:
Eclipse-AutoStart ::= ( 'true' | 'false' ) ( ';' 'exceptions' '=' '"' exceptions-list '"' ) ? exceptions-list ::= csomagok vesszővel ',' elválasztott listája
Az 'exceptions' attribútum megadja a csomagok listáját, amelyek nem aktiválhatják a köteget az osztályok vagy erőforrások betöltésekor. Ha az Eclipse-AutoStart fejléc a kötegleíróban nincs megadva, akkor az alapértelmezett 'false' érték kerül alkalmazásra. Az alábbi az Eclipse-AutoStart fejlécre példa:
Eclipse-AutoStart: true; exceptions="org.eclipse.foo1, org.eclipse.foo2"
A példa megadja, hogy ezt a köteget aktiválni kell minden osztályhoz vagy erőforráshoz, amely ebből a kötegből kerül betöltésre, az 'org.eclipse.foo1' és 'org.eclipse.foo2' csomagban lévő osztályokat és erőforrásokat kivéve.
Az Eclipse-PlatformFilter megadja egy köteg platformszűrőjét. A platformszűrőt egy futó platformon true értékre kell kiértékelni ahhoz, hogy a köteg feloldható legyen. Az Eclipse-PlatformFilter fejléc szintaxisa:
Eclipse-PlatformFilter ::= egy érvényes LDAP szűrő karaktersorozat
A keretrendszer az alábbi rendszertulajdonságok szűrését támogatja:
Az alábbi Eclipse-PlatformFilter fejlécre példa:
Eclipse-PlatformFilter: (& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
A példa megadja, hogy ez a köteg csak akkor oldható fel, ha a platformtulajdonságok a következők: osgi.ws=win32, osgi.os=win32 és osgi.arch=x86. Más szavakkal: x86 architektúrán futó platform, amely win32 operációs rendszer és win32 ablakkezelő rendszert használ.
Az Eclipse-BuddyPolicy fejléc a köteg buddy osztálybetöltési stratégiáit adja meg. Az Eclipse-BuddyPolicy fejléc szintaxisa:
Eclipse-BuddyPolicy ::= ( policy-name ) ( ',' policy-name ) * policy-name ::= ( 'dependent' | 'global' | 'registered' | 'app' | 'ext' | 'boot' | 'parent' )
Az alábbi az Eclipse-BuddyPolicy fejlécre példa:
Eclipse-BuddyPolicy: dependent
Az Eclipse-RegisterBuddy fejléc egy köteglistát ad meg, amelyhez ez a köteg bejegyzett "buddy". Az Eclipse-RegisterBuddy fejléc szintaxisa:
Eclipse-RegisterBuddy ::= ( target-bundle ) ( ',' target-bundle ) * target-bundle ::= egy szimbolikus kötegnév
A következő az Eclipse-RegisterBuddy fejlécre példa:
Eclipse-RegisterBuddy: org.eclipse.foo.bundle1, org.eclipse.foo.bundle2
Az Eclipse-ExtensibleAPI megadja, hogy a hosztköteg lehetővé teszi-e, hogy a töredékkötegek további alkalmazás programozási felületet adhassanak a hoszthoz. A fejlécet akkor kell használni, ha a hosztköteg lehetővé kívánja tenni, hogy a töredékek további csomagokat adhassanak a hoszt alkalmazás programozási felületéhez. Ha a fejléc nincs megadva, akkor az alapértelmezett 'false' érték kerül alkalmazásra. Az Eclipse-ExtensibleAPI fejléc szintaxisa:
Eclipse-ExtensibleAPI ::= ( 'true' | 'false' )
Az alábbi az Eclipse-ExtensibleAPI fejlécre példa:
Eclipse-ExtensibleAPI: true
A Plugin-Class fejléc támogatja az Eclipse 2.1 platformhoz fejlesztett bedolgozókat. A fejléc megad egy osztálynevet, amely a régi Eclipse 2.1 aktiválási modellel aktiválja a bedolgozót. Az Eclipse 3.0 vagy újabb platformhoz fejlesztett kötegeknek nem kell használniuk ezt a fejlécet. Az alábbi az Plugin-Class fejlécre példa:
Plugin-Class: org.eclipse.foo.FooPlugin