Class CompareRequest
java.lang.Object
org.forgerock.opendj.ldap.messages.CompareRequest
- All Implemented Interfaces:
ProtocolOp,Request
The Compare operation allows a client to compare an assertion value with the
values of a particular attribute in a particular entry in the Directory.
Note that some directory systems may establish access controls that permit
the values of certain attributes (such as userPassword ) to be
compared but not interrogated by other means.
The following excerpt shows how to use the Compare operation to check whether a member belongs to a (possibly large) static group.
Connection connection = ...;
String groupDN = ...;
String memberDN = ...;
CompareRequest request =
Requests.newCompareRequest(groupDN, "member", memberDN);
CompareResult result = connection.compare(request);
if (result.matched()) {
// The member belongs to the group.
}
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.forgerock.opendj.ldap.messages.Request
Request.RequestType -
Method Summary
Modifier and TypeMethodDescription<R,P, E extends Exception>
Raccept(RequestVisitor<R, P, E> v, P p) Applies aRequestVisitorto thisRequest.final CompareRequestaddControl(Control control) Adds the provided control to this protocol-op.final CompareRequestaddControls(Iterable<? extends Control> controls) Adds the provided controls to this protocol-op.final booleancontainsControl(String oid) Returnstrueif this protocol-op contains the specified control.Returns the assertion value to be compared.Returns the assertion value to be compared decoded as a UTF-8 string.Returns the name of the attribute to be compared.final <C extends Control>
CgetControl(ControlDecoder<C> decoder, DecodeOptions options) Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.Returns aListcontaining the controls included with this protocol-op.getName()Returns the distinguished name of the entry to be compared.getType()Returns the type of this request to avoid expensiveinstanceofchecks.final CompareRequestremoveControls(String oid) Removes all the controls having the specified OID.setAssertionValue(Object value) Sets the assertion value to be compared.setAttributeDescription(String attributeDescription) Sets the name of the attribute to be compared.setAttributeDescription(AttributeDescription attributeDescription) Sets the name of the attribute to be compared.Sets the distinguished name of the entry to be compared.Sets the distinguished name of the entry to be compared.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl, getControl, getControlsMethods inherited from interface org.forgerock.opendj.ldap.messages.Request
addControl, addControls, removeControls
-
Method Details
-
accept
Description copied from interface:RequestApplies aRequestVisitorto thisRequest.- Specified by:
acceptin interfaceRequest- Type Parameters:
R- The return type of the visitor's methods.P- The type of the additional parameters to the visitor's methods.E- The type of the exception thrown by the visitor method if it fails, orNeverThrowsExceptionif the visitor cannot fail.- Parameters:
v- The request visitor.p- Optional additional visitor parameter.- Returns:
- A result as specified by the visitor.
- Throws:
E- If the visitor failed.
-
getAssertionValue
Returns the assertion value to be compared.- Returns:
- The assertion value.
-
getAssertionValueAsString
Returns the assertion value to be compared decoded as a UTF-8 string.- Returns:
- The assertion value decoded as a UTF-8 string.
-
getAttributeDescription
Returns the name of the attribute to be compared.- Returns:
- The name of the attribute.
-
getName
Returns the distinguished name of the entry to be compared. The server shall not dereference any aliases in locating the entry to be compared.- Returns:
- The distinguished name of the entry.
-
setAssertionValue
Sets the assertion value to be compared.If the assertion value is not an instance of
ByteStringthen it will be converted using theByteString.valueOfObject(Object)method.- Parameters:
value- The assertion value to be compared.- Returns:
- This compare request.
- Throws:
UnsupportedOperationException- If this compare request does not permit the assertion value to be set.NullPointerException- Ifvaluewasnull.
-
setAttributeDescription
Sets the name of the attribute to be compared.- Parameters:
attributeDescription- The name of the attribute to be compared.- Returns:
- This compare request.
- Throws:
UnsupportedOperationException- If this compare request does not permit the attribute description to be set.NullPointerException- IfattributeDescriptionwasnull.
-
setAttributeDescription
Sets the name of the attribute to be compared.- Parameters:
attributeDescription- The name of the attribute to be compared.- Returns:
- This compare request.
- Throws:
LocalizedIllegalArgumentException- IfattributeDescriptioncould not be decoded using the default schema.UnsupportedOperationException- If this compare request does not permit the attribute description to be set.NullPointerException- IfattributeDescriptionwasnull.
-
setName
Sets the distinguished name of the entry to be compared. The server shall not dereference any aliases in locating the entry to be compared.- Parameters:
dn- The distinguished name of the entry to be compared.- Returns:
- This compare request.
- Throws:
UnsupportedOperationException- If this compare request does not permit the distinguished name to be set.NullPointerException- Ifdnwasnull.
-
setName
Sets the distinguished name of the entry to be compared. The server shall not dereference any aliases in locating the entry to be compared.- Parameters:
dn- The distinguished name of the entry to be compared.- Returns:
- This compare request.
- Throws:
LocalizedIllegalArgumentException- Ifdncould not be decoded using the default schema.UnsupportedOperationException- If this compare request does not permit the distinguished name to be set.NullPointerException- Ifdnwasnull.
-
getType
Description copied from interface:RequestReturns the type of this request to avoid expensiveinstanceofchecks. -
toString
-
addControl
Description copied from interface:ProtocolOpAdds the provided control to this protocol-op.- Specified by:
addControlin interfaceProtocolOp- Parameters:
control- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
Description copied from interface:ProtocolOpAdds the provided controls to this protocol-op.- Specified by:
addControlsin interfaceProtocolOp- Parameters:
controls- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
removeControls
Description copied from interface:ProtocolOpRemoves all the controls having the specified OID.- Specified by:
removeControlsin interfaceProtocolOp- Parameters:
oid- The numeric OID of the protocol-op control to remove.- Returns:
- This protocol-op.
-
containsControl
Description copied from interface:ProtocolOpReturnstrueif this protocol-op contains the specified control.- Specified by:
containsControlin interfaceProtocolOp- Parameters:
oid- The numeric OID of the protocol-op control.- Returns:
trueif this protocol-op contains the specified control.
-
getControl
public final <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:ProtocolOpDecodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControlin interfaceProtocolOp- Type Parameters:
C- The type of control to be decoded and returned.- Parameters:
decoder- The control decoder.options- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
nullif the control is not included with this protocol-op. - Throws:
DecodeException- If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
-
getControls
Description copied from interface:ProtocolOpReturns aListcontaining the controls included with this protocol-op. The returnedListmay be modified if permitted by this protocol-op.- Specified by:
getControlsin interfaceProtocolOp- Returns:
- A
Listcontaining the controls.
-