/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive.auth; import org.ldaptive.Credential; /** * Contains the properties used to perform authentication. * * @author Middleware Services */ public class AuthenticationCriteria { /** dn. */ private String authenticationDn; /** authentication request. */ private AuthenticationRequest authenticationRequest; /** Default constructor. */ public AuthenticationCriteria() {} /** * Creates a new authentication criteria. * * @param dn to authenticate */ public AuthenticationCriteria(final String dn) { authenticationDn = dn; } /** * Creates a new authentication criteria. * * @param dn to authenticate * @param request that initiated the authentication */ public AuthenticationCriteria(final String dn, final AuthenticationRequest request) { authenticationDn = dn; authenticationRequest = request; } /** * Returns the dn. * * @return dn to authenticate */ public String getDn() { return authenticationDn; } /** * Sets the dn. * * @param dn to set dn */ public void setDn(final String dn) { authenticationDn = dn; } /** * Returns the credential. * * @return credential to authenticate dn */ public Credential getCredential() { return authenticationRequest.getCredential(); } /** * Returns the authentication request. * * @return authentication request */ public AuthenticationRequest getAuthenticationRequest() { return authenticationRequest; } /** * Sets the authentication request. * * @param request to set authentication request */ public void setAuthenticationRequest(final AuthenticationRequest request) { authenticationRequest = request; } @Override public String toString() { return String.format( "[%s@%d::dn=%s, authenticationRequest=%s]", getClass().getName(), hashCode(), authenticationDn, authenticationRequest); } }