public final class Uid extends Attribute
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.
Modifier and Type | Method and Description |
---|---|
String |
getUidValue()
Obtain a string representation of the value of this attribute,
which value uniquely identifies a
object
on the target resource. |
Copyright © 2013. All Rights Reserved.