/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive; import java.util.Arrays; /** * Contains the data required to perform an ldap compare operation. * * @author Middleware Services */ public class CompareRequest extends AbstractRequest { /** DN to compare. */ private String compareDn = ""; /** Attribute to compare. */ private LdapAttribute attribute; /** Default constructor. */ public CompareRequest() {} /** * Creates a new compare request. * * @param dn containing the attribute to compare * @param attr attribute to compare */ public CompareRequest(final String dn, final LdapAttribute attr) { setDn(dn); setAttribute(attr); } /** * Returns the DN to compare. * * @return DN */ public String getDn() { return compareDn; } /** * Sets the DN to compare. * * @param dn to compare */ public void setDn(final String dn) { compareDn = dn; } /** * Returns the attribute containing the value to compare. If this attribute contains multiple values, only the first * value as return by the underlying collection is used. * * @return attribute to compare */ public LdapAttribute getAttribute() { return attribute; } /** * Sets the attribute to compare. * * @param attr attribute to compare */ public void setAttribute(final LdapAttribute attr) { attribute = attr; } @Override public String toString() { return String.format( "[%s@%d::compareDn=%s, attribute=%s, controls=%s, " + "referralHandler=%s, intermediateResponseHandlers=%s]", getClass().getName(), hashCode(), compareDn, attribute, Arrays.toString(getControls()), getReferralHandler(), Arrays.toString(getIntermediateResponseHandlers())); } }