Interface CompareRequest

All Superinterfaces:
Request

public interface CompareRequest extends 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.
 }
 
  • Method Details

    • addControl

      Description copied from interface: Request
      Adds the provided control to this request.
      Specified by:
      addControl in interface Request
      Parameters:
      control - The control to be added to this request.
      Returns:
      This request.
    • 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.
    • getControl

      <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
      Description copied from interface: Request
      Decodes and returns the first control in this request having an OID corresponding to the provided control decoder.
      Specified by:
      getControl in interface Request
      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 null if the control is not included with this request.
      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: Request
      Returns a List containing the controls included with this request. The returned List may be modified if permitted by this request.
      Specified by:
      getControls in interface Request
      Returns:
      A List containing the controls.
    • 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 ByteString then it will be converted using the ByteString.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 - If value was null.
    • 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 - If attributeDescription was null.
    • 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:
      org.forgerock.i18n.LocalizedIllegalArgumentException - If attributeDescription could not be decoded using the default schema.
      UnsupportedOperationException - If this compare request does not permit the attribute description to be set.
      NullPointerException - If attributeDescription was null.
    • 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 - If dn was null.
    • 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:
      org.forgerock.i18n.LocalizedIllegalArgumentException - If dn could not be decoded using the default schema.
      UnsupportedOperationException - If this compare request does not permit the distinguished name to be set.
      NullPointerException - If dn was null.