Class AdNotificationRequestControl
- java.lang.Object
-
- org.forgerock.opendj.ldap.controls.AdNotificationRequestControl
-
- All Implemented Interfaces:
Control
public final class AdNotificationRequestControl extends Object implements 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
Fields Modifier and Type Field 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.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getOid()
Returns the numeric OID associated with this control.ByteString
getValue()
Returns the value, if any, associated with this control.boolean
hasValue()
Returnstrue
if this control has a value.boolean
isCritical()
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.String
toString()
-
-
-
Field Detail
-
OID
public static final String 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:
- Constant Field Values
-
IS_DELETED_ATTR
public static final String 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:
- Constant Field Values
-
WHEN_CREATED_ATTR
public static final String 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:
- Constant Field Values
-
WHEN_CHANGED_ATTR
public static final String 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:
- Constant Field Values
-
OBJECT_GUID_ATTR
public static final String 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:
- Constant Field Values
-
USN_CHANGED_ATTR
public static final String 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:
- Constant Field Values
-
-
Method Detail
-
newControl
public static AdNotificationRequestControl newControl(boolean isCritical)
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
public String getOid()
Description copied from interface:Control
Returns the numeric OID associated with this control.
-
getValue
public ByteString 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.
-
-