org.opends.server.api
Class AccessLogPublisher<T extends AccessLogPublisherCfg>

java.lang.Object
  extended by org.opends.server.api.AccessLogPublisher<T>
Type Parameters:
T - The type of access log publisher configuration handled by this log publisher implementation.
Direct Known Subclasses:
TextAccessLogPublisher, TextAuditLogPublisher

@PublicAPI(stability=VOLATILE,
           mayInstantiate=false,
           mayExtend=true,
           mayInvoke=false)
public abstract class AccessLogPublisher<T extends AccessLogPublisherCfg>
extends java.lang.Object

This class defines the set of methods and structures that must be implemented for a Directory Server access log publisher.


Constructor Summary
AccessLogPublisher()
           
 
Method Summary
abstract  void close()
          Close this publisher.
abstract  DN getDN()
          Gets the DN of the configuration entry for this access log publisher.
abstract  void initializeAccessLogPublisher(T config)
          Initializes this access publisher provider based on the information in the provided debug publisher configuration.
 boolean isConfigurationAcceptable(AccessLogPublisherCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the provided configuration is acceptable for this access log publisher.
 void logAbandonIntermediateMessage(AbandonOperation abandonOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided abandon operation.
 void logAbandonRequest(AbandonOperation abandonOperation)
          Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.
 void logAbandonResult(AbandonOperation abandonOperation)
          Writes a message to the access logger with information about the result of the provided abandon operation.
 void logAddIntermediateMessage(AddOperation addOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided add operation.
 void logAddRequest(AddOperation addOperation)
          Writes a message to the access logger with information about the add request associated with the provided add operation.
 void logAddResponse(AddOperation addOperation)
          Writes a message to the access logger with information about the add response associated with the provided add operation.
 void logBindIntermediateMessage(BindOperation bindOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided bind operation.
 void logBindRequest(BindOperation bindOperation)
          Writes a message to the access logger with information about the bind request associated with the provided bind operation.
 void logBindResponse(BindOperation bindOperation)
          Writes a message to the access logger with information about the bind response associated with the provided bind operation.
 void logCompareIntermediateMessage(CompareOperation compareOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided compare operation.
 void logCompareRequest(CompareOperation compareOperation)
          Writes a message to the access logger with information about the compare request associated with the provided compare operation.
 void logCompareResponse(CompareOperation compareOperation)
          Writes a message to the access logger with information about the compare response associated with the provided compare operation.
 void logConnect(ClientConnection clientConnection)
          Writes a message to the access logger with information about a new client connection that has been established, regardless of whether it will be immediately terminated.
 void logConnectIntermediateMessage(ClientConnection clientConnection, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided client connection.
 void logDeleteIntermediateMessage(DeleteOperation deleteOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided delete operation.
 void logDeleteRequest(DeleteOperation deleteOperation)
          Writes a message to the access logger with information about the delete request associated with the provided delete operation.
 void logDeleteResponse(DeleteOperation deleteOperation)
          Writes a message to the access logger with information about the delete response associated with the provided delete operation.
 void logDisconnect(ClientConnection clientConnection, DisconnectReason disconnectReason, Message message)
          Writes a message to the access logger with information about the termination of an existing client connection.
 void logDisconnectIntermediateMessage(ClientConnection clientConnection, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided client disconnection.
 void logExtendedIntermediateMessage(ExtendedOperation extendedOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided extended operation.
 void logExtendedRequest(ExtendedOperation extendedOperation)
          Writes a message to the access logger with information about the extended request associated with the provided extended operation.
 void logExtendedResponse(ExtendedOperation extendedOperation)
          Writes a message to the access logger with information about the extended response associated with the provided extended operation.
 void logModifyDNIntermediateMessage(ModifyDNOperation modifyDNOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided modify DN operation.
 void logModifyDNRequest(ModifyDNOperation modifyDNOperation)
          Writes a message to the access logger with information about the modify DN request associated with the provided modify DN operation.
 void logModifyDNResponse(ModifyDNOperation modifyDNOperation)
          Writes a message to the access logger with information about the modify DN response associated with the provided modify DN operation.
 void logModifyIntermediateMessage(ModifyOperation modifyOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided modify operation.
 void logModifyRequest(ModifyOperation modifyOperation)
          Writes a message to the access logger with information about the modify request associated with the provided modify operation.
 void logModifyResponse(ModifyOperation modifyOperation)
          Writes a message to the access logger with information about the modify response associated with the provided modify operation.
 void logSearchIntermediateMessage(SearchOperation searchOperation, java.lang.String category, java.util.Map<java.lang.String,java.lang.String> content)
          Writes a message to the access logger containing additional information associated with the provided search operation.
 void logSearchRequest(SearchOperation searchOperation)
          Writes a message to the access logger with information about the search request associated with the provided search operation.
 void logSearchResultDone(SearchOperation searchOperation)
          Writes a message to the access logger with information about the completion of the provided search operation.
 void logSearchResultEntry(SearchOperation searchOperation, SearchResultEntry searchEntry)
          Writes a message to the access logger with information about the search result entry that matches the criteria associated with the provided search operation.
 void logSearchResultReference(SearchOperation searchOperation, SearchResultReference searchReference)
          Writes a message to the access logger with information about the search result reference returned while processing the associated search operation.
 void logUnbind(UnbindOperation unbindOperation)
          Writes a message to the access logger with information about the unbind request associated with the provided unbind operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AccessLogPublisher

public AccessLogPublisher()
Method Detail

initializeAccessLogPublisher

public abstract void initializeAccessLogPublisher(T config)
                                           throws ConfigException,
                                                  InitializationException
Initializes this access publisher provider based on the information in the provided debug publisher configuration.

Parameters:
config - The access publisher configuration that contains the information to use to initialize this access publisher.
Throws:
ConfigException - If an unrecoverable problem arises in the process of performing the initialization as a result of the server configuration.
InitializationException - If a problem occurs during initialization that is not related to the server configuration.

isConfigurationAcceptable

public boolean isConfigurationAcceptable(AccessLogPublisherCfg configuration,
                                         java.util.List<Message> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this access log publisher. It should be possible to call this method on an uninitialized access log publisher instance in order to determine whether the access log publisher would be able to use the provided configuration.

Note that implementations which use a subclass of the provided configuration class will likely need to cast the configuration to the appropriate subclass type.

Parameters:
configuration - The access log publisher configuration for which to make the determination.
unacceptableReasons - A list that may be used to hold the reasons that the provided configuration is not acceptable.
Returns:
true if the provided configuration is acceptable for this access log publisher, or false if not.

close

public abstract void close()
Close this publisher.


logConnect

public void logConnect(ClientConnection clientConnection)
Writes a message to the access logger with information about a new client connection that has been established, regardless of whether it will be immediately terminated.

The default implementation is to not log anything.

Parameters:
clientConnection - The client connection that has been established.

logConnectIntermediateMessage

public void logConnectIntermediateMessage(ClientConnection clientConnection,
                                          java.lang.String category,
                                          java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided client connection.

The default implementation is to not log anything.

Parameters:
clientConnection - The client connection that has been established.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logDisconnect

public void logDisconnect(ClientConnection clientConnection,
                          DisconnectReason disconnectReason,
                          Message message)
Writes a message to the access logger with information about the termination of an existing client connection.

The default implementation is to not log anything.

Parameters:
clientConnection - The client connection that has been terminated.
disconnectReason - A generic disconnect reason for the connection termination.
message - A human-readable message that can provide additional information about the disconnect.

logDisconnectIntermediateMessage

public void logDisconnectIntermediateMessage(ClientConnection clientConnection,
                                             java.lang.String category,
                                             java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided client disconnection.

The default implementation is to not log anything.

Parameters:
clientConnection - The client connection that has been terminated.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logAbandonRequest

public void logAbandonRequest(AbandonOperation abandonOperation)
Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.

The default implementation is to not log anything.

Parameters:
abandonOperation - The abandon operation containing the information to use to log the abandon request.

logAbandonIntermediateMessage

public void logAbandonIntermediateMessage(AbandonOperation abandonOperation,
                                          java.lang.String category,
                                          java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided abandon operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
abandonOperation - The abandon operation containing the information to use to log the abandon request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logAbandonResult

public void logAbandonResult(AbandonOperation abandonOperation)
Writes a message to the access logger with information about the result of the provided abandon operation.

The default implementation is to not log anything.

Parameters:
abandonOperation - The abandon operation containing the information to use to log the abandon request.

logAddRequest

public void logAddRequest(AddOperation addOperation)
Writes a message to the access logger with information about the add request associated with the provided add operation.

The default implementation is to not log anything.

Parameters:
addOperation - The add operation containing the information to use to log the add request.

logAddIntermediateMessage

public void logAddIntermediateMessage(AddOperation addOperation,
                                      java.lang.String category,
                                      java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided add operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
addOperation - The add operation containing the information to use to log the add request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logAddResponse

public void logAddResponse(AddOperation addOperation)
Writes a message to the access logger with information about the add response associated with the provided add operation.

The default implementation is to not log anything.

Parameters:
addOperation - The add operation containing the information to use to log the add response.

logBindRequest

public void logBindRequest(BindOperation bindOperation)
Writes a message to the access logger with information about the bind request associated with the provided bind operation.

The default implementation is to not log anything.

Parameters:
bindOperation - The bind operation containing the information to use to log the bind request.

logBindIntermediateMessage

public void logBindIntermediateMessage(BindOperation bindOperation,
                                       java.lang.String category,
                                       java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided bind operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
bindOperation - The bind operation containing the information to use to log the bind request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logBindResponse

public void logBindResponse(BindOperation bindOperation)
Writes a message to the access logger with information about the bind response associated with the provided bind operation.

The default implementation is to not log anything.

Parameters:
bindOperation - The bind operation containing the information to use to log the bind response.

logCompareRequest

public void logCompareRequest(CompareOperation compareOperation)
Writes a message to the access logger with information about the compare request associated with the provided compare operation.

The default implementation is to not log anything.

Parameters:
compareOperation - The compare operation containing the information to use to log the compare request.

logCompareIntermediateMessage

public void logCompareIntermediateMessage(CompareOperation compareOperation,
                                          java.lang.String category,
                                          java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided compare operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
compareOperation - The compare operation containing the information to use to log the abandon compare.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logCompareResponse

public void logCompareResponse(CompareOperation compareOperation)
Writes a message to the access logger with information about the compare response associated with the provided compare operation.

The default implementation is to not log anything.

Parameters:
compareOperation - The compare operation containing the information to use to log the compare response.

logDeleteRequest

public void logDeleteRequest(DeleteOperation deleteOperation)
Writes a message to the access logger with information about the delete request associated with the provided delete operation.

The default implementation is to not log anything.

Parameters:
deleteOperation - The delete operation containing the information to use to log the delete request.

logDeleteIntermediateMessage

public void logDeleteIntermediateMessage(DeleteOperation deleteOperation,
                                         java.lang.String category,
                                         java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided delete operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
deleteOperation - The delete operation containing the information to use to log the delete request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logDeleteResponse

public void logDeleteResponse(DeleteOperation deleteOperation)
Writes a message to the access logger with information about the delete response associated with the provided delete operation.

The default implementation is to not log anything.

Parameters:
deleteOperation - The delete operation containing the information to use to log the delete response.

logExtendedRequest

public void logExtendedRequest(ExtendedOperation extendedOperation)
Writes a message to the access logger with information about the extended request associated with the provided extended operation.

The default implementation is to not log anything.

Parameters:
extendedOperation - The extended operation containing the information to use to log the extended request.

logExtendedIntermediateMessage

public void logExtendedIntermediateMessage(ExtendedOperation extendedOperation,
                                           java.lang.String category,
                                           java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided extended operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
extendedOperation - The extended operation containing the information to use to log the extended request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logExtendedResponse

public void logExtendedResponse(ExtendedOperation extendedOperation)
Writes a message to the access logger with information about the extended response associated with the provided extended operation.

The default implementation is to not log anything.

Parameters:
extendedOperation - The extended operation containing the information to use to log the extended response.

logModifyRequest

public void logModifyRequest(ModifyOperation modifyOperation)
Writes a message to the access logger with information about the modify request associated with the provided modify operation.

The default implementation is to not log anything.

Parameters:
modifyOperation - The modify operation containing the information to use to log the modify request.

logModifyIntermediateMessage

public void logModifyIntermediateMessage(ModifyOperation modifyOperation,
                                         java.lang.String category,
                                         java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided modify operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
modifyOperation - The modify operation containing the information to use to log the modify request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logModifyResponse

public void logModifyResponse(ModifyOperation modifyOperation)
Writes a message to the access logger with information about the modify response associated with the provided modify operation.

The default implementation is to not log anything.

Parameters:
modifyOperation - The modify operation containing the information to use to log the modify response.

logModifyDNRequest

public void logModifyDNRequest(ModifyDNOperation modifyDNOperation)
Writes a message to the access logger with information about the modify DN request associated with the provided modify DN operation.

The default implementation is to not log anything.

Parameters:
modifyDNOperation - The modify DN operation containing the information to use to log the modify DN request.

logModifyDNIntermediateMessage

public void logModifyDNIntermediateMessage(ModifyDNOperation modifyDNOperation,
                                           java.lang.String category,
                                           java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided modify DN operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
modifyDNOperation - The modify DN operation containing the information to use to log the modify DN request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logModifyDNResponse

public void logModifyDNResponse(ModifyDNOperation modifyDNOperation)
Writes a message to the access logger with information about the modify DN response associated with the provided modify DN operation.

The default implementation is to not log anything.

Parameters:
modifyDNOperation - The modify DN operation containing the information to use to log the modify DN response.

logSearchRequest

public void logSearchRequest(SearchOperation searchOperation)
Writes a message to the access logger with information about the search request associated with the provided search operation.

The default implementation is to not log anything.

Parameters:
searchOperation - The search operation containing the information to use to log the search request.

logSearchIntermediateMessage

public void logSearchIntermediateMessage(SearchOperation searchOperation,
                                         java.lang.String category,
                                         java.util.Map<java.lang.String,java.lang.String> content)
Writes a message to the access logger containing additional information associated with the provided search operation.

This method will only be called after the request has been logged and before the response. Implementations can choose to ignore intermediate responses or filter them based on their category.

The default implementation is to not log anything.

Parameters:
searchOperation - The search operation containing the information to use to log the search request.
category - The category of the intermediate message.
content - The content of the intermediate message. This comprises of one or more key/value pairs which form the content of the intermediate message.

logSearchResultEntry

public void logSearchResultEntry(SearchOperation searchOperation,
                                 SearchResultEntry searchEntry)
Writes a message to the access logger with information about the search result entry that matches the criteria associated with the provided search operation.

The default implementation is to not log anything.

Parameters:
searchOperation - The search operation with which the search result entry is associated.
searchEntry - The search result entry to be logged.

logSearchResultReference

public void logSearchResultReference(SearchOperation searchOperation,
                                     SearchResultReference searchReference)
Writes a message to the access logger with information about the search result reference returned while processing the associated search operation.

The default implementation is to not log anything.

Parameters:
searchOperation - The search operation with which the search result reference is associated.
searchReference - The search result reference to be logged.

logSearchResultDone

public void logSearchResultDone(SearchOperation searchOperation)
Writes a message to the access logger with information about the completion of the provided search operation.

The default implementation is to not log anything.

Parameters:
searchOperation - The search operation containing the information to use to log the search result done message.

logUnbind

public void logUnbind(UnbindOperation unbindOperation)
Writes a message to the access logger with information about the unbind request associated with the provided unbind operation.

The default implementation is to not log anything.

Parameters:
unbindOperation - The unbind operation containing the information to use to log the unbind request.

getDN

public abstract DN getDN()
Gets the DN of the configuration entry for this access log publisher.

Returns:
The configuration entry DN.