org.apache.felix.cm.impl.helper
Class ManagedServiceTracker
java.lang.Object
org.osgi.util.tracker.ServiceTracker<S,ConfigurationMap<?>>
org.apache.felix.cm.impl.helper.BaseTracker<org.osgi.service.cm.ManagedService>
org.apache.felix.cm.impl.helper.ManagedServiceTracker
- All Implemented Interfaces:
- org.osgi.util.tracker.ServiceTrackerCustomizer<org.osgi.service.cm.ManagedService,ConfigurationMap<?>>
public class ManagedServiceTracker
- extends BaseTracker<org.osgi.service.cm.ManagedService>
| Fields inherited from class org.apache.felix.cm.impl.helper.BaseTracker |
cm |
| Fields inherited from class org.osgi.util.tracker.ServiceTracker |
context, filter |
|
Method Summary |
protected ConfigurationMap<?> |
createConfigurationMap(java.lang.String[] pids)
|
java.lang.String |
getServicePid(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedService> service,
TargetedPID pid)
Returns the String to be used as the PID of the service PID for the
pid retrieved from the configuration. |
void |
provideConfiguration(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedService> service,
TargetedPID configPid,
TargetedPID factoryPid,
java.util.Dictionary<java.lang.String,?> properties,
long revision,
ConfigurationMap<?> configs)
Provides the given configuration to the managed service. |
void |
removeConfiguration(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedService> service,
TargetedPID configPid,
TargetedPID factoryPid)
Remove the configuration indicated by the configPid from
the service. |
| Methods inherited from class org.osgi.util.tracker.ServiceTracker |
close, getService, getService, getServiceReference, getServiceReferences, getServices, getServices, getTracked, getTrackingCount, isEmpty, open, open, remove, size, waitForService |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ManagedServiceTracker
public ManagedServiceTracker(ConfigurationManager cm)
createConfigurationMap
protected ConfigurationMap<?> createConfigurationMap(java.lang.String[] pids)
- Specified by:
createConfigurationMap in class BaseTracker<org.osgi.service.cm.ManagedService>
getServicePid
public java.lang.String getServicePid(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedService> service,
TargetedPID pid)
- Description copied from class:
BaseTracker
- Returns the String to be used as the PID of the service PID for the
pid retrieved from the configuration.
This method will return TargetedPID.getServicePid() most of
the time except if the service PID used for the consumer's service
registration contains one or more pipe symbols (|). In this case
TargetedPID.getRawPid() might be returned.
- Specified by:
getServicePid in class BaseTracker<org.osgi.service.cm.ManagedService>
- 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.ManagedService> service,
TargetedPID configPid,
TargetedPID factoryPid,
java.util.Dictionary<java.lang.String,?> properties,
long revision,
ConfigurationMap<?> configs)
- Provides the given configuration to the managed service.
Depending on targeted PIDs this configuration may not actually be
provided if the service already has more strictly binding
configuration from a targeted configuration bound.
If the revision is a negative value, the provided configuration
is assigned to the ManagedService in any case without further
checks. This allows a replacement configuration for a deleted
or invisible configuration to be assigned without first removing
the deleted or invisible configuration.
- Specified by:
provideConfiguration in class BaseTracker<org.osgi.service.cm.ManagedService>
- Parameters:
service - The reference to the service to updateconfigPid - The targeted configuration PIDfactoryPid - The targeted factory PID or null for
a non-factory configurationproperties - The configuration properties, which may be
null if this is the provisioning call upon
service registration of a ManagedServicerevision - 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:
provideConfiguration(ServiceReference, TargetedPID, TargetedPID, Dictionary, long, ConfigurationMap),
ManagedServiceFactoryTracker.provideConfiguration(ServiceReference, TargetedPID, TargetedPID, Dictionary, long, ConfigurationMap)
removeConfiguration
public void removeConfiguration(org.osgi.framework.ServiceReference<org.osgi.service.cm.ManagedService> service,
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.ManagedService>
- Parameters:
service - The reference to the service from which the
configuration is to be removed.configPid - The TargetedPID of the configurationfactoryPid - The factory PID of the
configuration. This may be null for a non-factory
configuration.
Copyright © 2006-2012 The Apache Software Foundation. All Rights Reserved.