/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive.referral; import org.ldaptive.Connection; import org.ldaptive.LdapException; import org.ldaptive.Request; import org.ldaptive.Response; import org.ldaptive.handler.Handler; import org.ldaptive.handler.HandlerResult; /** * Provides handling of an ldap referral. * * @param <Q> type of ldap request * @param <S> type of ldap response * * @author Middleware Services */ public interface ReferralHandler<Q extends Request, S> extends Handler<Q, Response<S>> { @Override HandlerResult<Response<S>> handle(Connection conn, Q request, Response<S> response) throws LdapException; /** * Initialize the request for use with this referral handler. * * @param request to initialize for this referral handler */ void initializeRequest(Q request); }