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.
abstract  void logAbandonRequest(AbandonOperation abandonOperation)
          Writes a message to the access logger with information about the abandon request associated with the provided abandon operation.
abstract  void logAbandonResult(AbandonOperation abandonOperation)
          Writes a message to the access logger with information about the result of the provided abandon operation.
abstract  void logAddRequest(AddOperation addOperation)
          Writes a message to the access logger with information about the add request associated with the provided add operation.
abstract  void logAddResponse(AddOperation addOperation)
          Writes a message to the access logger with information about the add response associated with the provided add operation.
abstract  void logBindRequest(BindOperation bindOperation)
          Writes a message to the access logger with information about the bind request associated with the provided bind operation.
abstract  void logBindResponse(BindOperation bindOperation)
          Writes a message to the access logger with information about the bind response associated with the provided bind operation.
abstract  void logCompareRequest(CompareOperation compareOperation)
          Writes a message to the access logger with information about the compare request associated with the provided compare operation.
abstract  void logCompareResponse(CompareOperation compareOperation)
          Writes a message to the access logger with information about the compare response associated with the provided compare operation.
abstract  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.
abstract  void logDeleteRequest(DeleteOperation deleteOperation)
          Writes a message to the access logger with information about the delete request associated with the provided delete operation.
abstract  void logDeleteResponse(DeleteOperation deleteOperation)
          Writes a message to the access logger with information about the delete response associated with the provided delete operation.
abstract  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.
abstract  void logExtendedRequest(ExtendedOperation extendedOperation)
          Writes a message to the access logger with information about the extended request associated with the provided extended operation.
abstract  void logExtendedResponse(ExtendedOperation extendedOperation)
          Writes a message to the access logger with information about the extended response associated with the provided extended operation.
abstract  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.
abstract  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.
abstract  void logModifyRequest(ModifyOperation modifyOperation)
          Writes a message to the access logger with information about the modify request associated with the provided modify operation.
abstract  void logModifyResponse(ModifyOperation modifyOperation)
          Writes a message to the access logger with information about the modify response associated with the provided modify operation.
abstract  void logSearchRequest(SearchOperation searchOperation)
          Writes a message to the access logger with information about the search request associated with the provided search operation.
abstract  void logSearchResultDone(SearchOperation searchOperation)
          Writes a message to the access logger with information about the completion of the provided search operation.
abstract  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.
abstract  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.
abstract  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 abstract 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.

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

logDisconnect

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

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.

logAbandonRequest

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

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

logAbandonResult

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

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

logAddRequest

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

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

logAddResponse

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

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

logBindRequest

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

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

logBindResponse

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

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

logCompareRequest

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

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

logCompareResponse

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

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

logDeleteRequest

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

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

logDeleteResponse

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

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

logExtendedRequest

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

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

logExtendedResponse

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

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

logModifyRequest

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

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

logModifyResponse

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

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

logModifyDNRequest

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

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

logModifyDNResponse

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

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

logSearchRequest

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

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

logSearchResultEntry

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

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

logSearchResultReference

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

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

logSearchResultDone

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

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

logUnbind

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

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.