com.unboundid.ldap.listener
Class CannedResponseRequestHandler

java.lang.Object
  extended by com.unboundid.ldap.listener.LDAPListenerRequestHandler
      extended by com.unboundid.ldap.listener.CannedResponseRequestHandler
All Implemented Interfaces:
java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class CannedResponseRequestHandler
extends LDAPListenerRequestHandler
implements java.io.Serializable

This class provides a very simple LDAP listener request handler implementation that simply returns a canned response to the client for each type of operation.

See Also:
Serialized Form

Constructor Summary
CannedResponseRequestHandler()
          Creates a new instance of this canned response request handler that will immediately return a "SUCCESS" response to any request that is received.
CannedResponseRequestHandler(ResultCode resultCode, java.lang.String matchedDN, java.lang.String diagnosticMessage, java.util.List<java.lang.String> referralURLs)
          Creates a new instance of this canned response request handler that will immediately return a response with the provided information to any request that is received.
CannedResponseRequestHandler(ResultCode resultCode, java.lang.String matchedDN, java.lang.String diagnosticMessage, java.util.List<java.lang.String> referralURLs, java.util.Collection<? extends Entry> searchEntries, java.util.Collection<SearchResultReference> searchReferences)
          Creates a new instance of this canned response request handler that will immediately return a response with the provided information to any request that is received.
 
Method Summary
 CannedResponseRequestHandler newInstance(LDAPListenerClientConnection connection)
          Creates a new instance of this request handler that will be used to process requests read by the provided connection.
 LDAPMessage processAddRequest(int messageID, AddRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided add request.
 LDAPMessage processBindRequest(int messageID, BindRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided bind request.
 LDAPMessage processCompareRequest(int messageID, CompareRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided compare request.
 LDAPMessage processDeleteRequest(int messageID, DeleteRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided delete request.
 LDAPMessage processExtendedRequest(int messageID, ExtendedRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided extended request.
 LDAPMessage processModifyDNRequest(int messageID, ModifyDNRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided modify DN request.
 LDAPMessage processModifyRequest(int messageID, ModifyRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided modify request.
 LDAPMessage processSearchRequest(int messageID, SearchRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided search request.
 
Methods inherited from class com.unboundid.ldap.listener.LDAPListenerRequestHandler
closeInstance, processAbandonRequest, processUnbindRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CannedResponseRequestHandler

public CannedResponseRequestHandler()
Creates a new instance of this canned response request handler that will immediately return a "SUCCESS" response to any request that is received.


CannedResponseRequestHandler

public CannedResponseRequestHandler(ResultCode resultCode,
                                    java.lang.String matchedDN,
                                    java.lang.String diagnosticMessage,
                                    java.util.List<java.lang.String> referralURLs)
Creates a new instance of this canned response request handler that will immediately return a response with the provided information to any request that is received.

Parameters:
resultCode - The result code to use for the responses. It must not be null.
matchedDN - The matched DN to use for the responses. It may be null if no matched DN should be included.
diagnosticMessage - The diagnostic message to use for the responses. It may be null if no diagnostic message should be included.
referralURLs - The referral URLs to use for the responses. It may be empty or null if no referral URLs should be included.

CannedResponseRequestHandler

public CannedResponseRequestHandler(ResultCode resultCode,
                                    java.lang.String matchedDN,
                                    java.lang.String diagnosticMessage,
                                    java.util.List<java.lang.String> referralURLs,
                                    java.util.Collection<? extends Entry> searchEntries,
                                    java.util.Collection<SearchResultReference> searchReferences)
Creates a new instance of this canned response request handler that will immediately return a response with the provided information to any request that is received.

Parameters:
resultCode - The result code to use for the responses. It must not be null.
matchedDN - The matched DN to use for the responses. It may be null if no matched DN should be included.
diagnosticMessage - The diagnostic message to use for the responses. It may be null if no diagnostic message should be included.
referralURLs - The referral URLs to use for the responses. It may be empty or null if no referral URLs should be included.
searchEntries - The set of search result entries that should be returned for every search. It may be null or empty if no entries are required.
searchReferences - The set of search result references that should be returned for every search. It may be null or empty if no references are required.
Method Detail

newInstance

public CannedResponseRequestHandler newInstance(LDAPListenerClientConnection connection)
                                         throws LDAPException
Creates a new instance of this request handler that will be used to process requests read by the provided connection.

Specified by:
newInstance in class LDAPListenerRequestHandler
Parameters:
connection - The connection with which this request handler instance will be associated.
Returns:
The request handler instance that will be used for the provided connection.
Throws:
LDAPException - If the connection should not be accepted.

processAddRequest

public LDAPMessage processAddRequest(int messageID,
                                     AddRequestProtocolOp request,
                                     java.util.List<Control> controls)
Performs any processing necessary for the provided add request.

Specified by:
processAddRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the add request.
request - The add request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an AddResponseProtocolOp.

processBindRequest

public LDAPMessage processBindRequest(int messageID,
                                      BindRequestProtocolOp request,
                                      java.util.List<Control> controls)
Performs any processing necessary for the provided bind request.

Specified by:
processBindRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the bind request.
request - The bind request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a BindResponseProtocolOp.

processCompareRequest

public LDAPMessage processCompareRequest(int messageID,
                                         CompareRequestProtocolOp request,
                                         java.util.List<Control> controls)
Performs any processing necessary for the provided compare request.

Specified by:
processCompareRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the compare request.
request - The compare request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a CompareResponseProtocolOp.

processDeleteRequest

public LDAPMessage processDeleteRequest(int messageID,
                                        DeleteRequestProtocolOp request,
                                        java.util.List<Control> controls)
Performs any processing necessary for the provided delete request.

Specified by:
processDeleteRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the delete request.
request - The delete request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a DeleteResponseProtocolOp.

processExtendedRequest

public LDAPMessage processExtendedRequest(int messageID,
                                          ExtendedRequestProtocolOp request,
                                          java.util.List<Control> controls)
Performs any processing necessary for the provided extended request.

Specified by:
processExtendedRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the extended request.
request - The extended request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ExtendedResponseProtocolOp.

processModifyRequest

public LDAPMessage processModifyRequest(int messageID,
                                        ModifyRequestProtocolOp request,
                                        java.util.List<Control> controls)
Performs any processing necessary for the provided modify request.

Specified by:
processModifyRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the modify request.
request - The modify request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyResponseProtocolOp.

processModifyDNRequest

public LDAPMessage processModifyDNRequest(int messageID,
                                          ModifyDNRequestProtocolOp request,
                                          java.util.List<Control> controls)
Performs any processing necessary for the provided modify DN request.

Specified by:
processModifyDNRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the modify DN request.
request - The modify DN request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyDNResponseProtocolOp.

processSearchRequest

public LDAPMessage processSearchRequest(int messageID,
                                        SearchRequestProtocolOp request,
                                        java.util.List<Control> controls)
Performs any processing necessary for the provided search request.

Specified by:
processSearchRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the search request.
request - The search request that was included in the LDAP message that was received.
controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
Returns:
The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an SearchResultDoneProtocolOp.