org.apache.directory.shared.ldap.codec.decorators
Class ExtendedResponseDecorator

java.lang.Object
  extended by org.apache.directory.shared.ldap.codec.decorators.MessageDecorator<M>
      extended by org.apache.directory.shared.ldap.codec.decorators.ResponseDecorator<ExtendedResponse>
          extended by org.apache.directory.shared.ldap.codec.decorators.ExtendedResponseDecorator
All Implemented Interfaces:
Serializable, ExtendedResponse, Decorator<ExtendedResponse>, Message, Response, ResultResponse

public class ExtendedResponseDecorator
extends ResponseDecorator<ExtendedResponse>
implements ExtendedResponse

A decorator for the ExtendedResponse message

Author:
Apache Directory Project
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.directory.shared.ldap.codec.decorators.MessageDecorator
messageLength
 
Fields inherited from interface org.apache.directory.shared.ldap.model.message.ExtendedResponse
TYPE
 
Constructor Summary
ExtendedResponseDecorator(LdapCodecService codec, ExtendedResponse decoratedMessage)
          Makes a ExtendedResponse encodable.
 
Method Summary
 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
 ByteBuffer encode(ByteBuffer buffer)
          Encode the ExtendedResponse message to a PDU.
 byte[] getEncodedValue()
          
 int getExtendedResponseLength()
           
 String getID()
          
 String getResponseName()
          
 byte[] getResponseNameBytes()
          Gets the responseName bytes.
 byte[] getResponseValue()
          
 void setExtendedResponseLength(int extendedResponseLength)
          Stores the encoded length for the ExtendedResponse
 void setResponseName(String oid)
          
 void setResponseNameBytes(byte[] responseNameBytes)
          Sets the OID bytes.
 void setResponseValue(byte[] responseValue)
          
 
Methods inherited from class org.apache.directory.shared.ldap.codec.decorators.ResponseDecorator
getLdapResult, setLdapResult
 
Methods inherited from class org.apache.directory.shared.ldap.codec.decorators.MessageDecorator
addAllControls, addControl, get, getCodecService, getControl, getControls, getControlsLength, getCurrentControl, getDecorated, getDecorator, getMessageId, getMessageLength, getType, hasControl, put, removeControl, setControlsLength, setMessageId, setMessageLength, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.directory.shared.ldap.model.message.ResultResponse
getLdapResult
 
Methods inherited from interface org.apache.directory.shared.ldap.model.message.Message
addAllControls, addControl, get, getControl, getControls, getMessageId, getType, hasControl, put, removeControl, setMessageId
 

Constructor Detail

ExtendedResponseDecorator

public ExtendedResponseDecorator(LdapCodecService codec,
                                 ExtendedResponse decoratedMessage)
Makes a ExtendedResponse encodable.

Parameters:
decoratedMessage - the decorated ExtendedResponse
Method Detail

getResponseNameBytes

public byte[] getResponseNameBytes()
Gets the responseName bytes.

Returns:
the responseName bytes of the extended response type.

setResponseNameBytes

public void setResponseNameBytes(byte[] responseNameBytes)
Sets the OID bytes.

Parameters:
responseNameBytes - the OID bytes of the extended response type.

setExtendedResponseLength

public void setExtendedResponseLength(int extendedResponseLength)
Stores the encoded length for the ExtendedResponse

Parameters:
extendedResponseLength - The encoded length

getExtendedResponseLength

public int getExtendedResponseLength()
Returns:
The encoded ExtendedResponse's length

getEncodedValue

public byte[] getEncodedValue()

Specified by:
getEncodedValue in interface ExtendedResponse

getID

public String getID()

Specified by:
getID in interface ExtendedResponse

getResponseName

public String getResponseName()


setResponseName

public void setResponseName(String oid)


getResponseValue

public byte[] getResponseValue()


setResponseValue

public void setResponseValue(byte[] responseValue)


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 Decorator<ExtendedResponse>
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 Decorator<ExtendedResponse>
Parameters:
buffer - The buffer where to put the PDU
Returns:
The PDU.
Throws:
EncoderException - if the buffer can't be encoded


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.