@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class InMemoryOperationInterceptorRequestHandler extends LDAPListenerRequestHandler implements IntermediateResponseTransformer, SearchEntryTransformer, SearchReferenceTransformer
Constructor and 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.
|
Modifier and Type | Method and 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.
|
closeInstance, processAbandonRequest, processUnbindRequest
public InMemoryOperationInterceptorRequestHandler(@NotNull java.util.List<InMemoryOperationInterceptor> interceptors, @NotNull LDAPListenerRequestHandler wrappedHandler)
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.@NotNull public InMemoryOperationInterceptorRequestHandler newInstance(@NotNull LDAPListenerClientConnection connection) throws LDAPException
newInstance
in class LDAPListenerRequestHandler
connection
- The connection with which this request handler instance
will be associated.LDAPException
- If the connection should not be accepted.@NotNull public LDAPMessage processAddRequest(int messageID, @NotNull AddRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processAddRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
AddResponseProtocolOp
.@NotNull public LDAPMessage processBindRequest(int messageID, @NotNull BindRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processBindRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be a
BindResponseProtocolOp
.@NotNull public LDAPMessage processCompareRequest(int messageID, @NotNull CompareRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processCompareRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be a
CompareResponseProtocolOp
.@NotNull public LDAPMessage processDeleteRequest(int messageID, @NotNull DeleteRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processDeleteRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be a
DeleteResponseProtocolOp
.@NotNull public LDAPMessage processExtendedRequest(int messageID, @NotNull ExtendedRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processExtendedRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
ExtendedResponseProtocolOp
.@NotNull public LDAPMessage processModifyRequest(int messageID, @NotNull ModifyRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processModifyRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
ModifyResponseProtocolOp
.@NotNull public LDAPMessage processModifyDNRequest(int messageID, @NotNull ModifyDNRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processModifyDNRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
ModifyDNResponseProtocolOp
.@NotNull public LDAPMessage processSearchRequest(int messageID, @NotNull SearchRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processSearchRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
SearchResultDoneProtocolOp
.@Nullable public ObjectPair<SearchResultEntryProtocolOp,Control[]> transformEntry(int messageID, @NotNull SearchResultEntryProtocolOp entry, @NotNull Control[] controls)
transformEntry
in interface SearchEntryTransformer
messageID
- The message ID for the associated search operation.entry
- The search result entry to be processed. It will not be
null
.controls
- The set of controls to be processed. It will not be
null
but may be empty if there are no controls.ObjectPair
containing a possibly updated entry and set
of controls, or null
to indicate that the entry should not
be returned to the client.@Nullable public ObjectPair<SearchResultReferenceProtocolOp,Control[]> transformReference(int messageID, @NotNull SearchResultReferenceProtocolOp reference, @NotNull Control[] controls)
transformReference
in interface SearchReferenceTransformer
messageID
- The message ID for the associated search operation.reference
- The search result reference to be processed. It will
not be null
.controls
- The set of controls to be processed. It will not be
null
but may be empty if there are no controls.ObjectPair
containing a possibly updated reference and
set of controls, or null
to indicate that the reference
should not be returned to the client.@Nullable public ObjectPair<IntermediateResponseProtocolOp,Control[]> transformIntermediateResponse(int messageID, @NotNull IntermediateResponseProtocolOp response, @NotNull Control[] controls)
transformIntermediateResponse
in interface IntermediateResponseTransformer
messageID
- The message ID for the associated search operation.response
- The intermediate response to be processed. It will not
be null
.controls
- The set of controls to be processed. It will not be
null
but may be empty if there are no controls.ObjectPair
containing a possibly updated intermediate
response and set of controls, or null
to indicate that the
response should not be returned to the client.