Package org.eclipse.ecf.core.identity

# Interface ID

All Superinterfaces:
  `Comparable`, `org.eclipse.core.runtime.IAdaptable`, `Principal`, `Serializable`

All Known Subinterfaces:
  `IFileID`, `IRemoteServiceID`, `IResourceID`, `IServiceID`, `IServiceTypeID`

All Known Implementing Classes:
  `BaseID`, `BnRDnsSdServiceTypeID`, `DnsSdServiceID`, `DnsSdServiceTypeID`, `FileTransferID`, `GUID`, `JSLPServiceID`, `JSLPServiceTypeID`, `LongID`, `R_OSGiID`, `R_OSGiWSID`, `RemoteServiceID`, `RestID`, `ServiceID`, `ServiceTypeID`, `StringID`, `URIID`, `UuID`, `ZooDiscoveryServiceID`, `ZooDiscoveryServiceTypeID`, `ZooDiscoveryTargetID`

public interface ID extends Serializable, Comparable, Principal, org.eclipse.core.runtime.IAdaptable
Contract for ECF identity

ECF IDs are immutable once constructed, and unique within the containing `Namespace`.

ID instances are created via the Namespace.createInstance(...) method. This method is called by the IDFactory.createID(...) methods for the given Namespace. So, for example, to create an ID instance with the name "slewis":

     ID id = IDFactory.getDefault().createID(namespace, "slewis");

See Also:
  - `Namespace`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`String`
`getName()`
Get the unique name of this identity.
`Namespace`
`getNamespace()`
Get the Namespace instance associated with this identity
`int`
`hashCode()`
`String`
`toExternalForm()`
Get this ID instance in String form.

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

`compareTo`

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

`getAdapter`

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

`implies, toString`

## Method Details

### equals

boolean equals(Object obj)

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

### hashCode

int hashCode()

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

### getName

String getName()
Get the unique name of this identity.

Specified by:
  `getName` in interface `Principal`
Returns:
  String unique name for this identity. Will not be null, and must be a unique String within the Namespace returned by getNamespace()

### getNamespace

Namespace getNamespace()
Get the Namespace instance associated with this identity

Returns:
  Namespace the Namespace corresponding to this identity. Will not return null.

### toExternalForm

String toExternalForm()
Get this ID instance in String form. Will not return null.

Returns:
  String that is external representation of this ID