001 /* 002 * Copyright 2009-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 com.unboundid.util.ThreadSafety; 026 import com.unboundid.util.ThreadSafetyLevel; 027 028 029 030 /** 031 * <BLOCKQUOTE> 032 * <B>NOTE:</B> This class is part of the Commercial Edition of the UnboundID 033 * LDAP SDK for Java. It is not available for use in applications that 034 * include only the Standard Edition of the LDAP SDK, and is not supported for 035 * use in conjunction with non-UnboundID products. 036 * </BLOCKQUOTE> 037 * This enum defines the set of access log message types. 038 */ 039 @ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) 040 public enum AccessLogMessageType 041 { 042 /** 043 * The message type that will be used for messages about the result of 044 * replication assurance processing. 045 */ 046 ASSURANCE_COMPLETE("ASSURANCE-COMPLETE"), 047 048 049 050 /** 051 * The message type that will be used for messages about connections 052 * established to the Directory Server. 053 */ 054 CLIENT_CERTIFICATE("CLIENT-CERTIFICATE"), 055 056 057 058 /** 059 * The message type that will be used for messages about connections 060 * established to the Directory Server. 061 */ 062 CONNECT("CONNECT"), 063 064 065 066 /** 067 * The message type that will be used for messages about connections 068 * disconnected from the Directory Server. 069 */ 070 DISCONNECT("DISCONNECT"), 071 072 073 074 /** 075 * The message type that will be used for messages about search result entries 076 * returned by the Directory Server. 077 */ 078 ENTRY("ENTRY"), 079 080 081 082 /** 083 * The message type that will be used for messages that provide information 084 * about the beginning of an entry-rebalancing operation. 085 */ 086 ENTRY_REBALANCING_REQUEST("ENTRY-REBALANCING-REQUEST"), 087 088 089 090 /** 091 * The message type that will be used for messages that provide information 092 * about the result of an entry-rebalancing operation. 093 */ 094 ENTRY_REBALANCING_RESULT("ENTRY-REBALANCING-RESULT"), 095 096 097 098 /** 099 * The message type that will be used for messages about operations forwarded 100 * to another server. 101 */ 102 FORWARD("FORWARD"), 103 104 105 106 /** 107 * The message type that will be used for messages about failed attempts to 108 * forward a request to another server. 109 */ 110 FORWARD_FAILED("FORWARD-FAILED"), 111 112 113 114 /** 115 * The message type that will be used for intermediate response messages. 116 */ 117 INTERMEDIATE_RESPONSE("INTERMEDIATE-RESPONSE"), 118 119 120 121 /** 122 * The message type that will be used for messages about search result 123 * references returned by the Directory Server. 124 */ 125 REFERENCE("REFERENCE"), 126 127 128 129 /** 130 * The message type that will be used for messages about operation requests 131 * received from the Directory Server. 132 */ 133 REQUEST("REQUEST"), 134 135 136 137 /** 138 * The message type that will be used for messages about operation results, 139 * which may include responses sent to clients or results for operations with 140 * no response. 141 */ 142 RESULT("RESULT"), 143 144 145 146 /** 147 * The message type that will be used for messages about the processing 148 * performed to negotiate a secure form of communication between the client 149 * and the server. 150 */ 151 SECURITY_NEGOTIATION("SECURITY-NEGOTIATION"); 152 153 154 155 // The string that will be used to identify this message type in log files. 156 private final String logIdentifier; 157 158 159 160 /** 161 * Creates a new access log message type with the provided information. 162 * 163 * @param logIdentifier The string that will be used to identify this 164 * message type in log files. 165 */ 166 private AccessLogMessageType(final String logIdentifier) 167 { 168 this.logIdentifier = logIdentifier; 169 } 170 171 172 173 /** 174 * Retrieves the string that will be used to identify this message type in 175 * log files. 176 * 177 * @return The string that will be used to identify this message type in log 178 * files. 179 */ 180 public String getLogIdentifier() 181 { 182 return logIdentifier; 183 } 184 185 186 187 /** 188 * Retrieves the access log message type with the provided identifier. 189 * 190 * @param logIdentifier The identifier string for which to retrieve the 191 * corresponding access log message type. 192 * 193 * @return The appropriate message type, or {@code null} if there is no 194 * message type associated with the provided identifier. 195 */ 196 public static AccessLogMessageType forName(final String logIdentifier) 197 { 198 for (final AccessLogMessageType t : values()) 199 { 200 if (t.getLogIdentifier().equals(logIdentifier)) 201 { 202 return t; 203 } 204 } 205 206 return null; 207 } 208 }