Class ExtendedResponseDecorator<R extends ExtendedResponse>
- java.lang.Object
-
- org.apache.directory.api.ldap.codec.api.MessageDecorator<M>
-
- org.apache.directory.api.ldap.codec.decorators.ResponseDecorator<R>
-
- org.apache.directory.api.ldap.codec.decorators.ExtendedResponseDecorator<R>
-
- Type Parameters:
R
- The extended response to decorate
- All Implemented Interfaces:
Asn1Object
,Decorator<R>
,ExtendedResponse
,Message
,Response
,ResultResponse
- Direct Known Subclasses:
CancelResponseDecorator
,CertGenerationResponseDecorator
,EndTransactionResponseDecorator
,GracefulDisconnectResponseDecorator
,GracefulShutdownResponseDecorator
,PasswordModifyResponseDecorator
,StartTlsResponseDecorator
,StartTransactionResponseDecorator
,StoredProcedureResponseDecorator
,WhoAmIResponseDecorator
public class ExtendedResponseDecorator<R extends ExtendedResponse> extends ResponseDecorator<R> implements ExtendedResponse
A decorator for the ExtendedResponse message- Author:
- Apache Directory Project
-
-
Constructor Summary
Constructors Constructor Description ExtendedResponseDecorator(LdapApiService codec, R decoratedMessage)
Makes a ExtendedResponse encodable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
computeLength()
Compute the ExtendedResponse length
ExtendedResponse :ByteBuffer
encode(ByteBuffer buffer)
Encode the ExtendedResponse message to a PDU.String
getResponseName()
Gets the OID uniquely identifying this extended response (a.k.a. its name).byte[]
getResponseValue()
Gets the Extended response payloadvoid
setResponseName(String oid)
Sets the OID uniquely identifying this extended response (a.k.a. its name).void
setResponseValue(byte[] responseValue)
sets the Extended response payload-
Methods inherited from class org.apache.directory.api.ldap.codec.decorators.ResponseDecorator
getLdapResult, setLdapResult
-
Methods inherited from class org.apache.directory.api.ldap.codec.api.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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.directory.api.ldap.model.message.Message
addAllControls, addControl, get, getControl, getControls, getMessageId, getType, hasControl, put, removeControl, setMessageId
-
Methods inherited from interface org.apache.directory.api.ldap.model.message.ResultResponse
getLdapResult
-
-
-
-
Constructor Detail
-
ExtendedResponseDecorator
public ExtendedResponseDecorator(LdapApiService codec, R decoratedMessage)
Makes a ExtendedResponse encodable.- Parameters:
codec
- The LDAP service instancedecoratedMessage
- the decorated ExtendedResponse
-
-
Method Detail
-
getResponseName
public String getResponseName()
Gets the OID uniquely identifying this extended response (a.k.a. its name).- Specified by:
getResponseName
in interfaceExtendedResponse
- Returns:
- the OID of the extended response type.
-
setResponseName
public void setResponseName(String oid)
Sets the OID uniquely identifying this extended response (a.k.a. its name).- Specified by:
setResponseName
in interfaceExtendedResponse
- Parameters:
oid
- the OID of the extended response type.
-
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 interfaceAsn1Object
- 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 interfaceAsn1Object
- Parameters:
buffer
- The buffer where to put the PDU- Returns:
- The PDU.
- Throws:
EncoderException
- if the buffer can't be encoded
-
-