001 /* 002 * Copyright 2011-2015 UnboundID Corp. 003 * All Rights Reserved. 004 */ 005 /* 006 * Copyright (C) 2015 UnboundID Corp. 007 * 008 * This program is free software; you can redistribute it and/or modify 009 * it under the terms of the GNU General Public License (GPLv2 only) 010 * or the terms of the GNU Lesser General Public License (LGPLv2.1 only) 011 * as published by the Free Software Foundation. 012 * 013 * This program is distributed in the hope that it will be useful, 014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 016 * GNU General Public License for more details. 017 * 018 * You should have received a copy of the GNU General Public License 019 * along with this program; if not, see <http://www.gnu.org/licenses>. 020 */ 021 package com.unboundid.ldap.sdk.unboundidds.logs; 022 023 024 025 import java.util.List; 026 027 import com.unboundid.util.NotExtensible; 028 import com.unboundid.util.ThreadSafety; 029 import com.unboundid.util.ThreadSafetyLevel; 030 031 032 033 /** 034 * <BLOCKQUOTE> 035 * <B>NOTE:</B> This class is part of the Commercial Edition of the UnboundID 036 * LDAP SDK for Java. It is not available for use in applications that 037 * include only the Standard Edition of the LDAP SDK, and is not supported for 038 * use in conjunction with non-UnboundID products. 039 * </BLOCKQUOTE> 040 * This interface defines a number of methods common to all types of operation 041 * result access log messages. 042 */ 043 @NotExtensible() 044 @ThreadSafety(level=ThreadSafetyLevel.INTERFACE_THREADSAFE) 045 public interface OperationResultAccessLogMessage 046 extends MinimalOperationResultAccessLogMessage 047 { 048 /** 049 * Retrieves the number of intermediate response messages returned in the 050 * course of processing the operation. 051 * 052 * @return The number of intermediate response messages returned to the 053 * client in the course of processing the operation, or {@code null} 054 * if it is not included in the log message. 055 */ 056 Long getIntermediateResponsesReturned(); 057 058 059 060 /** 061 * Retrieves the OIDs of any response controls contained in the log message. 062 * 063 * @return The OIDs of any response controls contained in the log message, or 064 * an empty list if it is not included in the log message. 065 */ 066 List<String> getResponseControlOIDs(); 067 068 069 070 /** 071 * Retrieves a list of the additional servers that were accessed in the course 072 * of processing the operation. For example, if the access log message is 073 * from a Directory Proxy Server instance, then this may contain a list of the 074 * backend servers used to process the operation. 075 * 076 * @return A list of the additional servers that were accessed in the course 077 * of processing the operation, or an empty list if it is not 078 * included in the log message. 079 */ 080 List<String> getServersAccessed(); 081 082 083 084 /** 085 * Retrieves the content of the intermediate client result for the 086 * operation. 087 * 088 * @return The content of the intermediate client result for the operation, 089 * or {@code null} if it is not included in the log message. 090 */ 091 String getIntermediateClientResult(); 092 }