|
OSGi™ Service Platform Release 4 Version 4.2 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.osgi.service.remoteserviceadmin.EndpointDescription
public class EndpointDescription
A description of an endpoint that provides sufficient information for a
compatible distribution provider to create a connection to this endpoint
An Endpoint Description is easy to transfer between different systems because
it is property based where the property keys are strings and the values are
simple types. This allows it to be used as a communications device to convey
available endpoint information to nodes in a network.
An Endpoint Description reflects the perspective of an importer. That
is, the property keys have been chosen to match filters that are created by
client bundles that need a service. Therefore the map must not contain any
service.exported.*
property and must contain the corresponding
service.imported.*
ones.
The service.intents
property must contain the intents provided
by the service itself combined with the intents added by the exporting
distribution provider. Qualified intents appear fully expanded on this
property.
Constructor Summary | |
---|---|
EndpointDescription(java.util.Map<java.lang.String,java.lang.Object> properties)
Create an Endpoint Description from a Map. |
|
EndpointDescription(ServiceReference reference,
java.util.Map<java.lang.String,java.lang.Object> properties)
Create an Endpoint Description based on a Service Reference and a Map of properties. |
Method Summary | |
---|---|
boolean |
equals(java.lang.Object other)
Compares this EndpointDescription object to another object. |
java.util.List<java.lang.String> |
getConfigurationTypes()
Returns the configuration types. |
java.lang.String |
getFrameworkUUID()
Return the framework UUID for the remote service, if present. |
java.lang.String |
getId()
Returns the endpoint's id. |
java.util.List<java.lang.String> |
getIntents()
Return the list of intents implemented by this endpoint. |
java.util.List<java.lang.String> |
getInterfaces()
Provide the list of interfaces implemented by the exported service. |
Version |
getPackageVersion(java.lang.String packageName)
Provide the version of the given package name. |
java.util.Map<java.lang.String,java.lang.Object> |
getProperties()
Returns all endpoint properties. |
long |
getServiceId()
Returns the service id for the service exported through this endpoint. |
int |
hashCode()
Returns a hash code value for the object. |
boolean |
isSameService(EndpointDescription other)
Answers if this Endpoint Description refers to the same service instance as the given Endpoint Description. |
boolean |
matches(java.lang.String filter)
Tests the properties of this EndpointDescription against
the given filter using a case insensitive match. |
java.lang.String |
toString()
Returns the string representation of this EndpointDescription. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public EndpointDescription(java.util.Map<java.lang.String,java.lang.Object> properties)
The endpoint.id
,
service.imported.configs
and objectClass
properties must be set.
properties
- The map from which to create the Endpoint Description.
The keys in the map must be type String
and, since
the keys are case insensitive, there must be no duplicates with
case variation.
java.lang.IllegalArgumentException
- When the properties are not proper for
an Endpoint Description.public EndpointDescription(ServiceReference reference, java.util.Map<java.lang.String,java.lang.Object> properties)
This method will automatically set the
endpoint.framework.uuid
and endpoint.service.id
properties based on the specified Service Reference as well as the
service.imported
property if
they are not specified as properties.
The endpoint.id
,
service.imported.configs
and objectClass
properties must be set.
reference
- A service reference that can be exported.properties
- Map of properties. This argument can be
null
. The keys in the map must be type
String
and, since the keys are case insensitive,
there must be no duplicates with case variation.
java.lang.IllegalArgumentException
- When the properties are not proper for
an Endpoint DescriptionMethod Detail |
---|
public java.lang.String getId()
RemoteConstants.ENDPOINT_ID
property.
null
. The returned
value has leading and trailing whitespace removed.public java.util.List<java.lang.String> getInterfaces()
objectClass
property.
public Version getPackageVersion(java.lang.String packageName)
endpoint.package.version.
, and then using this as an endpoint property
key. For example:
endpoint.package.version.com.acmeThe value of this property is in String format and will be converted to a
Version
object by this method.
packageName
- The name of the package for which a version is
requested.
Version.emptyVersion
if the package has no version
in this Endpoint Description.
java.lang.IllegalArgumentException
- If the version property value is not
String.public long getServiceId()
RemoteConstants.ENDPOINT_SERVICE_ID
endpoint property.
public java.util.List<java.lang.String> getConfigurationTypes()
RemoteConstants.SERVICE_IMPORTED_CONFIGS
service property.
public java.util.List<java.lang.String> getIntents()
RemoteConstants.SERVICE_INTENTS
service property.
public java.lang.String getFrameworkUUID()
RemoteConstants.ENDPOINT_FRAMEWORK_UUID
endpoint property.
null
if this endpoint is
not associated with an OSGi framework having a framework uuid.public java.util.Map<java.lang.String,java.lang.Object> getProperties()
public boolean isSameService(EndpointDescription other)
other
- The Endpoint Description to look at
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object other)
EndpointDescription
object to another object.
An Endpoint Description is considered to be equal to another Endpoint Description if their ids are equal.
equals
in class java.lang.Object
other
- The EndpointDescription
object to be compared.
true
if object
is a
EndpointDescription
and is equal to this object;
false
otherwise.public boolean matches(java.lang.String filter)
EndpointDescription
against
the given filter using a case insensitive match.
filter
- The filter to test.
true
If the properties of this
EndpointDescription
match the filter,
false
otherwise.
java.lang.IllegalArgumentException
- If filter
contains an
invalid filter string that cannot be parsed.public java.lang.String toString()
toString
in class java.lang.Object
|
OSGi™ Service Platform Release 4 Version 4.2 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |