diff options
author | Christoph Läubrich | 2020-10-27 18:44:43 +0000 |
---|---|---|
committer | Christoph Läubrich | 2020-10-27 18:44:43 +0000 |
commit | c48b50276ba3b0b68dc3d8d67c10ad5fc7ca2f3f (patch) | |
tree | 25bb27c624e06c2cf329c6bf15644930b21118cb | |
parent | 16105c3e0aa68ca9ee59c80704bbbffebf1a2feb (diff) | |
download | news-c48b50276ba3b0b68dc3d8d67c10ad5fc7ca2f3f.tar.gz news-c48b50276ba3b0b68dc3d8d67c10ad5fc7ca2f3f.tar.xz news-c48b50276ba3b0b68dc3d8d67c10ad5fc7ca2f3f.zip |
Bug 567344 - Support registration of IAdapterFactory as OSGi Service
N&N entry added
Change-Id: I8afea89c64d6fbc889bda607574a9d63e0aaf15e
Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
-rw-r--r-- | 4.18/platform_isv.html | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/4.18/platform_isv.html b/4.18/platform_isv.html index 68cae09f..bcba9217 100644 --- a/4.18/platform_isv.html +++ b/4.18/platform_isv.html @@ -55,7 +55,16 @@ ul {padding-left: 13px;} scaling factors beside the 150/200% currently supported.</p> </td> </tr> - + <tr id="dialog-adapterfactory-as-service"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=567344 --> + <td class="title"><a href="#dialog-adapterfactory-as-service">IAdapterFactory as Service</a></td> + <td class="content"> + <p>Previously <code>IAdapterFactory</code> has to be registered via plugin.xml, this has the disadvantage that one has to keep code with xml in sync (e.g. the adapter classes has to be provided in xml and in the IAdapterFactory.getAdapterList()). Also the code is bound to the static Extension Point Model that means that it has to gather all necessary dependencies from external (static) sources as there is no injection mechanism available.</p> + <p>From now on it is possible to also register an OSGi Service for this purpose and thus can take advantage of Declarative Services for example or even specialized construction and registration with plain OSGi mechanism. + The service must only supply a string property (or even multiple ones) with <code>IAdapterFactory.SERVICE_PROPERTY_ADAPTABLE_CLASS</code> that promotes the types that can be adapted. + The code then activates the service upon first request of the adaptation of adaptable class and calls IAdapterFactory.getAdapterList() to find out the adapter classes.<br> + If even more laziness is required a list of adapter classes can be declared via the <code>IAdapterFactory.SERVICE_PROPERTY_ADAPTER_NAMES</code> service-property and the activation of the service will even be further delayed to the point where an actual adaptation of adaptable class for one of the static available types is requested.</p> + </td> + </tr> <tr id="dialog-settings-provider"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=549929 --> <td class="title"><a href="#dialog-settings-provider">IDialogSettingsProvider</a></td> <td class="content"> |