org.apache.directory.api.ldap.model.message
Interface ExtendedRequest<R extends ExtendedResponse>

All Superinterfaces:
Message, Request, ResultResponseRequest<R>, SingleReplyRequest<R>
All Known Implementing Classes:
AbstractExtendedRequest, ExtendedRequestImpl

public interface ExtendedRequest<R extends ExtendedResponse>
extends SingleReplyRequest<R>

Extended protocol request message used to add to more operations to the protocol. Here's what RFC 2251 says about it:

  4.12. Extended Operation
 
   An extension mechanism has been added in this version of LDAP, in
   order to allow additional operations to be defined for services not
   available elsewhere in this protocol, for instance digitally signed
   operations and results.
 
   The extended operation allows clients to make requests and receive
   responses with predefined syntaxes and semantics.  These may be
   defined in RFCs or be private to particular implementations.  Each
   request MUST have a unique OBJECT IDENTIFIER assigned to it.
 
        ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
                requestName      [0] LDAPOID,
                requestValue     [1] OCTET STRING OPTIONAL }
 
   The requestName is a dotted-decimal representation of the OBJECT
   IDENTIFIER corresponding to the request. The requestValue is
   information in a form defined by that request, encapsulated inside an
   OCTET STRING.
 

Author:
Apache Directory Project

Field Summary
static MessageTypeEnum RESP_TYPE
          Extended response message type enumeration value
static MessageTypeEnum TYPE
          Extended request message type enumeration value
 
Method Summary
 ExtendedRequest<R> addAllControls(Control[] controls)
          Adds an array of controls to this Message.
 ExtendedRequest<R> addControl(Control control)
          Adds a control to this Message.
 String getRequestName()
          Gets the Object Identifier corresponding to the extended request type.
 ExtendedRequest<R> removeControl(Control control)
          Deletes a control removing it from this Message.
 ExtendedRequest<R> setMessageId(int messageId)
          Sets the Message ID for this request
 ExtendedRequest<R> setRequestName(String oid)
          Sets the Object Identifier corresponding to the extended request type.
 
Methods inherited from interface org.apache.directory.api.ldap.model.message.SingleReplyRequest
getResponseType
 
Methods inherited from interface org.apache.directory.api.ldap.model.message.ResultResponseRequest
getResultResponse
 
Methods inherited from interface org.apache.directory.api.ldap.model.message.Request
hasResponse
 
Methods inherited from interface org.apache.directory.api.ldap.model.message.Message
get, getControl, getControls, getMessageId, getType, hasControl, put
 

Field Detail

TYPE

static final MessageTypeEnum TYPE
Extended request message type enumeration value


RESP_TYPE

static final MessageTypeEnum RESP_TYPE
Extended response message type enumeration value

Method Detail

getRequestName

String getRequestName()
Gets the Object Identifier corresponding to the extended request type. This is the requestName portion of the ExtendedRequst PDU.

Returns:
the dotted-decimal representation as a String of the OID

setRequestName

ExtendedRequest<R> setRequestName(String oid)
Sets the Object Identifier corresponding to the extended request type.

Parameters:
oid - the dotted-decimal representation as a String of the OID
Returns:
The ExtendedRequest instance

setMessageId

ExtendedRequest<R> setMessageId(int messageId)
Sets the Message ID for this request

Specified by:
setMessageId in interface Message
Parameters:
messageId - The message Id
Returns:
A Message reference

addControl

ExtendedRequest<R> addControl(Control control)
                                                       throws MessageException
Adds a control to this Message.

Specified by:
addControl in interface Message
Parameters:
control - the control to add.
Returns:
A Message reference
Throws:
MessageException - if controls cannot be added to this Message or the control is not known etc.

addAllControls

ExtendedRequest<R> addAllControls(Control[] controls)
                                                           throws MessageException
Adds an array of controls to this Message.

Specified by:
addAllControls in interface Message
Parameters:
controls - the controls to add.
Returns:
A Message reference
Throws:
MessageException - if controls cannot be added to this Message or they are not known etc.

removeControl

ExtendedRequest<R> removeControl(Control control)
                                                          throws MessageException
Deletes a control removing it from this Message.

Specified by:
removeControl in interface Message
Parameters:
control - the control to remove.
Returns:
A Message reference
Throws:
MessageException - if controls cannot be added to this Message or the control is not known etc.


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