java.lang.Object
org.identityconnectors.framework.common.objects.Attribute
org.identityconnectors.framework.common.objects.Uid

public final class Uid extends Attribute
A single-valued attribute that represents the unique identifier of an object within the name-space of the target resource. If possible, this unique identifier also should be immutable.

When an application creates an object on a target resource, the create operation returns as its result the Uid of the created object. An application also can use the search operation to discover the Uid value for an existing object. An application must use the Uid value to identify the object in any subsequent call to get, delete or update that object. See the documentation for Name for comparison.

Ideally, the value of Uid would be a Globally Unique IDentifier (GUID). However, not every target resource provides a globally unique and immutable identifier for each of its objects. For some connector implementations, therefore, the Uid value is only locally unique and may change when an object is modified. For instance, an LDAP directory service that lacks GUID might use Distinguished Name (DN) as the Uid for each object. A connector that represents each object as a row in a database table might use the value of the primary key as the Uid of an object. The fact that changing an object might change its Uid is the reason that update returns Uid.

Uid by definition must be a single-valued attribute. Its value must always convert to a string, regardless of the underlying type of the native identifier on the target. The string value of any native id must be canonical.

Uid is never allowed to appear in the Schema, nor may Uid appear in the attribute set of a create operation. This is because Uid is not a true attribute of an object, but rather a reference to that object. Uid extends Attribute only so that Uid can be searchable and compatible with the filter translators.

  • Field Details

    • NAME

      public static final String NAME
  • Constructor Details

  • Method Details

    • getUidValue

      public String getUidValue()
      Obtain a string representation of the value of this attribute, which value uniquely identifies a object on the target resource.
      Returns:
      value that uniquely identifies an object.
    • getRevision

      public String getRevision()
      Return the string representation of the revision value of the

      The revision number specifies a given version ot the object identified by the getUidValue()

      Returns:
      null if the connector does not support the MVCC and does not set this value otherwise return the revision number of the object.