@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class AccessLogRequestHandler extends LDAPListenerRequestHandler implements SearchEntryTransformer
Constructor and Description |
---|
AccessLogRequestHandler(java.util.logging.Handler logHandler,
LDAPListenerRequestHandler requestHandler)
Creates a new access log request handler that will log request and result
messages using the provided log handler, and will process client requests
using the provided request handler.
|
Modifier and Type | Method and Description |
---|---|
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.
|
AccessLogRequestHandler |
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.
|
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.
|
public AccessLogRequestHandler(java.util.logging.Handler logHandler, LDAPListenerRequestHandler requestHandler)
logHandler
- The log handler that will be used to log request
and result messages. Note that all messages will
be logged at the INFO level. It must not be
null
. Note that the log handler will not
be automatically closed when the associated
listener is shut down.requestHandler
- The request handler that will actually be used to
process any requests received. It must not be
null
.public AccessLogRequestHandler newInstance(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.public void closeInstance()
closeInstance
in class LDAPListenerRequestHandler
public void processAbandonRequest(int messageID, AbandonRequestProtocolOp request, java.util.List<Control> controls)
processAbandonRequest
in class LDAPListenerRequestHandler
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
.public LDAPMessage processAddRequest(int messageID, AddRequestProtocolOp request, 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
.public LDAPMessage processBindRequest(int messageID, BindRequestProtocolOp request, 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
.public LDAPMessage processCompareRequest(int messageID, CompareRequestProtocolOp request, 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
.public LDAPMessage processDeleteRequest(int messageID, DeleteRequestProtocolOp request, 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
.public LDAPMessage processExtendedRequest(int messageID, ExtendedRequestProtocolOp request, 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
.public LDAPMessage processModifyRequest(int messageID, ModifyRequestProtocolOp request, 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
.public LDAPMessage processModifyDNRequest(int messageID, ModifyDNRequestProtocolOp request, 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
.public LDAPMessage processSearchRequest(int messageID, SearchRequestProtocolOp request, 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
.public void processUnbindRequest(int messageID, UnbindRequestProtocolOp request, java.util.List<Control> controls)
processUnbindRequest
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
.public ObjectPair<SearchResultEntryProtocolOp,Control[]> transformEntry(int messageID, SearchResultEntryProtocolOp entry, 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.