Package org.eclipse.ecf.discovery.identity

# Class ServiceID

java.lang.Object
org.eclipse.ecf.core.identity.BaseID
org.eclipse.ecf.discovery.identity.ServiceID

All Implemented Interfaces:
  `Serializable`, `Comparable`, `Principal`, `org.eclipse.core.runtime.IAdaptable`, `ID`, `IServiceID`

Direct Known Subclasses:
  `DnsSdServiceID`, `JSLPServiceID`, `ZooDiscoveryServiceID`

public class ServiceID extends BaseID implements IServiceID
Service identity type. ServiceIDs are IDs that uniquely identify a remote service. Subclasses may be created as appropriate.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`protected URI`
`location`
`protected IServiceInfo`
`serviceInfo`
`protected IServiceTypeID`
`type`

### Fields inherited from class org.eclipse.ecf.core.identity.BaseID

`namespace`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ServiceID(Namespace namespace, IServiceTypeID type, URI anURI)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`protected String`
`getFullyQualifiedName()`
`URI`
`getLocation()`
(non-Javadoc)
`IServiceInfo`
`getServiceInfo()`
`String`
`getServiceName()`
Get service name for this ID.
`String`
`getServiceType()`
Get service type for this ID.
`IServiceTypeID`
`getServiceTypeID()`
Get service type ID for this ID.
`int`
`hashCode()`
`protected int`
`namespaceCompareTo(BaseID o)`
Called by `Namespace.getCompareToForObject(BaseID, BaseID)`.
`protected boolean`
`namespaceEquals(BaseID o)`
Called by `Namespace.testIDEquals(BaseID, BaseID)`.
`protected String`
`namespaceGetName()`
Called by `Namespace.getNameForID(BaseID)`.
`protected int`
`namespaceHashCode()`
Called by `Namespace.getHashCodeForID(BaseID)`.
`void`
`setServiceInfo(IServiceInfo serviceInfo)`
`String`
`toString()`

### Methods inherited from class org.eclipse.ecf.core.identity.BaseID

`compareTo, getAdapter, getName, getNamespace, namespaceToExternalForm, toExternalForm`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Comparable

`compareTo`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.ecf.core.identity.ID

`getName, getNamespace, toExternalForm`

### Methods inherited from interface java.security.Principal

`implies`

## Field Details

### serviceInfo

protected IServiceInfo serviceInfo

Since:
  3.0

### type

protected IServiceTypeID type

### location

protected URI location

Since:
  3.0

## Constructor Details

### ServiceID

protected ServiceID(Namespace namespace, IServiceTypeID type, URI anURI)

Parameters:
  `namespace` - namespace should not be `null`
  `type` - service type ID should not be `null`
  `anURI` - uri for service location should not be `null`
Since:
  3.0

## Method Details

### getFullyQualifiedName

protected String getFullyQualifiedName()

### namespaceCompareTo

protected int namespaceCompareTo(BaseID o)
Description copied from class: `BaseID`
Called by `Namespace.getCompareToForObject(BaseID, BaseID)`.

Specified by:
  `namespaceCompareTo` in class `BaseID`
Parameters:
  `o` - the other ID to compare to. Will not be `null`.
Returns:
  the appropriate value as per `Comparable` contract.

### namespaceEquals

protected boolean namespaceEquals(BaseID o)
Description copied from class: `BaseID`
Called by `Namespace.testIDEquals(BaseID, BaseID)`.

Specified by:
  `namespaceEquals` in class `BaseID`
Parameters:
  `o` - the other ID to test against. May be `null`.
Returns:
  `true` if this ID is equal to the given ID. `false` otherwise.

### namespaceGetName

protected String namespaceGetName()
Description copied from class: `BaseID`
Called by `Namespace.getNameForID(BaseID)`.

Specified by:
  `namespaceGetName` in class `BaseID`
Returns:
  String name for this ID. Must not be `null`. Value returned should be unique within this Namespace.

### namespaceHashCode

protected int namespaceHashCode()
Description copied from class: `BaseID`
Called by `Namespace.getHashCodeForID(BaseID)`.

Specified by:
  `namespaceHashCode` in class `BaseID`
Returns:
  int hashCode for this ID. Returned value must be unique within this process.

### getServiceType

public String getServiceType()
Get service type for this ID.

Returns:
  String service type. Will not be `null`.

### getServiceTypeID

public IServiceTypeID getServiceTypeID()
Description copied from interface: `IServiceID`
Get service type ID for this ID.

Specified by:
  `getServiceTypeID` in interface `IServiceID`
Returns:
  IServiceTypeID. Will not be `null`.

### getServiceName

public String getServiceName()
Get service name for this ID.

Specified by:
  `getServiceName` in interface `IServiceID`
Returns:
  String service name. May be `null`.

### toString

public String toString()

Specified by:
  `toString` in interface `Principal`
Overrides:
  `toString` in class `Object`

### getLocation

public URI getLocation()
(non-Javadoc)

Specified by:
  `getLocation` in interface `IServiceID`
Returns:
  URI the location for this serviceID
Since:
  3.0
See Also:
  - `IServiceID.getLocation()`

### getServiceInfo

public IServiceInfo getServiceInfo()

Returns:
  the serviceInfo
Since:
  3.0

### setServiceInfo

public void setServiceInfo(IServiceInfo serviceInfo)

Parameters:
  `serviceInfo` - the serviceInfo to set
Since:
  3.0

### hashCode

public int hashCode()

Specified by:
  `hashCode` in interface `ID`
Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `BaseID`
Since:
  3.0
See Also:
  - `Object.hashCode()`

### equals

public boolean equals(Object obj)

Specified by:
  `equals` in interface `ID`
Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `BaseID`
Since:
  3.0
See Also:
  - `Object.equals(java.lang.Object)`