Class InMemoryOperationInterceptorRequestHandler
- java.lang.Object
-
- com.unboundid.ldap.listener.LDAPListenerRequestHandler
-
- com.unboundid.ldap.listener.interceptor.InMemoryOperationInterceptorRequestHandler
-
- All Implemented Interfaces:
IntermediateResponseTransformer
,SearchEntryTransformer
,SearchReferenceTransformer
@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class InMemoryOperationInterceptorRequestHandler extends LDAPListenerRequestHandler implements IntermediateResponseTransformer, SearchEntryTransformer, SearchReferenceTransformer
This class provides an LDAP listener request handler that may be used to invoke any in-memory operation interceptors in the course of processing operations for the in-memory directory server.
-
-
Constructor Summary
Constructors Constructor Description InMemoryOperationInterceptorRequestHandler(java.util.List<InMemoryOperationInterceptor> interceptors, LDAPListenerRequestHandler wrappedHandler)
Creates a new instance of this LDAP listener request handler that will be used to process the provided set of operation interceptors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InMemoryOperationInterceptorRequestHandler
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.ObjectPair<SearchResultEntryProtocolOp,Control[]>
transformEntry(int messageID, SearchResultEntryProtocolOp entry, Control[] controls)
Transforms the provided search result entry and/or set of controls to alter what will be returned to the client.ObjectPair<IntermediateResponseProtocolOp,Control[]>
transformIntermediateResponse(int messageID, IntermediateResponseProtocolOp response, Control[] controls)
Transforms the provided intermediate response and/or set of controls to alter what will be returned to the client.ObjectPair<SearchResultReferenceProtocolOp,Control[]>
transformReference(int messageID, SearchResultReferenceProtocolOp reference, Control[] controls)
Transforms the provided search result reference and/or set of controls to alter what will be returned to the client.-
Methods inherited from class com.unboundid.ldap.listener.LDAPListenerRequestHandler
closeInstance, processAbandonRequest, processUnbindRequest
-
-
-
-
Constructor Detail
-
InMemoryOperationInterceptorRequestHandler
public InMemoryOperationInterceptorRequestHandler(java.util.List<InMemoryOperationInterceptor> interceptors, LDAPListenerRequestHandler wrappedHandler)
Creates a new instance of this LDAP listener request handler that will be used to process the provided set of operation interceptors.- Parameters:
interceptors
- The set of operation interceptors that will be used to transform requests and responses. If there are multiple interceptors, then they will be invoked in the same order as elements in the provided list when processing both requests and results.wrappedHandler
- The request handler that will be used to ensure that operations actually get processed.
-
-
Method Detail
-
newInstance
public InMemoryOperationInterceptorRequestHandler 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 classLDAPListenerRequestHandler
- 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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be anAddResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be aBindResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be aCompareResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be aDeleteResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be anExtendedResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be anModifyResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be anModifyDNResponseProtocolOp
.
-
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 classLDAPListenerRequestHandler
- 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 benull
.- Returns:
- The
LDAPMessage
containing the response to send to the client. The protocol op in theLDAPMessage
must be anSearchResultDoneProtocolOp
.
-
transformEntry
public ObjectPair<SearchResultEntryProtocolOp,Control[]> transformEntry(int messageID, SearchResultEntryProtocolOp entry, Control[] controls)
Transforms the provided search result entry and/or set of controls to alter what will be returned to the client.- Specified by:
transformEntry
in interfaceSearchEntryTransformer
- Parameters:
messageID
- The message ID for the associated search operation.entry
- The search result entry to be processed. It will not benull
.controls
- The set of controls to be processed. It will not benull
but may be empty if there are no controls.- Returns:
- An
ObjectPair
containing a possibly updated entry and set of controls, ornull
to indicate that the entry should not be returned to the client.
-
transformReference
public ObjectPair<SearchResultReferenceProtocolOp,Control[]> transformReference(int messageID, SearchResultReferenceProtocolOp reference, Control[] controls)
Transforms the provided search result reference and/or set of controls to alter what will be returned to the client.- Specified by:
transformReference
in interfaceSearchReferenceTransformer
- Parameters:
messageID
- The message ID for the associated search operation.reference
- The search result reference to be processed. It will not benull
.controls
- The set of controls to be processed. It will not benull
but may be empty if there are no controls.- Returns:
- An
ObjectPair
containing a possibly updated reference and set of controls, ornull
to indicate that the reference should not be returned to the client.
-
transformIntermediateResponse
public ObjectPair<IntermediateResponseProtocolOp,Control[]> transformIntermediateResponse(int messageID, IntermediateResponseProtocolOp response, Control[] controls)
Transforms the provided intermediate response and/or set of controls to alter what will be returned to the client.- Specified by:
transformIntermediateResponse
in interfaceIntermediateResponseTransformer
- Parameters:
messageID
- The message ID for the associated search operation.response
- The intermediate response to be processed. It will not benull
.controls
- The set of controls to be processed. It will not benull
but may be empty if there are no controls.- Returns:
- An
ObjectPair
containing a possibly updated intermediate response and set of controls, ornull
to indicate that the response should not be returned to the client.
-
-