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 Details

    • PROPERTY_NAME

      public static final String PROPERTY_NAME
      See Also:
    • pluginTracker

      private final org.osgi.util.tracker.ServiceTracker<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin> pluginTracker
      Tracker for the configuration plugins.
    • bundleContext

      private final org.osgi.framework.BundleContext bundleContext
    • serviceMap

      private final ConcurrentHashMap<String,AtomicInteger> serviceMap
    • idToNameMap

      private final Map<Long,String> idToNameMap
    • starter

      private final ConfigurationAdminStarter starter
    • requiredNames

      private final Set<String> requiredNames
    • registeredPluginNames

      private final Set<String> 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.BundleException
      org.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:
      addingService in interface org.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:
      modifiedService in interface org.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:
      removedService in interface org.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ConfigurationPlugin,org.osgi.service.cm.ConfigurationPlugin>
    • updateRegisteredConfigurationPlugins

      private void updateRegisteredConfigurationPlugins()