Class AdNotificationRequestControl
java.lang.Object
org.forgerock.opendj.ldap.controls.AdNotificationRequestControl
- All Implemented Interfaces:
Control
The persistent search request control for Active Directory as defined by
Microsoft. This control allows a client to receive notification of changes
that occur in an Active Directory server.
Connection connection = ...;
SearchRequest request =
Requests.newSearchRequest("dc=example,dc=com",
SearchScope.WHOLE_SUBTREE, "(objectclass=*)", "cn",
"isDeleted", "whenChanged", "whenCreated").addControl(
ADNotificationRequestControl.newControl(true));
ConnectionEntryReader reader = connection.search(request);
while (reader.hasNext()) {
if (!reader.isReference()) {
SearchResultEntry entry = reader.readEntry(); // Entry that changed
Boolean isDeleted = entry.parseAttribute("isDeleted").asBoolean();
if (isDeleted != null && isDeleted) {
// Handle entry deletion
}
String whenCreated = entry.parseAttribute("whenCreated").asString();
String whenChanged = entry.parseAttribute("whenChanged").asString();
if (whenCreated != null && whenChanged != null) {
if (whenCreated.equals(whenChanged)) {
//Handle entry addition
} else {
//Handle entry modification
}
}
} else {
reader.readReference(); //read and ignore reference
}
}
-
Field Summary
Modifier and TypeFieldDescriptionThe user-friendly aliases for the active directory notification request control.static final String
The name of the isDeleted attribute as defined in the Active Directory schema.static final String
The name of the objectGUID attribute as defined in the Active Directory schema.static final String
The OID for the Microsoft Active Directory persistent search request control.static final String
The name of the uSNChanged attribute as defined in the Active Directory schema.static final String
The name of the whenChanged attribute as defined in the Active Directory schema.static final String
The name of the whenCreated attribute as defined in the Active Directory schema. -
Method Summary
Modifier and TypeMethodDescriptiongetAlias()
Returns the control "friendly name" alias for the control.getOid()
Returns the numeric OID associated with this control.getValue()
Returns the value, if any, associated with this control.boolean
hasValue()
Returnstrue
if this control has a value.boolean
Returnstrue
if it is unacceptable to perform the operation without applying the semantics of this control.static AdNotificationRequestControl
newControl
(boolean isCritical) Creates a new Active Directory change notification request control.toString()
-
Field Details
-
OID
The OID for the Microsoft Active Directory persistent search request control. The control itself is empty and the changes are returned as attributes, such as "isDeleted", "whenChanged", "whenCreated".- See Also:
-
ALIASES
The user-friendly aliases for the active directory notification request control. -
IS_DELETED_ATTR
The name of the isDeleted attribute as defined in the Active Directory schema. If the value of the attribute isTRUE
, the object has been marked for deletion.- See Also:
-
WHEN_CREATED_ATTR
The name of the whenCreated attribute as defined in the Active Directory schema. Holds the date of the creation of the object in GeneralizedTime format.- See Also:
-
WHEN_CHANGED_ATTR
The name of the whenChanged attribute as defined in the Active Directory schema. Holds the date of the last modification of the object in GeneralizedTime format.- See Also:
-
OBJECT_GUID_ATTR
The name of the objectGUID attribute as defined in the Active Directory schema. This is the unique identifier of an object stored in binary format.- See Also:
-
USN_CHANGED_ATTR
The name of the uSNChanged attribute as defined in the Active Directory schema. This attribute can be used to determine whether the current state of the object on the server reflects the latest changes that the client has received.- See Also:
-
-
Method Details
-
newControl
Creates a new Active Directory change notification request control.- Parameters:
isCritical
-true
if it is unacceptable to perform the operation without applying the semantics of this control, orfalse
if it can be ignored- Returns:
- The new control.
-
getOid
Description copied from interface:Control
Returns the numeric OID associated with this control. -
getValue
Description copied from interface:Control
Returns the value, if any, associated with this control. Its format is defined by the specification of this control. -
hasValue
public boolean hasValue()Description copied from interface:Control
Returnstrue
if this control has a value. In some circumstances it may be useful to determine if a control has a value, without actually calculating the value and incurring any performance costs. -
isCritical
public boolean isCritical()Description copied from interface:Control
Returnstrue
if it is unacceptable to perform the operation without applying the semantics of this control.The criticality field only has meaning in controls attached to request messages (except UnbindRequest). For controls attached to response messages and the UnbindRequest, the criticality field SHOULD be
false
, and MUST be ignored by the receiving protocol peer. A value oftrue
indicates that it is unacceptable to perform the operation without applying the semantics of the control.- Specified by:
isCritical
in interfaceControl
- Returns:
true
if this control must be processed by the Directory Server, orfalse
if it can be ignored.
-
toString
-
getAlias
Description copied from interface:Control
Returns the control "friendly name" alias for the control.
-