Package org.apache.felix.cm.impl
Class RequiredConfigurationPluginTracker
java.lang.Object
org.apache.felix.cm.impl.RequiredConfigurationPluginTracker
- All Implemented Interfaces:
org.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin>
public class RequiredConfigurationPluginTracker
extends Object
implements org.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin>
This tracker tracks existence of configuration plugins which have a
PROPERTY_NAME property. The tracker checks just for existence of a
plugin and tries to get it. However, this is not a guarantee that the plugin
can and actually is used by the configuration admin as the admin has a
separate tracker.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.osgi.framework.BundleContextprivate final org.osgi.util.tracker.ServiceTracker<org.osgi.service.cm.ConfigurationPlugin, org.osgi.service.cm.ConfigurationPlugin> Tracker for the configuration plugins.static final Stringprivate final ConcurrentHashMap<String, AtomicInteger> private final ConfigurationAdminStarter -
Constructor Summary
ConstructorsConstructorDescriptionRequiredConfigurationPluginTracker(org.osgi.framework.BundleContext bundleContext, ConfigurationAdminStarter starter, String[] pluginNames) -
Method Summary
Modifier and TypeMethodDescriptionorg.osgi.service.cm.ConfigurationPluginaddingService(org.osgi.framework.ServiceReference<org.osgi.service.cm.ConfigurationPlugin> reference) private booleanvoidmodifiedService(org.osgi.framework.ServiceReference<org.osgi.service.cm.ConfigurationPlugin> reference, org.osgi.service.cm.ConfigurationPlugin service) voidremovedService(org.osgi.framework.ServiceReference<org.osgi.service.cm.ConfigurationPlugin> reference, org.osgi.service.cm.ConfigurationPlugin service) voidstop()Stop the trackerprivate void
-
Field Details
-
PROPERTY_NAME
- See Also:
-
pluginTracker
private final org.osgi.util.tracker.ServiceTracker<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin> pluginTrackerTracker for the configuration plugins. -
bundleContext
private final org.osgi.framework.BundleContext bundleContext -
serviceMap
-
idToNameMap
-
starter
-
requiredNames
-
registeredPluginNames
-
-
Constructor Details
-
RequiredConfigurationPluginTracker
public RequiredConfigurationPluginTracker(org.osgi.framework.BundleContext bundleContext, ConfigurationAdminStarter starter, String[] pluginNames) throws org.osgi.framework.BundleException, org.osgi.framework.InvalidSyntaxException - Throws:
org.osgi.framework.BundleExceptionorg.osgi.framework.InvalidSyntaxException
-
-
Method Details
-
stop
public void stop()Stop the tracker -
hasRequiredPlugins
private boolean hasRequiredPlugins() -
addingService
public org.osgi.service.cm.ConfigurationPlugin addingService(org.osgi.framework.ServiceReference<org.osgi.service.cm.ConfigurationPlugin> reference) - Specified by:
addingServicein interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin>
-
modifiedService
public void modifiedService(org.osgi.framework.ServiceReference<org.osgi.service.cm.ConfigurationPlugin> reference, org.osgi.service.cm.ConfigurationPlugin service) - Specified by:
modifiedServicein interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin>
-
removedService
public void removedService(org.osgi.framework.ServiceReference<org.osgi.service.cm.ConfigurationPlugin> reference, org.osgi.service.cm.ConfigurationPlugin service) - Specified by:
removedServicein interfaceorg.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin>
-
updateRegisteredConfigurationPlugins
private void updateRegisteredConfigurationPlugins()
-