org.apache.felix.cm.impl.helper
Class TargetedPID

java.lang.Object
  extended by org.apache.felix.cm.impl.helper.TargetedPID

public class TargetedPID
extends java.lang.Object

The TargetedPID class represents a targeted PID as read from a configuration object.

For a factory configuration the TargetedPID represents the factory PID of the configuration. Otherwise it represents the PID itself of the configuration.


Constructor Summary
TargetedPID(java.lang.String rawPid)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
static java.lang.String getBundleVersion(org.osgi.framework.Bundle bundle)
          Returns the bundle's version as required for targeted PIDs: If the bundle has a version the string representation of the version string converted to a Version object is returned.
 java.lang.String getRawPid()
          Gets the raw PID with which this instance has been created.
 java.lang.String getServicePid()
          Returns the service PID of this targeted PID which basically is the targeted PID without the targeting information.
 int hashCode()
           
 boolean matchesTarget(org.osgi.framework.ServiceReference<?> reference)
          Returns true if the target of this PID (bundle symbolic name, version, and location) match the bundle registering the referenced service.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TargetedPID

public TargetedPID(java.lang.String rawPid)
Method Detail

getBundleVersion

public static java.lang.String getBundleVersion(org.osgi.framework.Bundle bundle)
Returns the bundle's version as required for targeted PIDs: If the bundle has a version the string representation of the version string converted to a Version object is returned. Otherwise the string representation of Version.emptyVersion is returned.

To remain compatible with pre-R4.2 (Framework API < 1.5) we cannot use the Bundle.getVersion() method.

Parameters:
bundle - The bundle whose version is to be returned.

matchesTarget

public boolean matchesTarget(org.osgi.framework.ServiceReference<?> reference)
Returns true if the target of this PID (bundle symbolic name, version, and location) match the bundle registering the referenced service.

This method just checks the target not the PID value itself, so this method returning true does not indicate whether the service actually is registered with a service PID equal to the raw PID of this targeted PID.

This method also returns false if the service has concurrently been unregistered and the registering bundle is now null.

Parameters:
reference - ServiceReference to the registered service
Returns:
true if the referenced service matches the target of this PID.

getRawPid

public java.lang.String getRawPid()
Gets the raw PID with which this instance has been created.

If an actual service PID contains pipe symbols that PID might be considered being targeted PID without it actually being one. This method provides access to the raw PID to allow for such services to be configured.


getServicePid

public java.lang.String getServicePid()
Returns the service PID of this targeted PID which basically is the targeted PID without the targeting information.


hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.