Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Equinox Filtering Requirements
This articles collects requirements and ides for filtering in Equinox.
DISCLAIMER: This is not a project actively investigated by the Equinox committers. I (see here) just thought that this could be a nice incubator work item. :)
A common usage scenario for such filtering is in the server-side world. Basically, you have a set different applications running in one Equinox instance. All the applications share a common platform which provides some common services. But now, not every application is allowed to use every service. This should be possible to implement using OSGi security. However, you now want to further limit the set of available services and extensions to the context the application is running in. For example, one application allows further customization depending on the client that is using the application, i.e. the application is executed in a client context. You now want to filter the available services and extensions to only those that the client is allowed to see.
- Filter the extension registry based on the caller (something like
IExtensionRegistry.getConfigurationElementsFor(String extensionPointId, Filter filter))
- Filter the adapter manager based on the caller (something like
IAdapterManager.getAdapter(Object adaptable, Class adapterType, Filter filter))