Class LdapResultDecorator

    • Constructor Detail

      • LdapResultDecorator

        public LdapResultDecorator​(LdapApiService codec,
                                   LdapResult decoratedLdapResult)
        Makes a LdapResult encodable.
        Parameters:
        codec - The LDAP service instance
        decoratedLdapResult - the decorated LdapResult
    • Method Detail

      • getResultCode

        public ResultCodeEnum getResultCode()
        Gets the result code enumeration associated with the response. Corresponds to the resultCode field within the LDAPResult ASN.1 structure.
        Specified by:
        getResultCode in interface LdapResult
        Returns:
        the result code enum value.
      • setResultCode

        public void setResultCode​(ResultCodeEnum resultCode)
        Sets the result code enumeration associated with the response. Corresponds to the resultCode field within the LDAPResult ASN.1 structure.
        Specified by:
        setResultCode in interface LdapResult
        Parameters:
        resultCode - the result code enum value.
      • getMatchedDn

        public Dn getMatchedDn()
        Gets the lowest entry in the directory that was matched. For result codes of noSuchObject, aliasProblem, invalidDNSyntax and aliasDereferencingProblem, the matchedDN field is set to the name of the lowest entry (object or alias) in the directory that was matched. If no aliases were dereferenced while attempting to locate the entry, this will be a truncated form of the name provided, or if aliases were dereferenced, of the resulting name, as defined in section 12.5 of X.511 [8]. The matchedDN field is to be set to a zero length string with all other result codes.
        Specified by:
        getMatchedDn in interface LdapResult
        Returns:
        the Dn of the lowest matched entry.
      • getDiagnosticMessage

        public String getDiagnosticMessage()
        Gets the descriptive diagnostic message associated with the error code. May be null for SUCCESS, COMPARETRUE, COMPAREFALSE and REFERRAL operations.
        Specified by:
        getDiagnosticMessage in interface LdapResult
        Returns:
        the descriptive diagnostic message.
      • setDiagnosticMessage

        public void setDiagnosticMessage​(String diagnosticMessage)
        Sets the descriptive diagnostic message associated with the error code. May be null for SUCCESS, COMPARETRUE, and COMPAREFALSE operations.
        Specified by:
        setDiagnosticMessage in interface LdapResult
        Parameters:
        diagnosticMessage - the descriptive diagnostic message.
      • isReferral

        public boolean isReferral()
        Gets whether or not this result represents a Referral. For referrals the error code is set to REFERRAL and the referral property is not null.
        Specified by:
        isReferral in interface LdapResult
        Returns:
        true if this result represents a referral.
      • getReferral

        public Referral getReferral()
        Gets the Referral associated with this LdapResult if the resultCode property is set to the REFERRAL ResultCodeEnum.
        Specified by:
        getReferral in interface LdapResult
        Returns:
        the referral on REFERRAL resultCode, null on all others.
      • setReferral

        public void setReferral​(Referral referral)
        Sets the Referral associated with this LdapResult if the resultCode property is set to the REFERRAL ResultCodeEnum. Setting this property will result in a true return from isReferral and the resultCode should be set to REFERRAL.
        Specified by:
        setReferral in interface LdapResult
        Parameters:
        referral - optional referral on REFERRAL errors.
      • computeLength

        public int computeLength()
        Compute the LdapResult length
        LdapResult :
         
           0x0A 01 resultCode (0..80)
           0x04 L1 matchedDN (L1 = Length(matchedDN)) 
           0x04 L2 errorMessage (L2 = Length(errorMessage)) 
           [0x83 L3] referrals 
             | 
             +--> 0x04 L4 referral 
             +--> 0x04 L5 referral 
             +--> ... 
             +--> 0x04 Li referral 
             +--> ... 
             +--> 0x04 Ln referral 
             
         L1 = Length(matchedDN) 
         L2 = Length(errorMessage) 
         L3 = n*Length(0x04) + sum(Length(L4) .. Length(Ln)) + sum(L4..Ln) 
         L4..n = Length(0x04) + Length(Li) + Li 
         Length(LdapResult) = Length(0x0x0A) +
              Length(0x01) + 1 + Length(0x04) + Length(L1) + L1 + Length(0x04) +
              Length(L2) + L2 + Length(0x83) + Length(L3) + L3
         
        Specified by:
        computeLength in interface Asn1Object
        Returns:
        The object's computed length
      • isDefaultSuccess

        public boolean isDefaultSuccess()
        Tells if the LdapResult is a success, with no added information. The MatchedDn will be empty, as the diagnostic message and the referral. The ResultCode will always be 0.
        Specified by:
        isDefaultSuccess in interface LdapResult
        Returns:
        True if the LdapResult is SUCCESS.