Interface CompareRequest

  • All Superinterfaces:
    ProtocolOp, 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 Detail

      • addControl

        CompareRequest addControl​(Control control)
        Description copied from interface: ProtocolOp
        Adds the provided control to this protocol-op.
        Specified by:
        addControl in interface ProtocolOp
        Specified by:
        addControl in interface Request
        Parameters:
        control - The control to be added to this protocol-op.
        Returns:
        This protocol-op.
      • getAssertionValue

        ByteString getAssertionValue()
        Returns the assertion value to be compared.
        Returns:
        The assertion value.
      • getAssertionValueAsString

        String 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

        AttributeDescription 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: ProtocolOp
        Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.
        Specified by:
        getControl in interface ProtocolOp
        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 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

        List<Control> getControls()
        Description copied from interface: ProtocolOp
        Returns a List containing the controls included with this protocol-op. The returned List may be modified if permitted by this protocol-op.
        Specified by:
        getControls in interface ProtocolOp
        Returns:
        A List containing the controls.
      • getName

        Dn 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.
      • setAttributeDescription

        CompareRequest setAttributeDescription​(AttributeDescription attributeDescription)
        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

        CompareRequest setAttributeDescription​(String attributeDescription)
        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 - 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

        CompareRequest setName​(Dn dn)
        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

        CompareRequest setName​(String dn)
        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 - 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.