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 replication assurance policy 133 * manager has been initialized. 134 */ 135 REPLICATION_ASSURANCE_POLICIES, 136 137 138 139 /** 140 * This dependency will be satisfied after the crypto manager has been 141 * initialized. 142 */ 143 CRYPTO_MANAGER_INITIALIZED, 144 145 146 147 /** 148 * This dependency will be satisfied after crypto manager synchronization has 149 * been enabled. 150 */ 151 CRYPTO_MANAGER_SYNCHRONIZATION, 152 153 154 155 /** 156 * This dependency will be satisfied after the entry cache has been 157 * initialized. 158 */ 159 ENTRY_CACHE, 160 161 162 163 /** 164 * This dependency will be satisfied after the extended operation handlers 165 * have been initialized. 166 */ 167 EXTENDED_OPERATION_HANDLERS, 168 169 170 171 /** 172 * This dependency will be satisfied after the external servers have been 173 * initialized. 174 */ 175 EXTERNAL_SERVERS, 176 177 178 179 /** 180 * This dependency will be satisfied after the group implementations have 181 * been initialized. 182 */ 183 GROUPS, 184 185 186 187 /** 188 * This dependency will be satisfied after the identity mappers have been 189 * initialized. 190 */ 191 IDENTITY_MAPPERS, 192 193 194 195 /** 196 * This dependency will be satisfied after the key manager providers and trust 197 * manager providers have been initialized. 198 */ 199 KEY_AND_TRUST_MANAGERS, 200 201 202 203 /** 204 * This dependency will be satisfied after the locations have been 205 * initialized. 206 */ 207 LOCATIONS, 208 209 210 211 /** 212 * This dependency will be satisfied after the log rotation policies, log 213 * retention policies, and log publishers have been initialized. 214 */ 215 LOGGING, 216 217 218 219 /** 220 * This dependency will be satisfied after the log field mappings have been 221 * initialized. 222 */ 223 LOG_FIELD_MAPPINGS, 224 225 226 227 /** 228 * This dependency will be satisfied after the MIB providers have been 229 * initialized. 230 */ 231 MIB_PROVIDERS, 232 233 234 235 /** 236 * This dependency will be satisfied after the monitor providers have been 237 * initialized. 238 */ 239 MONITOR_PROVIDERS, 240 241 242 243 /** 244 * This dependency will be satisfied after the password policy components have 245 * been initialized. 246 */ 247 PASSWORD_POLICY, 248 249 250 251 /** 252 * This dependency will be satisfied after the plugins have been initialized. 253 * Note that this will apply only for plugins that have not explicitly 254 * overridden the set of startup dependencies. 255 */ 256 PLUGINS, 257 258 259 260 /** 261 * This dependency will be satisfied after the proxy-related configuration has 262 * been initialized. 263 */ 264 PROXY_CONFIG, 265 266 267 268 /** 269 * This dependency will be satisfied after replication has been initialized. 270 */ 271 REPLICATION, 272 273 274 275 /** 276 * This dependency will be satisfied after the synchronization server 277 * components have been initialized. 278 */ 279 SYNCHRONIZATION_SERVER, 280 281 282 283 /** 284 * This dependency will be satisfied after the SASL mechanism handlers have 285 * been initialized. 286 */ 287 SASL_MECHANISM_HANDLERS, 288 289 290 291 /** 292 * This dependency will be satisfied after all of the schema has been 293 * initialized. 294 */ 295 SCHEMA, 296 297 298 299 /** 300 * This dependency will be satisfied after all other startup processing has 301 * completed. 302 */ 303 STARTUP_COMPLETE, 304 305 306 307 /** 308 * This dependency will be satisfied after the subtree accessibility manager 309 * has been initialized. 310 */ 311 SUBTREE_ACCESSIBILITY, 312 313 314 315 /** 316 * This dependency will be satisfied after all the subtree views have been 317 * initialized. 318 */ 319 SUBTREE_VIEWS, 320 321 322 323 /** 324 * This dependency will be satisfied after the supported controls have been 325 * initialized. 326 */ 327 SUPPORTED_CONTROLS, 328 329 330 331 /** 332 * This dependency will be satisfied after the supported features have been 333 * initialized. 334 */ 335 SUPPORTED_FEATURES, 336 337 338 339 /** 340 * This dependency will be satisfied after the virtual attribute providers 341 * have been initialized. 342 */ 343 VIRTUAL_ATTRIBUTES, 344 345 346 347 /** 348 * This dependency will be satisfied after the work queue has been 349 * initialized. 350 */ 351 WORK_QUEUE; 352 }