001 /* 002 * CDDL HEADER START 003 * 004 * The contents of this file are subject to the terms of the 005 * Common Development and Distribution License, Version 1.0 only 006 * (the "License"). You may not use this file except in compliance 007 * with the License. 008 * 009 * You can obtain a copy of the license at 010 * docs/licenses/cddl.txt 011 * or http://www.opensource.org/licenses/cddl1.php. 012 * See the License for the specific language governing permissions 013 * and limitations under the License. 014 * 015 * When distributing Covered Code, include this CDDL HEADER in each 016 * file and include the License file at 017 * docs/licenses/cddl.txt. If applicable, 018 * add the following below this CDDL HEADER, with the fields enclosed 019 * by brackets "[]" replaced with your own identifying information: 020 * Portions Copyright [yyyy] [name of copyright owner] 021 * 022 * CDDL HEADER END 023 * 024 * 025 * Copyright 2010-2013 UnboundID Corp. 026 */ 027 package com.unboundid.directory.sdk.ds.types; 028 029 030 031 import com.unboundid.util.ThreadSafety; 032 import com.unboundid.util.ThreadSafetyLevel; 033 034 035 036 /** 037 * This enum defines a set of dependencies that may need to be satisfied by a 038 * component which is to be invoked at server startup. 039 */ 040 @ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) 041 public enum StartupDependency 042 { 043 /** 044 * This dependency will be satisfied after the access control handler has been 045 * initialized. 046 */ 047 ACCESS_CONTROL, 048 049 050 051 /** 052 * This dependency will be satisfied after the alert handlers have been 053 * initialized. 054 */ 055 ALERT_HANDLERS, 056 057 058 059 /** 060 * This dependency will be satisfied after the backends have been initialized. 061 */ 062 BACKENDS, 063 064 065 066 /** 067 * This dependency will be satisfied after the certificate mappers have been 068 * initialized. 069 */ 070 CERTIFICATE_MAPPERS, 071 072 073 074 /** 075 * This dependency will be satisfied after the change subscription handlers 076 * have been initialized. 077 */ 078 CHANGE_SUBSCRIPTION_HANDLERS, 079 080 081 082 /** 083 * This dependency will be satisfied after the client connection policies have 084 * been initialized. 085 */ 086 CLIENT_CONNECTION_POLICIES, 087 088 089 090 /** 091 * This dependency will be satisfied after the config audit log has been 092 * initialized. 093 */ 094 CONFIG_AUDIT_LOG, 095 096 097 098 /** 099 * This dependency will be satisfied after the connection handlers have been 100 * initialized. 101 */ 102 CONNECTION_HANDLERS_INITIALIZED, 103 104 105 106 /** 107 * This dependency will be satisfied after the connection handlers have been 108 * started. 109 */ 110 CONNECTION_HANDLER_STARTED, 111 112 113 114 /** 115 * This dependency will be satisfied after the core configuration (the 116 * configuration properties associated with the "cn=config" entry itself) has 117 * been initialized. 118 */ 119 CORE_CONFIG, 120 121 122 123 /** 124 * This dependency will be satisfied after the criteria subsystem has been 125 * initialized. 126 */ 127 CRITERIA, 128 129 130 131 /** 132 * This dependency will be satisfied after the crypto manager has been 133 * initialized. 134 */ 135 CRYPTO_MANAGER_INITIALIZED, 136 137 138 139 /** 140 * This dependency will be satisfied after crypto manager synchronization has 141 * been enabled. 142 */ 143 CRYPTO_MANAGER_SYNCHRONIZATION, 144 145 146 147 /** 148 * This dependency will be satisfied after the entry cache has been 149 * initialized. 150 */ 151 ENTRY_CACHE, 152 153 154 155 /** 156 * This dependency will be satisfied after the extended operation handlers 157 * have been initialized. 158 */ 159 EXTENDED_OPERATION_HANDLERS, 160 161 162 163 /** 164 * This dependency will be satisfied after the external servers have been 165 * initialized. 166 */ 167 EXTERNAL_SERVERS, 168 169 170 171 /** 172 * This dependency will be satisfied after the group implementations have 173 * been initialized. 174 */ 175 GROUPS, 176 177 178 179 /** 180 * This dependency will be satisfied after the identity mappers have been 181 * initialized. 182 */ 183 IDENTITY_MAPPERS, 184 185 186 187 /** 188 * This dependency will be satisfied after the key manager providers and trust 189 * manager providers have been initialized. 190 */ 191 KEY_AND_TRUST_MANAGERS, 192 193 194 195 /** 196 * This dependency will be satisfied after the locations have been 197 * initialized. 198 */ 199 LOCATIONS, 200 201 202 203 /** 204 * This dependency will be satisfied after the log rotation policies, log 205 * retention policies, and log publishers have been initialized. 206 */ 207 LOGGING, 208 209 210 211 /** 212 * This dependency will be satisfied after the log field mappings have been 213 * initialized. 214 */ 215 LOG_FIELD_MAPPINGS, 216 217 218 219 /** 220 * This dependency will be satisfied after the MIB providers have been 221 * initialized. 222 */ 223 MIB_PROVIDERS, 224 225 226 227 /** 228 * This dependency will be satisfied after the monitor providers have been 229 * initialized. 230 */ 231 MONITOR_PROVIDERS, 232 233 234 235 /** 236 * This dependency will be satisfied after the password policy components have 237 * been initialized. 238 */ 239 PASSWORD_POLICY, 240 241 242 243 /** 244 * This dependency will be satisfied after the plugins have been initialized. 245 * Note that this will apply only for plugins that have not explicitly 246 * overridden the set of startup dependencies. 247 */ 248 PLUGINS, 249 250 251 252 /** 253 * This dependency will be satisfied after the proxy-related configuration has 254 * been initialized. 255 */ 256 PROXY_CONFIG, 257 258 259 260 /** 261 * This dependency will be satisfied after replication has been initialized. 262 */ 263 REPLICATION, 264 265 266 267 /** 268 * This dependency will be satisfied after the synchronization server 269 * components have been initialized. 270 */ 271 SYNCHRONIZATION_SERVER, 272 273 274 275 /** 276 * This dependency will be satisfied after the SASL mechanism handlers have 277 * been initialized. 278 */ 279 SASL_MECHANISM_HANDLERS, 280 281 282 283 /** 284 * This dependency will be satisfied after all of the schema has been 285 * initialized. 286 */ 287 SCHEMA, 288 289 290 291 /** 292 * This dependency will be satisfied after all other startup processing has 293 * completed. 294 */ 295 STARTUP_COMPLETE, 296 297 298 299 /** 300 * This dependency will be satisfied after the subtree accessibility manager 301 * has been initialized. 302 */ 303 SUBTREE_ACCESSIBILITY, 304 305 306 307 /** 308 * This dependency will be satisfied after all the subtree views have been 309 * initialized. 310 */ 311 SUBTREE_VIEWS, 312 313 314 315 /** 316 * This dependency will be satisfied after the supported controls have been 317 * initialized. 318 */ 319 SUPPORTED_CONTROLS, 320 321 322 323 /** 324 * This dependency will be satisfied after the supported features have been 325 * initialized. 326 */ 327 SUPPORTED_FEATURES, 328 329 330 331 /** 332 * This dependency will be satisfied after the virtual attribute providers 333 * have been initialized. 334 */ 335 VIRTUAL_ATTRIBUTES, 336 337 338 339 /** 340 * This dependency will be satisfied after the work queue has been 341 * initialized. 342 */ 343 WORK_QUEUE; 344 }