Class ExtendedResponseDecorator<R extends ExtendedResponse>

    • Constructor Detail

      • ExtendedResponseDecorator

        public ExtendedResponseDecorator​(LdapApiService codec,
                                         R decoratedMessage)
        Makes a ExtendedResponse encodable.
        Parameters:
        codec - The LDAP service instance
        decoratedMessage - the decorated ExtendedResponse
    • Method Detail

      • getResponseValue

        public byte[] getResponseValue()
        Gets the Extended response payload
        Returns:
        The extended payload
      • setResponseValue

        public void setResponseValue​(byte[] responseValue)
        sets the Extended response payload
        Parameters:
        responseValue - The extended payload
      • computeLength

        public int computeLength()
        Compute the ExtendedResponse length
        ExtendedResponse :
         0x78 L1
          |
          +--> LdapResult
         [+--> 0x8A L2 name
         [+--> 0x8B L3 response]]
         
         L1 = Length(LdapResult)
              [ + Length(0x8A) + Length(L2) + L2
               [ + Length(0x8B) + Length(L3) + L3]]
         
         Length(ExtendedResponse) = Length(0x78) + Length(L1) + L1
         
        Specified by:
        computeLength in interface Asn1Object
        Returns:
        The ExtendedResponse length
      • encode

        public ByteBuffer encode​(ByteBuffer buffer)
                          throws EncoderException
        Encode the ExtendedResponse message to a PDU.
        ExtendedResponse :
         LdapResult.encode()
         [0x8A LL response name]
         [0x8B LL response]
         
        Specified by:
        encode in interface Asn1Object
        Parameters:
        buffer - The buffer where to put the PDU
        Returns:
        The PDU.
        Throws:
        EncoderException - if the buffer can't be encoded