Class ManagedServiceFactoryTracker

java.lang.Object
org.osgi.util.tracker.ServiceTracker<org.osgi.service.cm.ManagedServiceFactory,ConfigurationMap<?>>
org.apache.felix.cm.impl.helper.BaseTracker<org.osgi.service.cm.ManagedServiceFactory>
org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker
All Implemented Interfaces:
org.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ManagedServiceFactory,ConfigurationMap<?>>

public class ManagedServiceFactoryTracker extends BaseTracker<org.osgi.service.cm.ManagedServiceFactory>
  • Constructor Details

    • ManagedServiceFactoryTracker

      public ManagedServiceFactoryTracker(org.apache.felix.cm.impl.ConfigurationManager cm)
  • Method Details

    • createConfigurationMap

      protected ConfigurationMap<?> createConfigurationMap(String[] pids)
      Specified by:
      createConfigurationMap in class BaseTracker<org.osgi.service.cm.ManagedServiceFactory>
    • getServicePid

      public String getServicePid(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedServiceFactory> service, TargetedPID pid)
      Always returns the raw PID because for a ManagedServiceFactory the configuration's PID is automatically generated and is not a real targeted PID.
      Specified by:
      getServicePid in class BaseTracker<org.osgi.service.cm.ManagedServiceFactory>
      Parameters:
      service - The reference ot the service for which the service PID is to be returned.
      pid - The TargetedPID for which to return the service PID.
      Returns:
      The service PID or null if the service does not respond to the targeted PID at all.
    • provideConfiguration

      public void provideConfiguration(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedServiceFactory> reference, TargetedPID configPid, TargetedPID factoryPid, Dictionary<String,?> properties, long revision, ConfigurationMap<?> configs)
      Description copied from class: BaseTracker
      Updates the given service with the provided configuration.

      See the implementations of this method for more information.

      Specified by:
      provideConfiguration in class BaseTracker<org.osgi.service.cm.ManagedServiceFactory>
      Parameters:
      reference - The reference to the service to update
      configPid - The targeted configuration PID
      factoryPid - The targeted factory PID or null for a non-factory configuration
      properties - The configuration properties, which may be null if this is the provisioning call upon service registration of a ManagedService
      revision - The configuration revision or -1 if there is no configuration actually to provide.
      configs - The PID to configuration map for PIDs used by the service to update
      See Also:
    • removeConfiguration

      public void removeConfiguration(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedServiceFactory> reference, TargetedPID configPid, TargetedPID factoryPid)
      Description copied from class: BaseTracker
      Remove the configuration indicated by the configPid from the service.
      Specified by:
      removeConfiguration in class BaseTracker<org.osgi.service.cm.ManagedServiceFactory>
      Parameters:
      reference - The reference to the service from which the configuration is to be removed.
      configPid - The TargetedPID of the configuration
      factoryPid - The factory PID of the configuration. This may be null for a non-factory configuration.