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-2021 Ping Identity Corporation 026 */ 027package com.unboundid.directory.sdk.ds.types; 028 029 030 031import com.unboundid.util.ThreadSafety; 032import 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) 041public 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 alarm manager has been 053 * initialized. 054 */ 055 ALARMS, 056 057 058 059 /** 060 * This dependency will be satisfied after the alert handlers have been 061 * initialized. 062 */ 063 ALERT_HANDLERS, 064 065 066 067 /** 068 * This dependency will be satisfied after the backends have been initialized. 069 */ 070 BACKENDS, 071 072 073 074 /** 075 * This dependency will be satisfied after the certificate mappers have been 076 * initialized. 077 */ 078 CERTIFICATE_MAPPERS, 079 080 081 082 /** 083 * This dependency will be satisfied after the change subscription handlers 084 * have been initialized. 085 */ 086 CHANGE_SUBSCRIPTION_HANDLERS, 087 088 089 090 /** 091 * This dependency will be satisfied after the client connection policies have 092 * been initialized. 093 */ 094 CLIENT_CONNECTION_POLICIES, 095 096 097 098 /** 099 * This dependency will be satisfied after the config audit log has been 100 * initialized. 101 */ 102 CONFIG_AUDIT_LOG, 103 104 105 106 /** 107 * This dependency will be satisfied after the connection handlers have been 108 * initialized. 109 */ 110 CONNECTION_HANDLERS_INITIALIZED, 111 112 113 114 /** 115 * This dependency will be satisfied after the connection handlers have been 116 * started. 117 */ 118 CONNECTION_HANDLER_STARTED, 119 120 121 122 /** 123 * This dependency will be satisfied after the core configuration (the 124 * configuration properties associated with the "cn=config" entry itself) has 125 * been initialized. 126 */ 127 CORE_CONFIG, 128 129 130 131 /** 132 * This dependency will be satisfied after the criteria subsystem has been 133 * initialized. 134 */ 135 CRITERIA, 136 137 138 139 /** 140 * This dependency will be satisfied after the replication assurance policy 141 * manager has been initialized. 142 */ 143 REPLICATION_ASSURANCE_POLICIES, 144 145 146 147 /** 148 * This dependency will be satisfied after the crypto manager has been 149 * initialized. 150 */ 151 CRYPTO_MANAGER_INITIALIZED, 152 153 154 155 /** 156 * This dependency will be satisfied after crypto manager synchronization has 157 * been enabled. 158 */ 159 CRYPTO_MANAGER_SYNCHRONIZATION, 160 161 162 163 /** 164 * This dependency will be satisfied after the entry cache has been 165 * initialized. 166 */ 167 ENTRY_CACHE, 168 169 170 171 /** 172 * This dependency will be satisfied after the extended operation handlers 173 * have been initialized. 174 */ 175 EXTENDED_OPERATION_HANDLERS, 176 177 178 179 /** 180 * This dependency will be satisfied after the external servers have been 181 * initialized. 182 */ 183 EXTERNAL_SERVERS, 184 185 186 187 /** 188 * This dependency will be satisfied after gauges have been initialized. 189 */ 190 GAUGES, 191 192 193 194 /** 195 * This dependency will be satisfied after the group implementations have 196 * been initialized. 197 */ 198 GROUPS, 199 200 201 202 /** 203 * This dependency will be satisfied after the identity mappers have been 204 * initialized. 205 */ 206 IDENTITY_MAPPERS, 207 208 209 210 /** 211 * This dependency will be satisfied after the key manager providers and trust 212 * manager providers have been initialized. 213 */ 214 KEY_AND_TRUST_MANAGERS, 215 216 217 218 /** 219 * This dependency will be satisfied after the locations have been 220 * initialized. 221 */ 222 LOCATIONS, 223 224 225 226 /** 227 * This dependency will be satisfied after the log rotation policies, log 228 * retention policies, and log publishers have been initialized. 229 */ 230 LOGGING, 231 232 233 234 /** 235 * This dependency will be satisfied after the log field mappings have been 236 * initialized. 237 */ 238 LOG_FIELD_MAPPINGS, 239 240 241 242 /** 243 * This dependency will be satisfied after the MIB providers have been 244 * initialized. 245 */ 246 MIB_PROVIDERS, 247 248 249 250 /** 251 * This dependency will be satisfied after the monitor providers have been 252 * initialized. 253 */ 254 MONITOR_PROVIDERS, 255 256 257 258 /** 259 * This dependency will be satisfied after the password policy components have 260 * been initialized. 261 */ 262 PASSWORD_POLICY, 263 264 265 266 /** 267 * This dependency will be satisfied after the plugins have been initialized. 268 * Note that this will apply only for plugins that have not explicitly 269 * overridden the set of startup dependencies. 270 */ 271 PLUGINS, 272 273 274 275 /** 276 * This dependency will be satisfied after the proxy-related configuration has 277 * been initialized. 278 */ 279 PROXY_CONFIG, 280 281 282 283 /** 284 * This dependency will be satisfied after replication has been initialized. 285 */ 286 REPLICATION, 287 288 289 290 /** 291 * This dependency will be satisfied after the synchronization server 292 * components have been initialized. 293 */ 294 SYNCHRONIZATION_SERVER, 295 296 297 298 /** 299 * This dependency will be satisfied after the SASL mechanism handlers have 300 * been initialized. 301 */ 302 SASL_MECHANISM_HANDLERS, 303 304 305 306 /** 307 * This dependency will be satisfied after all of the schema has been 308 * initialized. 309 */ 310 SCHEMA, 311 312 313 314 /** 315 * This dependency will be satisfied after all other startup processing has 316 * completed. 317 */ 318 STARTUP_COMPLETE, 319 320 321 322 /** 323 * This dependency will be satisfied after the subtree accessibility manager 324 * has been initialized. 325 */ 326 SUBTREE_ACCESSIBILITY, 327 328 329 330 /** 331 * This dependency will be satisfied after all the subtree views have been 332 * initialized. 333 */ 334 SUBTREE_VIEWS, 335 336 337 338 /** 339 * This dependency will be satisfied after the supported controls have been 340 * initialized. 341 */ 342 SUPPORTED_CONTROLS, 343 344 345 346 /** 347 * This dependency will be satisfied after the supported features have been 348 * initialized. 349 */ 350 SUPPORTED_FEATURES, 351 352 353 354 /** 355 * This dependency will be satisfied after the virtual attribute providers 356 * have been initialized. 357 */ 358 VIRTUAL_ATTRIBUTES, 359 360 361 362 /** 363 * This dependency will be satisfied after the work queue has been 364 * initialized. 365 */ 366 WORK_QUEUE; 367}