Class AbstractFollowReferralHandler<Q extends Request,​S extends Result>

    • Field Detail

      • DEFAULT_REFERRAL_LIMIT

        protected static final int DEFAULT_REFERRAL_LIMIT
        Default referral limit. Value is 10.
        See Also:
        Constant Field Values
      • logger

        protected final Logger logger
        Logger for this class.
      • referralLimit

        protected final int referralLimit
        Referral limit.
      • referralDepth

        protected final int referralDepth
        Referral depth.
    • Constructor Detail

      • AbstractFollowReferralHandler

        public AbstractFollowReferralHandler​(int limit,
                                             int depth,
                                             ReferralConnectionFactory factory)
        Creates a new abstract referral handler.
        Parameters:
        limit - number of referrals to follow
        depth - number of referrals followed
        factory - referral connection factory
    • Method Detail

      • getReferralLimit

        public int getReferralLimit()
        Returns the maximum number of referrals to follow.
        Returns:
        referral limit
      • getReferralDepth

        public int getReferralDepth()
        Returns the referral depth of this handler.
        Returns:
        referral depth
      • getReferralConnectionFactory

        public ReferralConnectionFactory getReferralConnectionFactory()
        Returns the referral connection factory.
        Returns:
        referral connection factory
      • createReferralRequest

        protected abstract Q createReferralRequest​(LdapURL url)
        Creates a new request for this type of referral.
        Parameters:
        url - of the referral
        Returns:
        new request
      • createReferralOperation

        protected abstract Operation<Q,​S> createReferralOperation​(ConnectionFactory factory)
        Creates an operation for this type of referral.
        Parameters:
        factory - to get a connection with
        Returns:
        new operation
      • followReferral

        protected S followReferral​(String[] referralUrls)
        Follows the supplied referral URLs in order until a SUCCESS or REFERRAL_LIMIT_EXCEEDED occurs. If neither of those conditions occurs this method returns null.
        Parameters:
        referralUrls - produced by the request
        Returns:
        referral response
      • apply

        public S apply​(S result)