com.unboundid.ldap.listener
Class ToCodeRequestHandler

java.lang.Object
  extended by com.unboundid.ldap.listener.LDAPListenerRequestHandler
      extended by com.unboundid.ldap.listener.ToCodeRequestHandler

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class ToCodeRequestHandler
extends LDAPListenerRequestHandler

This class provides a request handler that may be used to create a log file with code that may be used to generate the requests received from clients. It will be also be associated with another request handler that will actually be used to handle the request.


Constructor Summary
ToCodeRequestHandler(java.io.File outputFile, boolean includeProcessing, LDAPListenerRequestHandler requestHandler)
          Creates a new LDAP listener request handler that will write a log file with LDAP SDK code that corresponds to requests received from clients.
ToCodeRequestHandler(java.io.OutputStream outputStream, boolean includeProcessing, LDAPListenerRequestHandler requestHandler)
          Creates a new LDAP listener request handler that will write a log file with LDAP SDK code that corresponds to requests received from clients.
ToCodeRequestHandler(java.lang.String outputFilePath, boolean includeProcessing, LDAPListenerRequestHandler requestHandler)
          Creates a new LDAP listener request handler that will write a log file with LDAP SDK code that corresponds to requests received from clients.
 
Method Summary
 void closeInstance()
          Indicates that the client connection with which this request handler instance is associated is being closed and any resources associated with it should be released.
 ToCodeRequestHandler newInstance(LDAPListenerClientConnection connection)
          Creates a new instance of this request handler that will be used to process requests read by the provided connection.
 void processAbandonRequest(int messageID, AbandonRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided abandon request.
 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.
 void processUnbindRequest(int messageID, UnbindRequestProtocolOp request, java.util.List<Control> controls)
          Performs any processing necessary for the provided unbind request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ToCodeRequestHandler

public ToCodeRequestHandler(java.lang.String outputFilePath,
                            boolean includeProcessing,
                            LDAPListenerRequestHandler requestHandler)
                     throws java.io.IOException
Creates a new LDAP listener request handler that will write a log file with LDAP SDK code that corresponds to requests received from clients. The requests will be forwarded on to another request handler for further processing.

Parameters:
outputFilePath - The path to the output file to be which the generated code should be written. It must not be null, and the parent directory must exist. If a file already exists with the specified path, then new generated code will be appended to it.
includeProcessing - Indicates whether the output should include sample code for processing the request and handling the response.
requestHandler - The request handler that will actually be used to process any requests received. It must not be null.
Throws:
java.io.IOException - If a problem is encountered while opening the output file for writing.

ToCodeRequestHandler

public ToCodeRequestHandler(java.io.File outputFile,
                            boolean includeProcessing,
                            LDAPListenerRequestHandler requestHandler)
                     throws java.io.IOException
Creates a new LDAP listener request handler that will write a log file with LDAP SDK code that corresponds to requests received from clients. The requests will be forwarded on to another request handler for further processing.

Parameters:
outputFile - The output file to be which the generated code should be written. It must not be null, and the parent directory must exist. If the file already exists, then new generated code will be appended to it.
includeProcessing - Indicates whether the output should include sample code for processing the request and handling the response.
requestHandler - The request handler that will actually be used to process any requests received. It must not be null.
Throws:
java.io.IOException - If a problem is encountered while opening the output file for writing.

ToCodeRequestHandler

public ToCodeRequestHandler(java.io.OutputStream outputStream,
                            boolean includeProcessing,
                            LDAPListenerRequestHandler requestHandler)
Creates a new LDAP listener request handler that will write a log file with LDAP SDK code that corresponds to requests received from clients. The requests will be forwarded on to another request handler for further processing.

Parameters:
outputStream - The output stream to which the generated code will be written. It must not be null.
includeProcessing - Indicates whether the output should include sample code for processing the request and handling the response.
requestHandler - The request handler that will actually be used to process any requests received. It must not be null.
Method Detail

newInstance

public ToCodeRequestHandler 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.

closeInstance

public void closeInstance()
Indicates that the client connection with which this request handler instance is associated is being closed and any resources associated with it should be released.

Overrides:
closeInstance in class LDAPListenerRequestHandler

processAbandonRequest

public void processAbandonRequest(int messageID,
                                  AbandonRequestProtocolOp request,
                                  java.util.List<Control> controls)
Performs any processing necessary for the provided abandon request.

Overrides:
processAbandonRequest in class LDAPListenerRequestHandler
Parameters:
messageID - The message ID of the LDAP message containing the abandon request.
request - The abandon 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.

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.

processUnbindRequest

public void processUnbindRequest(int messageID,
                                 UnbindRequestProtocolOp request,
                                 java.util.List<Control> controls)
Performs any processing necessary for the provided unbind request.

Overrides:
processUnbindRequest 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.