/* * 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 * * * Copyright 2008-2009 Sun Microsystems, Inc. * Portions copyright 2011-2013 ForgeRock AS. */ package org.opends.server.api; import java.util.List; import org.opends.messages.Message; import org.opends.server.admin.std.server.AccessLogPublisherCfg; import org.opends.server.core.*; import org.opends.server.types.*; /** * This class defines the set of methods and structures that must be * implemented for a Directory Server access log publisher. * * @param <T> * The type of access log publisher configuration handled by * this log publisher implementation. */ @org.opends.server.types.PublicAPI( stability = org.opends.server.types.StabilityLevel.VOLATILE, mayInstantiate = false, mayExtend = true, mayInvoke = false) public abstract class AccessLogPublisher<T extends AccessLogPublisherCfg> implements LogPublisher<T> { /** {@inheritDoc} */ @Override public boolean isConfigurationAcceptable(T configuration, List<Message> unacceptableReasons) { // This default implementation does not perform any special // validation. It should be overridden by access log publisher // implementations that wish to perform more detailed validation. return true; } /** * 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. * <p> * The default implementation is to not log anything. * * @param clientConnection * The client connection that has been established. */ public void logConnect(ClientConnection clientConnection) { // Do nothing } /** * Writes a message to the access logger with information about the * termination of an existing client connection. * <p> * The default implementation is to not log anything. * * @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 void logDisconnect(ClientConnection clientConnection, DisconnectReason disconnectReason, Message message) { // Do nothing } /** * Writes a message to the access logger with information about the * abandon request associated with the provided abandon operation. * <p> * The default implementation is to not log anything. * * @param abandonOperation * The abandon operation containing the information to use * to log the abandon request. */ public void logAbandonRequest(AbandonOperation abandonOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * result of the provided abandon operation. * <p> * The default implementation is to not log anything. * * @param abandonOperation * The abandon operation containing the information to use * to log the abandon request. */ public void logAbandonResult(AbandonOperation abandonOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * add request associated with the provided add operation. * <p> * The default implementation is to not log anything. * * @param addOperation * The add operation containing the information to use to * log the add request. */ public void logAddRequest(AddOperation addOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * add response associated with the provided add operation. * <p> * The default implementation is to not log anything. * * @param addOperation * The add operation containing the information to use to * log the add response. */ public void logAddResponse(AddOperation addOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * bind request associated with the provided bind operation. * <p> * The default implementation is to not log anything. * * @param bindOperation * The bind operation containing the information to use to * log the bind request. */ public void logBindRequest(BindOperation bindOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * bind response associated with the provided bind operation. * <p> * The default implementation is to not log anything. * * @param bindOperation * The bind operation containing the information to use to * log the bind response. */ public void logBindResponse(BindOperation bindOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * compare request associated with the provided compare operation. * <p> * The default implementation is to not log anything. * * @param compareOperation * The compare operation containing the information to use * to log the compare request. */ public void logCompareRequest(CompareOperation compareOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * compare response associated with the provided compare operation. * <p> * The default implementation is to not log anything. * * @param compareOperation * The compare operation containing the information to use * to log the compare response. */ public void logCompareResponse(CompareOperation compareOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * delete request associated with the provided delete operation. * <p> * The default implementation is to not log anything. * * @param deleteOperation * The delete operation containing the information to use * to log the delete request. */ public void logDeleteRequest(DeleteOperation deleteOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * delete response associated with the provided delete operation. * <p> * The default implementation is to not log anything. * * @param deleteOperation * The delete operation containing the information to use * to log the delete response. */ public void logDeleteResponse(DeleteOperation deleteOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * extended request associated with the provided extended operation. * <p> * The default implementation is to not log anything. * * @param extendedOperation * The extended operation containing the information to use * to log the extended request. */ public void logExtendedRequest(ExtendedOperation extendedOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * extended response associated with the provided extended * operation. * <p> * The default implementation is to not log anything. * * @param extendedOperation * The extended operation containing the information to use * to log the extended response. */ public void logExtendedResponse(ExtendedOperation extendedOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * modify request associated with the provided modify operation. * <p> * The default implementation is to not log anything. * * @param modifyOperation * The modify operation containing the information to use * to log the modify request. */ public void logModifyRequest(ModifyOperation modifyOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * modify response associated with the provided modify operation. * <p> * The default implementation is to not log anything. * * @param modifyOperation * The modify operation containing the information to use * to log the modify response. */ public void logModifyResponse(ModifyOperation modifyOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * modify DN request associated with the provided modify DN * operation. * <p> * The default implementation is to not log anything. * * @param modifyDNOperation * The modify DN operation containing the information to * use to log the modify DN request. */ public void logModifyDNRequest(ModifyDNOperation modifyDNOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * modify DN response associated with the provided modify DN * operation. * <p> * The default implementation is to not log anything. * * @param modifyDNOperation * The modify DN operation containing the information to * use to log the modify DN response. */ public void logModifyDNResponse(ModifyDNOperation modifyDNOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * search request associated with the provided search operation. * <p> * The default implementation is to not log anything. * * @param searchOperation * The search operation containing the information to use * to log the search request. */ public void logSearchRequest(SearchOperation searchOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * search result entry that matches the criteria associated with the * provided search operation. * <p> * The default implementation is to not log anything. * * @param searchOperation * The search operation with which the search result entry * is associated. * @param searchEntry * The search result entry to be logged. */ public void logSearchResultEntry(SearchOperation searchOperation, SearchResultEntry searchEntry) { // Do nothing } /** * Writes a message to the access logger with information about the * search result reference returned while processing the associated * search operation. * <p> * The default implementation is to not log anything. * * @param searchOperation * The search operation with which the search result * reference is associated. * @param searchReference * The search result reference to be logged. */ public void logSearchResultReference( SearchOperation searchOperation, SearchResultReference searchReference) { // Do nothing } /** * Writes a message to the access logger with information about the * completion of the provided search operation. * <p> * The default implementation is to not log anything. * * @param searchOperation * The search operation containing the information to use * to log the search result done message. */ public void logSearchResultDone(SearchOperation searchOperation) { // Do nothing } /** * Writes a message to the access logger with information about the * unbind request associated with the provided unbind operation. * <p> * The default implementation is to not log anything. * * @param unbindOperation * The unbind operation containing the information to use * to log the unbind request. */ public void logUnbind(UnbindOperation unbindOperation) { // Do nothing } }