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

All Methods Instance Methods Abstract Methods
`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 java.security.Principal

`implies, toString`

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

`getAdapter`

### Method Detail

#### 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