Class BaseID

java.lang.Object
org.eclipse.ecf.core.identity.BaseID
All Implemented Interfaces:
Serializable, Comparable, Principal, org.eclipse.core.runtime.IAdaptable, ID
Direct Known Subclasses:
FileTransferID, LongID, R_OSGiID, RemoteServiceID, ServiceID, ServiceTypeID, StringID, URIID, UuID

public abstract class BaseID extends Object implements ID
Base class for ID implementation classes Extensions for the org.eclipse.ecf.namespace extension point that expose new Namespace subclasses and their own ID implementations are recommended (but not required) to use this class as a superclass.
See Also:
  • Field Details

  • Constructor Details

    • BaseID

      public BaseID()
      Since:
      3.9
    • BaseID

      protected BaseID(Namespace namespace)
  • Method Details

    • compareTo

      public int compareTo(Object o)
      Specified by:
      compareTo in interface Comparable
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface ID
      Specified by:
      equals in interface Principal
      Overrides:
      equals in class Object
    • getName

      public String getName()
      Description copied from interface: ID
      Get the unique name of this identity.
      Specified by:
      getName in interface ID
      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

      public Namespace getNamespace()
      Description copied from interface: ID
      Get the Namespace instance associated with this identity
      Specified by:
      getNamespace in interface ID
      Returns:
      Namespace the Namespace corresponding to this identity. Will not return null.
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface ID
      Specified by:
      hashCode in interface Principal
      Overrides:
      hashCode in class Object
    • toExternalForm

      public String toExternalForm()
      Description copied from interface: ID
      Get this ID instance in String form. Will not return null.
      Specified by:
      toExternalForm in interface ID
      Returns:
      String that is external representation of this ID
    • namespaceCompareTo

      protected abstract int namespaceCompareTo(BaseID o)
      Parameters:
      o - the other ID to compare to. Will not be null.
      Returns:
      the appropriate value as per Comparable contract.
    • namespaceEquals

      protected abstract boolean namespaceEquals(BaseID o)
      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 abstract String namespaceGetName()
      Returns:
      String name for this ID. Must not be null. Value returned should be unique within this Namespace.
    • namespaceHashCode

      protected abstract int namespaceHashCode()
      Returns:
      int hashCode for this ID. Returned value must be unique within this process.
    • namespaceToExternalForm

      protected String namespaceToExternalForm()
      Returns:
      String that represents this ID. Default implementation is to return
       namespace.getScheme() + Namespace.SCHEME_SEPARATOR + namespaceGetName();
               
    • getAdapter

      public Object getAdapter(Class clazz)
      Specified by:
      getAdapter in interface org.eclipse.core.runtime.IAdaptable