/*
|
* CDDL HEADER START
|
*
|
* The contents of this file are subject to the terms of the
|
* Common Development and Distribution License, Version 1.0 only
|
* (the "License"). You may not use this file except in compliance
|
* with the License.
|
*
|
* You can obtain a copy of the license at
|
* trunk/opends/resource/legal-notices/OpenDS.LICENSE
|
* or https://OpenDS.dev.java.net/OpenDS.LICENSE.
|
* See the License for the specific language governing permissions
|
* and limitations under the License.
|
*
|
* When distributing Covered Code, include this CDDL HEADER in each
|
* file and include the License file at
|
* trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
|
* add the following below this CDDL HEADER, with the fields enclosed
|
* by brackets "[]" replaced with your own identifying * information:
|
* Portions Copyright [yyyy] [name of copyright owner]
|
*
|
* CDDL HEADER END
|
*
|
*
|
* Portions Copyright 2006 Sun Microsystems, Inc.
|
*/
|
package org.opends.server.api;
|
|
|
|
import org.opends.server.config.ConfigEntry;
|
import org.opends.server.config.ConfigException;
|
import org.opends.server.core.AbandonOperation;
|
import org.opends.server.core.AddOperation;
|
import org.opends.server.core.BindOperation;
|
import org.opends.server.core.CompareOperation;
|
import org.opends.server.core.DeleteOperation;
|
import org.opends.server.core.ExtendedOperation;
|
import org.opends.server.core.ModifyOperation;
|
import org.opends.server.core.ModifyDNOperation;
|
import org.opends.server.core.SearchOperation;
|
import org.opends.server.core.UnbindOperation;
|
import org.opends.server.types.DisconnectReason;
|
import org.opends.server.types.InitializationException;
|
import org.opends.server.types.SearchResultEntry;
|
import org.opends.server.types.SearchResultReference;
|
|
|
|
/**
|
* This class defines the set of methods and structures that must be
|
* implemented for a Directory Server access logger.
|
*/
|
public abstract class AccessLogger
|
{
|
/**
|
* Initializes this access logger based on the information in the
|
* provided configuration entry.
|
*
|
* @param configEntry The configuration entry that contains the
|
* information to use to initialize this access
|
* logger.
|
*
|
* @throws ConfigException If an unrecoverable problem arises in
|
* the process of performing the
|
* initialization.
|
*
|
* @throws InitializationException If a problem occurs during
|
* initialization that is not
|
* related to the server
|
* configuration.
|
*/
|
public abstract void initializeAccessLogger(ConfigEntry configEntry)
|
throws ConfigException, InitializationException;
|
|
|
|
/**
|
* Closes this access logger and releases any resources it might
|
* have held.
|
*/
|
public abstract void closeAccessLogger();
|
|
|
|
/**
|
* 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.
|
*
|
* @param clientConnection The client connection that has been
|
* established.
|
*/
|
public abstract void logConnect(ClientConnection clientConnection);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* termination of an existing client connection.
|
*
|
* @param clientConnection The client connection that has been
|
* terminated.
|
* @param disconnectReason A generic disconnect reason for the
|
* connection termination.
|
* @param message A human-readable message that can
|
* provide additional information about
|
* the disconnect.
|
*/
|
public abstract void
|
logDisconnect(ClientConnection clientConnection,
|
DisconnectReason disconnectReason,
|
String message);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* abandon request associated with the provided abandon operation.
|
*
|
* @param abandonOperation The abandon operation containing the
|
* information to use to log the abandon
|
* request.
|
*/
|
public abstract void logAbandonRequest(AbandonOperation
|
abandonOperation);
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* result of the provided abandon operation.
|
*
|
* @param abandonOperation The abandon operation containing the
|
* information to use to log the abandon
|
* request.
|
*/
|
public abstract void logAbandonResult(AbandonOperation
|
abandonOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* add request associated with the provided add operation.
|
*
|
* @param addOperation The add operation containing the
|
* information to use to log the add request.
|
*/
|
public abstract void logAddRequest(AddOperation addOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* add response associated with the provided add operation.
|
*
|
* @param addOperation The add operation containing the
|
* information to use to log the add response.
|
*/
|
public abstract void logAddResponse(AddOperation addOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* bind request associated with the provided bind operation.
|
*
|
* @param bindOperation The bind operation containing the
|
* information to use to log the bind
|
* request.
|
*/
|
public abstract void logBindRequest(BindOperation bindOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* bind response associated with the provided bind operation.
|
*
|
* @param bindOperation The bind operation containing the
|
* information to use to log the bind
|
* response.
|
*/
|
public abstract void logBindResponse(BindOperation bindOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* compare request associated with the provided compare operation.
|
*
|
* @param compareOperation The compare operation containing the
|
* information to use to log the compare
|
* request.
|
*/
|
public abstract void logCompareRequest(CompareOperation
|
compareOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* compare response associated with the provided compare operation.
|
*
|
* @param compareOperation The compare operation containing the
|
* information to use to log the compare
|
* response.
|
*/
|
public abstract void logCompareResponse(CompareOperation
|
compareOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* delete request associated with the provided delete operation.
|
*
|
* @param deleteOperation The delete operation containing the
|
* information to use to log the delete
|
* request.
|
*/
|
public abstract void logDeleteRequest(DeleteOperation
|
deleteOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* delete response associated with the provided delete operation.
|
*
|
* @param deleteOperation The delete operation containing the
|
* information to use to log the delete
|
* response.
|
*/
|
public abstract void logDeleteResponse(DeleteOperation
|
deleteOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* extended request associated with the provided extended operation.
|
*
|
* @param extendedOperation The extended operation containing the
|
* information to use to log the extended
|
* request.
|
*/
|
public abstract void logExtendedRequest(ExtendedOperation
|
extendedOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* extended response associated with the provided extended
|
* operation.
|
*
|
* @param extendedOperation The extended operation containing the
|
* information to use to log the extended
|
* response.
|
*/
|
public abstract void logExtendedResponse(ExtendedOperation
|
extendedOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* modify request associated with the provided modify operation.
|
*
|
* @param modifyOperation The modify operation containing the
|
* information to use to log the modify
|
* request.
|
*/
|
public abstract void logModifyRequest(ModifyOperation
|
modifyOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* modify response associated with the provided modify operation.
|
*
|
* @param modifyOperation The modify operation containing the
|
* information to use to log the modify
|
* response.
|
*/
|
public abstract void logModifyResponse(ModifyOperation
|
modifyOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* modify DN request associated with the provided modify DN
|
* operation.
|
*
|
* @param modifyDNOperation The modify DN operation containing the
|
* information to use to log the modify
|
* DN request.
|
*/
|
public abstract void logModifyDNRequest(ModifyDNOperation
|
modifyDNOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* modify DN response associated with the provided modify DN
|
* operation.
|
*
|
* @param modifyDNOperation The modify DN operation containing the
|
* information to use to log the modify
|
* DN response.
|
*/
|
public abstract void logModifyDNResponse(ModifyDNOperation
|
modifyDNOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* search request associated with the provided search operation.
|
*
|
* @param searchOperation The search operation containing the
|
* information to use to log the search
|
* request.
|
*/
|
public abstract void logSearchRequest(SearchOperation
|
searchOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* search result entry that matches the criteria associated with the
|
* provided search operation.
|
*
|
* @param searchOperation The search operation with which the
|
* search result entry is associated.
|
* @param searchEntry The search result entry to be logged.
|
*/
|
public abstract void logSearchResultEntry(
|
SearchOperation searchOperation,
|
SearchResultEntry searchEntry);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* search result reference returned while processing the associated
|
* search operation.
|
*
|
* @param searchOperation The search operation with which the
|
* search result reference is associated.
|
* @param searchReference The search result reference to be
|
* logged.
|
*/
|
public abstract void logSearchResultReference(
|
SearchOperation searchOperation,
|
SearchResultReference searchReference);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* completion of the provided search operation.
|
*
|
* @param searchOperation The search operation containing the
|
* information to use to log the search
|
* result done message.
|
*/
|
public abstract void logSearchResultDone(SearchOperation
|
searchOperation);
|
|
|
|
/**
|
* Writes a message to the access logger with information about the
|
* unbind request associated with the provided unbind operation.
|
*
|
* @param unbindOperation The unbind operation containing the
|
* information to use to log the unbind
|
* request.
|
*/
|
public abstract void logUnbind(UnbindOperation unbindOperation);
|
|
|
|
/**
|
* Indicates whether the provided object is equal to this access
|
* logger.
|
*
|
* @param o The object for which to make the determination.
|
*
|
* @return <CODE>true</CODE> if the provided object is determined
|
* to be equal to this access logger, or <CODE>false</CODE>
|
* if not.
|
*/
|
public abstract boolean equals(Object o);
|
|
|
|
/**
|
* Retrieves the hash code for this access logger.
|
*
|
* @return The hash code for this access logger.
|
*/
|
public abstract int hashCode();
|
}
|