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 operation types. 038 */ 039 @ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) 040 public enum AccessLogOperationType 041 { 042 /** 043 * The operation type that will be used for messages about abandon operations. 044 */ 045 ABANDON("ABANDON"), 046 047 048 049 /** 050 * The operation type that will be used for messages about add operations. 051 */ 052 ADD("ADD"), 053 054 055 056 /** 057 * The operation type that will be used for messages about bind operations. 058 */ 059 BIND("BIND"), 060 061 062 063 /** 064 * The operation type that will be used for messages about compare operations. 065 */ 066 COMPARE("COMPARE"), 067 068 069 070 /** 071 * The operation type that will be used for messages about delete operations. 072 */ 073 DELETE("DELETE"), 074 075 076 077 /** 078 * The operation type that will be used for messages about extended 079 * operations. 080 */ 081 EXTENDED("EXTENDED"), 082 083 084 085 /** 086 * The operation type that will be used for messages about modify operations. 087 */ 088 MODIFY("MODIFY"), 089 090 091 092 /** 093 * The operation type that will be used for messages about modify DN 094 * operations. 095 */ 096 MODDN("MODDN"), 097 098 099 100 /** 101 * The operation type that will be used for messages about search operations. 102 */ 103 SEARCH("SEARCH"), 104 105 106 107 /** 108 * The operation type that will be used for messages about unbind operations. 109 */ 110 UNBIND("UNBIND"); 111 112 113 114 // The string that will be used to identify this message type in log files. 115 private final String logIdentifier; 116 117 118 119 /** 120 * Creates a new access log operation type with the provided information. 121 * 122 * @param logIdentifier The string that will be used to identify this 123 * operation type in log files. 124 */ 125 private AccessLogOperationType(final String logIdentifier) 126 { 127 this.logIdentifier = logIdentifier; 128 } 129 130 131 132 /** 133 * Retrieves the string that will be used to identify this operation type in 134 * log files. 135 * 136 * @return The string that will be used to identify this operation type in 137 * log files. 138 */ 139 public String getLogIdentifier() 140 { 141 return logIdentifier; 142 } 143 144 145 146 /** 147 * Retrieves the access log operation type with the provided identifier. 148 * 149 * @param logIdentifier The identifier string for which to retrieve the 150 * corresponding access log operation type. 151 * 152 * @return The appropriate operation type, or {@code null} if there is no 153 * operation type associated with the provided identifier. 154 */ 155 public static AccessLogOperationType forName(final String logIdentifier) 156 { 157 for (final AccessLogOperationType t : values()) 158 { 159 if (t.getLogIdentifier().equals(logIdentifier)) 160 { 161 return t; 162 } 163 } 164 165 return null; 166 } 167 }