public final class AdNotificationRequestControl extends Object implements Control
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
}
}
Modifier and Type | Field and Description |
---|---|
static String |
IS_DELETED_ATTR
The name of the isDeleted attribute as defined in the Active Directory
schema.
|
static String |
OBJECT_GUID_ATTR
The name of the objectGUID attribute as defined in the Active Directory
schema.
|
static String |
OID
The OID for the Microsoft Active Directory persistent search request
control.
|
static String |
USN_CHANGED_ATTR
The name of the uSNChanged attribute as defined in the Active Directory
schema.
|
static String |
WHEN_CHANGED_ATTR
The name of the whenChanged attribute as defined in the Active Directory
schema.
|
static String |
WHEN_CREATED_ATTR
The name of the whenCreated attribute as defined in the Active Directory
schema.
|
Modifier and Type | Method and Description |
---|---|
String |
getOid()
Returns the numeric OID associated with this control.
|
ByteString |
getValue()
Returns the value, if any, associated with this control.
|
boolean |
hasValue()
Returns
true if this control has a value. |
boolean |
isCritical()
Returns
true 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.
|
String |
toString() |
public static final String OID
public static final String IS_DELETED_ATTR
TRUE
, the object
has been marked for deletion.public static final String WHEN_CREATED_ATTR
public static final String WHEN_CHANGED_ATTR
public static final String OBJECT_GUID_ATTR
public static final String USN_CHANGED_ATTR
public static AdNotificationRequestControl newControl(boolean isCritical)
isCritical
- true
if it is unacceptable to perform the operation
without applying the semantics of this control, or
false
if it can be ignoredpublic String getOid()
Control
public ByteString getValue()
Control
public boolean hasValue()
Control
true
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.public boolean isCritical()
Control
true
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 of true
indicates that it is unacceptable to perform the
operation without applying the semantics of the control.
isCritical
in interface Control
true
if this control must be processed by the Directory
Server, or false
if it can be ignored.Copyright 2010-2022 ForgeRock AS.