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.ldap.sdk.ResultCode; 028 import com.unboundid.util.NotExtensible; 029 import com.unboundid.util.ThreadSafety; 030 import com.unboundid.util.ThreadSafetyLevel; 031 032 033 034 /** 035 * <BLOCKQUOTE> 036 * <B>NOTE:</B> This class is part of the Commercial Edition of the UnboundID 037 * LDAP SDK for Java. It is not available for use in applications that 038 * include only the Standard Edition of the LDAP SDK, and is not supported for 039 * use in conjunction with non-UnboundID products. 040 * </BLOCKQUOTE> 041 * This interface defines a number of methods common to all types of operation 042 * result access log messages. 043 */ 044 @NotExtensible() 045 @ThreadSafety(level=ThreadSafetyLevel.INTERFACE_THREADSAFE) 046 public interface MinimalOperationResultAccessLogMessage 047 { 048 /** 049 * Retrieves the result code for the operation. 050 * 051 * @return The result code for the operation, or {@code null} if it is not 052 * included in the log message. 053 */ 054 ResultCode getResultCode(); 055 056 057 058 /** 059 * Retrieves the diagnostic message for the operation. 060 * 061 * @return The diagnostic message for the operation, or {@code null} if it is 062 * not included in the log message. 063 */ 064 String getDiagnosticMessage(); 065 066 067 068 /** 069 * Retrieves a message with additional information about the result of the 070 * operation. 071 * 072 * @return A message with additional information about the result of the 073 * operation, or {@code null} if it is not included in the log 074 * message. 075 */ 076 String getAdditionalInformation(); 077 078 079 080 /** 081 * Retrieves the matched DN for the operation. 082 * 083 * @return The matched DN for the operation, or {@code null} if it is not 084 * included in the log message. 085 */ 086 String getMatchedDN(); 087 088 089 090 /** 091 * Retrieves the list of referral URLs for the operation. 092 * 093 * @return The list of referral URLs for the operation, or an empty list if 094 * it is not included in the log message. 095 */ 096 List<String> getReferralURLs(); 097 098 099 100 /** 101 * Retrieves the length of time in milliseconds required to process the 102 * operation. 103 * 104 * @return The length of time in milliseconds required to process the 105 * operation, or {@code null} if it is not included in the log 106 * message. 107 */ 108 Double getProcessingTimeMillis(); 109 110 111 112 /** 113 * Retrieves the length of time in milliseconds the operation was required to 114 * wait on the work queue. 115 * 116 * @return The length of time in milliseconds the operation was required to 117 * wait on the work queue, or {@code null} if it is not included in 118 * the log message. 119 */ 120 Double getQueueTimeMillis(); 121 }