001/*
002 * The contents of this file are subject to the terms of the Common Development and
003 * Distribution License (the License). You may not use this file except in compliance with the
004 * License.
005 *
006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
007 * specific language governing permission and limitations under the License.
008 *
009 * When distributing Covered Software, include this CDDL Header Notice in each file and include
010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
011 * Header, with the fields enclosed by brackets [] replaced by your own identifying
012 * information: "Portions Copyright [year] [name of copyright owner]".
013 *
014 * Copyright 2008 Sun Microsystems, Inc.
015 */
016package org.forgerock.opendj.server.config.meta;
017
018
019
020import java.util.Collection;
021import org.forgerock.opendj.config.client.ConcurrentModificationException;
022import org.forgerock.opendj.config.client.IllegalManagedObjectNameException;
023import org.forgerock.opendj.config.client.ManagedObject;
024import org.forgerock.opendj.config.client.ManagedObjectDecodingException;
025import org.forgerock.opendj.config.client.MissingMandatoryPropertiesException;
026import org.forgerock.opendj.config.client.OperationRejectedException;
027import org.forgerock.opendj.config.DefinitionDecodingException;
028import org.forgerock.opendj.config.InstantiableRelationDefinition;
029import org.forgerock.opendj.config.ManagedObjectAlreadyExistsException;
030import org.forgerock.opendj.config.ManagedObjectDefinition;
031import org.forgerock.opendj.config.ManagedObjectNotFoundException;
032import org.forgerock.opendj.config.PropertyException;
033import org.forgerock.opendj.config.PropertyProvider;
034import org.forgerock.opendj.config.server.ConfigException;
035import org.forgerock.opendj.config.server.ConfigurationAddListener;
036import org.forgerock.opendj.config.server.ConfigurationDeleteListener;
037import org.forgerock.opendj.config.server.ServerManagedObject;
038import org.forgerock.opendj.config.SingletonRelationDefinition;
039import org.forgerock.opendj.config.Tag;
040import org.forgerock.opendj.config.TopCfgDefn;
041import org.forgerock.opendj.ldap.DN;
042import org.forgerock.opendj.ldap.LdapException;
043import org.forgerock.opendj.server.config.client.AccessControlHandlerCfgClient;
044import org.forgerock.opendj.server.config.client.AccountStatusNotificationHandlerCfgClient;
045import org.forgerock.opendj.server.config.client.AdministrationConnectorCfgClient;
046import org.forgerock.opendj.server.config.client.AlertHandlerCfgClient;
047import org.forgerock.opendj.server.config.client.AttributeSyntaxCfgClient;
048import org.forgerock.opendj.server.config.client.AuthenticationPolicyCfgClient;
049import org.forgerock.opendj.server.config.client.BackendCfgClient;
050import org.forgerock.opendj.server.config.client.CertificateMapperCfgClient;
051import org.forgerock.opendj.server.config.client.ConnectionHandlerCfgClient;
052import org.forgerock.opendj.server.config.client.CryptoManagerCfgClient;
053import org.forgerock.opendj.server.config.client.EntryCacheCfgClient;
054import org.forgerock.opendj.server.config.client.ExtendedOperationHandlerCfgClient;
055import org.forgerock.opendj.server.config.client.GlobalCfgClient;
056import org.forgerock.opendj.server.config.client.GroupImplementationCfgClient;
057import org.forgerock.opendj.server.config.client.IdentityMapperCfgClient;
058import org.forgerock.opendj.server.config.client.KeyManagerProviderCfgClient;
059import org.forgerock.opendj.server.config.client.LogPublisherCfgClient;
060import org.forgerock.opendj.server.config.client.LogRetentionPolicyCfgClient;
061import org.forgerock.opendj.server.config.client.LogRotationPolicyCfgClient;
062import org.forgerock.opendj.server.config.client.MatchingRuleCfgClient;
063import org.forgerock.opendj.server.config.client.MonitorProviderCfgClient;
064import org.forgerock.opendj.server.config.client.PasswordGeneratorCfgClient;
065import org.forgerock.opendj.server.config.client.PasswordStorageSchemeCfgClient;
066import org.forgerock.opendj.server.config.client.PasswordValidatorCfgClient;
067import org.forgerock.opendj.server.config.client.PluginRootCfgClient;
068import org.forgerock.opendj.server.config.client.RootCfgClient;
069import org.forgerock.opendj.server.config.client.RootDNCfgClient;
070import org.forgerock.opendj.server.config.client.RootDSEBackendCfgClient;
071import org.forgerock.opendj.server.config.client.SASLMechanismHandlerCfgClient;
072import org.forgerock.opendj.server.config.client.SchemaProviderCfgClient;
073import org.forgerock.opendj.server.config.client.SynchronizationProviderCfgClient;
074import org.forgerock.opendj.server.config.client.TrustManagerProviderCfgClient;
075import org.forgerock.opendj.server.config.client.VirtualAttributeCfgClient;
076import org.forgerock.opendj.server.config.client.WorkQueueCfgClient;
077import org.forgerock.opendj.server.config.server.AccessControlHandlerCfg;
078import org.forgerock.opendj.server.config.server.AccountStatusNotificationHandlerCfg;
079import org.forgerock.opendj.server.config.server.AdministrationConnectorCfg;
080import org.forgerock.opendj.server.config.server.AlertHandlerCfg;
081import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
082import org.forgerock.opendj.server.config.server.AuthenticationPolicyCfg;
083import org.forgerock.opendj.server.config.server.BackendCfg;
084import org.forgerock.opendj.server.config.server.CertificateMapperCfg;
085import org.forgerock.opendj.server.config.server.ConnectionHandlerCfg;
086import org.forgerock.opendj.server.config.server.CryptoManagerCfg;
087import org.forgerock.opendj.server.config.server.EntryCacheCfg;
088import org.forgerock.opendj.server.config.server.ExtendedOperationHandlerCfg;
089import org.forgerock.opendj.server.config.server.GlobalCfg;
090import org.forgerock.opendj.server.config.server.GroupImplementationCfg;
091import org.forgerock.opendj.server.config.server.IdentityMapperCfg;
092import org.forgerock.opendj.server.config.server.KeyManagerProviderCfg;
093import org.forgerock.opendj.server.config.server.LogPublisherCfg;
094import org.forgerock.opendj.server.config.server.LogRetentionPolicyCfg;
095import org.forgerock.opendj.server.config.server.LogRotationPolicyCfg;
096import org.forgerock.opendj.server.config.server.MatchingRuleCfg;
097import org.forgerock.opendj.server.config.server.MonitorProviderCfg;
098import org.forgerock.opendj.server.config.server.PasswordGeneratorCfg;
099import org.forgerock.opendj.server.config.server.PasswordStorageSchemeCfg;
100import org.forgerock.opendj.server.config.server.PasswordValidatorCfg;
101import org.forgerock.opendj.server.config.server.PluginRootCfg;
102import org.forgerock.opendj.server.config.server.RootCfg;
103import org.forgerock.opendj.server.config.server.RootDNCfg;
104import org.forgerock.opendj.server.config.server.RootDSEBackendCfg;
105import org.forgerock.opendj.server.config.server.SASLMechanismHandlerCfg;
106import org.forgerock.opendj.server.config.server.SchemaProviderCfg;
107import org.forgerock.opendj.server.config.server.SynchronizationProviderCfg;
108import org.forgerock.opendj.server.config.server.TrustManagerProviderCfg;
109import org.forgerock.opendj.server.config.server.VirtualAttributeCfg;
110import org.forgerock.opendj.server.config.server.WorkQueueCfg;
111
112
113
114/**
115 * An interface for querying the Root managed object definition meta
116 * information.
117 * <p>
118 * The root configuration provides an entry point to the rest of the
119 * OpenDJ configuration.
120 */
121public final class RootCfgDefn extends ManagedObjectDefinition<RootCfgClient, RootCfg> {
122
123  /** The singleton configuration definition instance. */
124  private static final RootCfgDefn INSTANCE = new RootCfgDefn();
125
126
127
128  // Define managed object tags.
129  static {
130    Tag.define("core-server");
131    Tag.define("database");
132    Tag.define("logging");
133    Tag.define("replication");
134    Tag.define("security");
135    Tag.define("user-management");
136  }
137
138
139
140  /** The "access-control-handler" relation definition. */
141  private static final SingletonRelationDefinition<AccessControlHandlerCfgClient, AccessControlHandlerCfg> RD_ACCESS_CONTROL_HANDLER;
142
143
144
145  /** The "account-status-notification-handlers" relation definition. */
146  private static final InstantiableRelationDefinition<AccountStatusNotificationHandlerCfgClient, AccountStatusNotificationHandlerCfg> RD_ACCOUNT_STATUS_NOTIFICATION_HANDLERS;
147
148
149
150  /** The "administration-connector" relation definition. */
151  private static final SingletonRelationDefinition<AdministrationConnectorCfgClient, AdministrationConnectorCfg> RD_ADMINISTRATION_CONNECTOR;
152
153
154
155  /** The "alert-handlers" relation definition. */
156  private static final InstantiableRelationDefinition<AlertHandlerCfgClient, AlertHandlerCfg> RD_ALERT_HANDLERS;
157
158
159
160  /** The "attribute-syntaxes" relation definition. */
161  private static final InstantiableRelationDefinition<AttributeSyntaxCfgClient, AttributeSyntaxCfg> RD_ATTRIBUTE_SYNTAXES;
162
163
164
165  /** The "backends" relation definition. */
166  private static final InstantiableRelationDefinition<BackendCfgClient, BackendCfg> RD_BACKENDS;
167
168
169
170  /** The "certificate-mappers" relation definition. */
171  private static final InstantiableRelationDefinition<CertificateMapperCfgClient, CertificateMapperCfg> RD_CERTIFICATE_MAPPERS;
172
173
174
175  /** The "connection-handlers" relation definition. */
176  private static final InstantiableRelationDefinition<ConnectionHandlerCfgClient, ConnectionHandlerCfg> RD_CONNECTION_HANDLERS;
177
178
179
180  /** The "crypto-manager" relation definition. */
181  private static final SingletonRelationDefinition<CryptoManagerCfgClient, CryptoManagerCfg> RD_CRYPTO_MANAGER;
182
183
184
185  /** The "entry-caches" relation definition. */
186  private static final InstantiableRelationDefinition<EntryCacheCfgClient, EntryCacheCfg> RD_ENTRY_CACHES;
187
188
189
190  /** The "extended-operation-handlers" relation definition. */
191  private static final InstantiableRelationDefinition<ExtendedOperationHandlerCfgClient, ExtendedOperationHandlerCfg> RD_EXTENDED_OPERATION_HANDLERS;
192
193
194
195  /** The "global-configuration" relation definition. */
196  private static final SingletonRelationDefinition<GlobalCfgClient, GlobalCfg> RD_GLOBAL_CONFIGURATION;
197
198
199
200  /** The "group-implementations" relation definition. */
201  private static final InstantiableRelationDefinition<GroupImplementationCfgClient, GroupImplementationCfg> RD_GROUP_IMPLEMENTATIONS;
202
203
204
205  /** The "identity-mappers" relation definition. */
206  private static final InstantiableRelationDefinition<IdentityMapperCfgClient, IdentityMapperCfg> RD_IDENTITY_MAPPERS;
207
208
209
210  /** The "key-manager-providers" relation definition. */
211  private static final InstantiableRelationDefinition<KeyManagerProviderCfgClient, KeyManagerProviderCfg> RD_KEY_MANAGER_PROVIDERS;
212
213
214
215  /** The "log-publishers" relation definition. */
216  private static final InstantiableRelationDefinition<LogPublisherCfgClient, LogPublisherCfg> RD_LOG_PUBLISHERS;
217
218
219
220  /** The "log-retention-policies" relation definition. */
221  private static final InstantiableRelationDefinition<LogRetentionPolicyCfgClient, LogRetentionPolicyCfg> RD_LOG_RETENTION_POLICIES;
222
223
224
225  /** The "log-rotation-policies" relation definition. */
226  private static final InstantiableRelationDefinition<LogRotationPolicyCfgClient, LogRotationPolicyCfg> RD_LOG_ROTATION_POLICIES;
227
228
229
230  /** The "matching-rules" relation definition. */
231  private static final InstantiableRelationDefinition<MatchingRuleCfgClient, MatchingRuleCfg> RD_MATCHING_RULES;
232
233
234
235  /** The "monitor-providers" relation definition. */
236  private static final InstantiableRelationDefinition<MonitorProviderCfgClient, MonitorProviderCfg> RD_MONITOR_PROVIDERS;
237
238
239
240  /** The "password-generators" relation definition. */
241  private static final InstantiableRelationDefinition<PasswordGeneratorCfgClient, PasswordGeneratorCfg> RD_PASSWORD_GENERATORS;
242
243
244
245  /** The "password-policies" relation definition. */
246  private static final InstantiableRelationDefinition<AuthenticationPolicyCfgClient, AuthenticationPolicyCfg> RD_PASSWORD_POLICIES;
247
248
249
250  /** The "password-storage-schemes" relation definition. */
251  private static final InstantiableRelationDefinition<PasswordStorageSchemeCfgClient, PasswordStorageSchemeCfg> RD_PASSWORD_STORAGE_SCHEMES;
252
253
254
255  /** The "password-validators" relation definition. */
256  private static final InstantiableRelationDefinition<PasswordValidatorCfgClient, PasswordValidatorCfg> RD_PASSWORD_VALIDATORS;
257
258
259
260  /** The "plugin-root" relation definition. */
261  private static final SingletonRelationDefinition<PluginRootCfgClient, PluginRootCfg> RD_PLUGIN_ROOT;
262
263
264
265  /** The "root-dn" relation definition. */
266  private static final SingletonRelationDefinition<RootDNCfgClient, RootDNCfg> RD_ROOT_DN;
267
268
269
270  /** The "root-dse-backend" relation definition. */
271  private static final SingletonRelationDefinition<RootDSEBackendCfgClient, RootDSEBackendCfg> RD_ROOT_DSE_BACKEND;
272
273
274
275  /** The "sasl-mechanism-handlers" relation definition. */
276  private static final InstantiableRelationDefinition<SASLMechanismHandlerCfgClient, SASLMechanismHandlerCfg> RD_SASL_MECHANISM_HANDLERS;
277
278
279
280  /** The "schema-providers" relation definition. */
281  private static final InstantiableRelationDefinition<SchemaProviderCfgClient, SchemaProviderCfg> RD_SCHEMA_PROVIDERS;
282
283
284
285  /** The "synchronization-providers" relation definition. */
286  private static final InstantiableRelationDefinition<SynchronizationProviderCfgClient, SynchronizationProviderCfg> RD_SYNCHRONIZATION_PROVIDERS;
287
288
289
290  /** The "trust-manager-providers" relation definition. */
291  private static final InstantiableRelationDefinition<TrustManagerProviderCfgClient, TrustManagerProviderCfg> RD_TRUST_MANAGER_PROVIDERS;
292
293
294
295  /** The "virtual-attributes" relation definition. */
296  private static final InstantiableRelationDefinition<VirtualAttributeCfgClient, VirtualAttributeCfg> RD_VIRTUAL_ATTRIBUTES;
297
298
299
300  /** The "work-queue" relation definition. */
301  private static final SingletonRelationDefinition<WorkQueueCfgClient, WorkQueueCfg> RD_WORK_QUEUE;
302
303
304
305  // Build the "access-control-handler" relation definition.
306  static {
307    SingletonRelationDefinition.Builder<AccessControlHandlerCfgClient, AccessControlHandlerCfg> builder =
308      new SingletonRelationDefinition.Builder<AccessControlHandlerCfgClient, AccessControlHandlerCfg>(INSTANCE, "access-control-handler", AccessControlHandlerCfgDefn.getInstance());
309    RD_ACCESS_CONTROL_HANDLER = builder.getInstance();
310    INSTANCE.registerRelationDefinition(RD_ACCESS_CONTROL_HANDLER);
311  }
312
313
314
315  // Build the "account-status-notification-handlers" relation definition.
316  static {
317    InstantiableRelationDefinition.Builder<AccountStatusNotificationHandlerCfgClient, AccountStatusNotificationHandlerCfg> builder =
318      new InstantiableRelationDefinition.Builder<AccountStatusNotificationHandlerCfgClient, AccountStatusNotificationHandlerCfg>(INSTANCE, "account-status-notification-handler", "account-status-notification-handlers", AccountStatusNotificationHandlerCfgDefn.getInstance());
319    RD_ACCOUNT_STATUS_NOTIFICATION_HANDLERS = builder.getInstance();
320    INSTANCE.registerRelationDefinition(RD_ACCOUNT_STATUS_NOTIFICATION_HANDLERS);
321  }
322
323
324
325  // Build the "administration-connector" relation definition.
326  static {
327    SingletonRelationDefinition.Builder<AdministrationConnectorCfgClient, AdministrationConnectorCfg> builder =
328      new SingletonRelationDefinition.Builder<AdministrationConnectorCfgClient, AdministrationConnectorCfg>(INSTANCE, "administration-connector", AdministrationConnectorCfgDefn.getInstance());
329    RD_ADMINISTRATION_CONNECTOR = builder.getInstance();
330    INSTANCE.registerRelationDefinition(RD_ADMINISTRATION_CONNECTOR);
331  }
332
333
334
335  // Build the "alert-handlers" relation definition.
336  static {
337    InstantiableRelationDefinition.Builder<AlertHandlerCfgClient, AlertHandlerCfg> builder =
338      new InstantiableRelationDefinition.Builder<AlertHandlerCfgClient, AlertHandlerCfg>(INSTANCE, "alert-handler", "alert-handlers", AlertHandlerCfgDefn.getInstance());
339    RD_ALERT_HANDLERS = builder.getInstance();
340    INSTANCE.registerRelationDefinition(RD_ALERT_HANDLERS);
341  }
342
343
344
345  // Build the "attribute-syntaxes" relation definition.
346  static {
347    InstantiableRelationDefinition.Builder<AttributeSyntaxCfgClient, AttributeSyntaxCfg> builder =
348      new InstantiableRelationDefinition.Builder<AttributeSyntaxCfgClient, AttributeSyntaxCfg>(INSTANCE, "attribute-syntax", "attribute-syntaxes", AttributeSyntaxCfgDefn.getInstance());
349    RD_ATTRIBUTE_SYNTAXES = builder.getInstance();
350    INSTANCE.registerRelationDefinition(RD_ATTRIBUTE_SYNTAXES);
351  }
352
353
354
355  // Build the "backends" relation definition.
356  static {
357    InstantiableRelationDefinition.Builder<BackendCfgClient, BackendCfg> builder =
358      new InstantiableRelationDefinition.Builder<BackendCfgClient, BackendCfg>(INSTANCE, "backend", "backends", BackendCfgDefn.getInstance());
359    builder.setNamingProperty(BackendCfgDefn.getInstance().getBackendIdPropertyDefinition());
360    RD_BACKENDS = builder.getInstance();
361    INSTANCE.registerRelationDefinition(RD_BACKENDS);
362  }
363
364
365
366  // Build the "certificate-mappers" relation definition.
367  static {
368    InstantiableRelationDefinition.Builder<CertificateMapperCfgClient, CertificateMapperCfg> builder =
369      new InstantiableRelationDefinition.Builder<CertificateMapperCfgClient, CertificateMapperCfg>(INSTANCE, "certificate-mapper", "certificate-mappers", CertificateMapperCfgDefn.getInstance());
370    RD_CERTIFICATE_MAPPERS = builder.getInstance();
371    INSTANCE.registerRelationDefinition(RD_CERTIFICATE_MAPPERS);
372  }
373
374
375
376  // Build the "connection-handlers" relation definition.
377  static {
378    InstantiableRelationDefinition.Builder<ConnectionHandlerCfgClient, ConnectionHandlerCfg> builder =
379      new InstantiableRelationDefinition.Builder<ConnectionHandlerCfgClient, ConnectionHandlerCfg>(INSTANCE, "connection-handler", "connection-handlers", ConnectionHandlerCfgDefn.getInstance());
380    RD_CONNECTION_HANDLERS = builder.getInstance();
381    INSTANCE.registerRelationDefinition(RD_CONNECTION_HANDLERS);
382  }
383
384
385
386  // Build the "crypto-manager" relation definition.
387  static {
388    SingletonRelationDefinition.Builder<CryptoManagerCfgClient, CryptoManagerCfg> builder =
389      new SingletonRelationDefinition.Builder<CryptoManagerCfgClient, CryptoManagerCfg>(INSTANCE, "crypto-manager", CryptoManagerCfgDefn.getInstance());
390    RD_CRYPTO_MANAGER = builder.getInstance();
391    INSTANCE.registerRelationDefinition(RD_CRYPTO_MANAGER);
392  }
393
394
395
396  // Build the "entry-caches" relation definition.
397  static {
398    InstantiableRelationDefinition.Builder<EntryCacheCfgClient, EntryCacheCfg> builder =
399      new InstantiableRelationDefinition.Builder<EntryCacheCfgClient, EntryCacheCfg>(INSTANCE, "entry-cache", "entry-caches", EntryCacheCfgDefn.getInstance());
400    RD_ENTRY_CACHES = builder.getInstance();
401    INSTANCE.registerRelationDefinition(RD_ENTRY_CACHES);
402  }
403
404
405
406  // Build the "extended-operation-handlers" relation definition.
407  static {
408    InstantiableRelationDefinition.Builder<ExtendedOperationHandlerCfgClient, ExtendedOperationHandlerCfg> builder =
409      new InstantiableRelationDefinition.Builder<ExtendedOperationHandlerCfgClient, ExtendedOperationHandlerCfg>(INSTANCE, "extended-operation-handler", "extended-operation-handlers", ExtendedOperationHandlerCfgDefn.getInstance());
410    RD_EXTENDED_OPERATION_HANDLERS = builder.getInstance();
411    INSTANCE.registerRelationDefinition(RD_EXTENDED_OPERATION_HANDLERS);
412  }
413
414
415
416  // Build the "global-configuration" relation definition.
417  static {
418    SingletonRelationDefinition.Builder<GlobalCfgClient, GlobalCfg> builder =
419      new SingletonRelationDefinition.Builder<GlobalCfgClient, GlobalCfg>(INSTANCE, "global-configuration", GlobalCfgDefn.getInstance());
420    RD_GLOBAL_CONFIGURATION = builder.getInstance();
421    INSTANCE.registerRelationDefinition(RD_GLOBAL_CONFIGURATION);
422  }
423
424
425
426  // Build the "group-implementations" relation definition.
427  static {
428    InstantiableRelationDefinition.Builder<GroupImplementationCfgClient, GroupImplementationCfg> builder =
429      new InstantiableRelationDefinition.Builder<GroupImplementationCfgClient, GroupImplementationCfg>(INSTANCE, "group-implementation", "group-implementations", GroupImplementationCfgDefn.getInstance());
430    RD_GROUP_IMPLEMENTATIONS = builder.getInstance();
431    INSTANCE.registerRelationDefinition(RD_GROUP_IMPLEMENTATIONS);
432  }
433
434
435
436  // Build the "identity-mappers" relation definition.
437  static {
438    InstantiableRelationDefinition.Builder<IdentityMapperCfgClient, IdentityMapperCfg> builder =
439      new InstantiableRelationDefinition.Builder<IdentityMapperCfgClient, IdentityMapperCfg>(INSTANCE, "identity-mapper", "identity-mappers", IdentityMapperCfgDefn.getInstance());
440    RD_IDENTITY_MAPPERS = builder.getInstance();
441    INSTANCE.registerRelationDefinition(RD_IDENTITY_MAPPERS);
442  }
443
444
445
446  // Build the "key-manager-providers" relation definition.
447  static {
448    InstantiableRelationDefinition.Builder<KeyManagerProviderCfgClient, KeyManagerProviderCfg> builder =
449      new InstantiableRelationDefinition.Builder<KeyManagerProviderCfgClient, KeyManagerProviderCfg>(INSTANCE, "key-manager-provider", "key-manager-providers", KeyManagerProviderCfgDefn.getInstance());
450    RD_KEY_MANAGER_PROVIDERS = builder.getInstance();
451    INSTANCE.registerRelationDefinition(RD_KEY_MANAGER_PROVIDERS);
452  }
453
454
455
456  // Build the "log-publishers" relation definition.
457  static {
458    InstantiableRelationDefinition.Builder<LogPublisherCfgClient, LogPublisherCfg> builder =
459      new InstantiableRelationDefinition.Builder<LogPublisherCfgClient, LogPublisherCfg>(INSTANCE, "log-publisher", "log-publishers", LogPublisherCfgDefn.getInstance());
460    RD_LOG_PUBLISHERS = builder.getInstance();
461    INSTANCE.registerRelationDefinition(RD_LOG_PUBLISHERS);
462  }
463
464
465
466  // Build the "log-retention-policies" relation definition.
467  static {
468    InstantiableRelationDefinition.Builder<LogRetentionPolicyCfgClient, LogRetentionPolicyCfg> builder =
469      new InstantiableRelationDefinition.Builder<LogRetentionPolicyCfgClient, LogRetentionPolicyCfg>(INSTANCE, "log-retention-policy", "log-retention-policies", LogRetentionPolicyCfgDefn.getInstance());
470    RD_LOG_RETENTION_POLICIES = builder.getInstance();
471    INSTANCE.registerRelationDefinition(RD_LOG_RETENTION_POLICIES);
472  }
473
474
475
476  // Build the "log-rotation-policies" relation definition.
477  static {
478    InstantiableRelationDefinition.Builder<LogRotationPolicyCfgClient, LogRotationPolicyCfg> builder =
479      new InstantiableRelationDefinition.Builder<LogRotationPolicyCfgClient, LogRotationPolicyCfg>(INSTANCE, "log-rotation-policy", "log-rotation-policies", LogRotationPolicyCfgDefn.getInstance());
480    RD_LOG_ROTATION_POLICIES = builder.getInstance();
481    INSTANCE.registerRelationDefinition(RD_LOG_ROTATION_POLICIES);
482  }
483
484
485
486  // Build the "matching-rules" relation definition.
487  static {
488    InstantiableRelationDefinition.Builder<MatchingRuleCfgClient, MatchingRuleCfg> builder =
489      new InstantiableRelationDefinition.Builder<MatchingRuleCfgClient, MatchingRuleCfg>(INSTANCE, "matching-rule", "matching-rules", MatchingRuleCfgDefn.getInstance());
490    RD_MATCHING_RULES = builder.getInstance();
491    INSTANCE.registerRelationDefinition(RD_MATCHING_RULES);
492  }
493
494
495
496  // Build the "monitor-providers" relation definition.
497  static {
498    InstantiableRelationDefinition.Builder<MonitorProviderCfgClient, MonitorProviderCfg> builder =
499      new InstantiableRelationDefinition.Builder<MonitorProviderCfgClient, MonitorProviderCfg>(INSTANCE, "monitor-provider", "monitor-providers", MonitorProviderCfgDefn.getInstance());
500    RD_MONITOR_PROVIDERS = builder.getInstance();
501    INSTANCE.registerRelationDefinition(RD_MONITOR_PROVIDERS);
502  }
503
504
505
506  // Build the "password-generators" relation definition.
507  static {
508    InstantiableRelationDefinition.Builder<PasswordGeneratorCfgClient, PasswordGeneratorCfg> builder =
509      new InstantiableRelationDefinition.Builder<PasswordGeneratorCfgClient, PasswordGeneratorCfg>(INSTANCE, "password-generator", "password-generators", PasswordGeneratorCfgDefn.getInstance());
510    RD_PASSWORD_GENERATORS = builder.getInstance();
511    INSTANCE.registerRelationDefinition(RD_PASSWORD_GENERATORS);
512  }
513
514
515
516  // Build the "password-policies" relation definition.
517  static {
518    InstantiableRelationDefinition.Builder<AuthenticationPolicyCfgClient, AuthenticationPolicyCfg> builder =
519      new InstantiableRelationDefinition.Builder<AuthenticationPolicyCfgClient, AuthenticationPolicyCfg>(INSTANCE, "password-policy", "password-policies", AuthenticationPolicyCfgDefn.getInstance());
520    RD_PASSWORD_POLICIES = builder.getInstance();
521    INSTANCE.registerRelationDefinition(RD_PASSWORD_POLICIES);
522  }
523
524
525
526  // Build the "password-storage-schemes" relation definition.
527  static {
528    InstantiableRelationDefinition.Builder<PasswordStorageSchemeCfgClient, PasswordStorageSchemeCfg> builder =
529      new InstantiableRelationDefinition.Builder<PasswordStorageSchemeCfgClient, PasswordStorageSchemeCfg>(INSTANCE, "password-storage-scheme", "password-storage-schemes", PasswordStorageSchemeCfgDefn.getInstance());
530    RD_PASSWORD_STORAGE_SCHEMES = builder.getInstance();
531    INSTANCE.registerRelationDefinition(RD_PASSWORD_STORAGE_SCHEMES);
532  }
533
534
535
536  // Build the "password-validators" relation definition.
537  static {
538    InstantiableRelationDefinition.Builder<PasswordValidatorCfgClient, PasswordValidatorCfg> builder =
539      new InstantiableRelationDefinition.Builder<PasswordValidatorCfgClient, PasswordValidatorCfg>(INSTANCE, "password-validator", "password-validators", PasswordValidatorCfgDefn.getInstance());
540    RD_PASSWORD_VALIDATORS = builder.getInstance();
541    INSTANCE.registerRelationDefinition(RD_PASSWORD_VALIDATORS);
542  }
543
544
545
546  // Build the "plugin-root" relation definition.
547  static {
548    SingletonRelationDefinition.Builder<PluginRootCfgClient, PluginRootCfg> builder =
549      new SingletonRelationDefinition.Builder<PluginRootCfgClient, PluginRootCfg>(INSTANCE, "plugin-root", PluginRootCfgDefn.getInstance());
550    RD_PLUGIN_ROOT = builder.getInstance();
551    INSTANCE.registerRelationDefinition(RD_PLUGIN_ROOT);
552  }
553
554
555
556  // Build the "root-dn" relation definition.
557  static {
558    SingletonRelationDefinition.Builder<RootDNCfgClient, RootDNCfg> builder =
559      new SingletonRelationDefinition.Builder<RootDNCfgClient, RootDNCfg>(INSTANCE, "root-dn", RootDNCfgDefn.getInstance());
560    RD_ROOT_DN = builder.getInstance();
561    INSTANCE.registerRelationDefinition(RD_ROOT_DN);
562  }
563
564
565
566  // Build the "root-dse-backend" relation definition.
567  static {
568    SingletonRelationDefinition.Builder<RootDSEBackendCfgClient, RootDSEBackendCfg> builder =
569      new SingletonRelationDefinition.Builder<RootDSEBackendCfgClient, RootDSEBackendCfg>(INSTANCE, "root-dse-backend", RootDSEBackendCfgDefn.getInstance());
570    RD_ROOT_DSE_BACKEND = builder.getInstance();
571    INSTANCE.registerRelationDefinition(RD_ROOT_DSE_BACKEND);
572  }
573
574
575
576  // Build the "sasl-mechanism-handlers" relation definition.
577  static {
578    InstantiableRelationDefinition.Builder<SASLMechanismHandlerCfgClient, SASLMechanismHandlerCfg> builder =
579      new InstantiableRelationDefinition.Builder<SASLMechanismHandlerCfgClient, SASLMechanismHandlerCfg>(INSTANCE, "sasl-mechanism-handler", "sasl-mechanism-handlers", SASLMechanismHandlerCfgDefn.getInstance());
580    RD_SASL_MECHANISM_HANDLERS = builder.getInstance();
581    INSTANCE.registerRelationDefinition(RD_SASL_MECHANISM_HANDLERS);
582  }
583
584
585
586  // Build the "schema-providers" relation definition.
587  static {
588    InstantiableRelationDefinition.Builder<SchemaProviderCfgClient, SchemaProviderCfg> builder =
589      new InstantiableRelationDefinition.Builder<SchemaProviderCfgClient, SchemaProviderCfg>(INSTANCE, "schema-provider", "schema-providers", SchemaProviderCfgDefn.getInstance());
590    RD_SCHEMA_PROVIDERS = builder.getInstance();
591    INSTANCE.registerRelationDefinition(RD_SCHEMA_PROVIDERS);
592  }
593
594
595
596  // Build the "synchronization-providers" relation definition.
597  static {
598    InstantiableRelationDefinition.Builder<SynchronizationProviderCfgClient, SynchronizationProviderCfg> builder =
599      new InstantiableRelationDefinition.Builder<SynchronizationProviderCfgClient, SynchronizationProviderCfg>(INSTANCE, "synchronization-provider", "synchronization-providers", SynchronizationProviderCfgDefn.getInstance());
600    RD_SYNCHRONIZATION_PROVIDERS = builder.getInstance();
601    INSTANCE.registerRelationDefinition(RD_SYNCHRONIZATION_PROVIDERS);
602  }
603
604
605
606  // Build the "trust-manager-providers" relation definition.
607  static {
608    InstantiableRelationDefinition.Builder<TrustManagerProviderCfgClient, TrustManagerProviderCfg> builder =
609      new InstantiableRelationDefinition.Builder<TrustManagerProviderCfgClient, TrustManagerProviderCfg>(INSTANCE, "trust-manager-provider", "trust-manager-providers", TrustManagerProviderCfgDefn.getInstance());
610    RD_TRUST_MANAGER_PROVIDERS = builder.getInstance();
611    INSTANCE.registerRelationDefinition(RD_TRUST_MANAGER_PROVIDERS);
612  }
613
614
615
616  // Build the "virtual-attributes" relation definition.
617  static {
618    InstantiableRelationDefinition.Builder<VirtualAttributeCfgClient, VirtualAttributeCfg> builder =
619      new InstantiableRelationDefinition.Builder<VirtualAttributeCfgClient, VirtualAttributeCfg>(INSTANCE, "virtual-attribute", "virtual-attributes", VirtualAttributeCfgDefn.getInstance());
620    RD_VIRTUAL_ATTRIBUTES = builder.getInstance();
621    INSTANCE.registerRelationDefinition(RD_VIRTUAL_ATTRIBUTES);
622  }
623
624
625
626  // Build the "work-queue" relation definition.
627  static {
628    SingletonRelationDefinition.Builder<WorkQueueCfgClient, WorkQueueCfg> builder =
629      new SingletonRelationDefinition.Builder<WorkQueueCfgClient, WorkQueueCfg>(INSTANCE, "work-queue", WorkQueueCfgDefn.getInstance());
630    RD_WORK_QUEUE = builder.getInstance();
631    INSTANCE.registerRelationDefinition(RD_WORK_QUEUE);
632  }
633
634
635
636  /**
637   * Get the Root configuration definition singleton.
638   *
639   * @return Returns the Root configuration definition singleton.
640   */
641  public static RootCfgDefn getInstance() {
642    return INSTANCE;
643  }
644
645
646
647  /**
648   * Private constructor.
649   */
650  private RootCfgDefn() {
651    super("", TopCfgDefn.getInstance());
652  }
653
654
655
656  /** {@inheritDoc} */
657  public RootCfgClient createClientConfiguration(
658      ManagedObject<? extends RootCfgClient> impl) {
659    return new RootCfgClientImpl(impl);
660  }
661
662
663
664  /** {@inheritDoc} */
665  public RootCfg createServerConfiguration(
666      ServerManagedObject<? extends RootCfg> impl) {
667    return new RootCfgServerImpl(impl);
668  }
669
670
671
672  /** {@inheritDoc} */
673  public Class<RootCfg> getServerConfigurationClass() {
674    return RootCfg.class;
675  }
676
677
678
679  /**
680   * Get the "access-control-handler" relation definition.
681   *
682   * @return Returns the "access-control-handler" relation definition.
683   */
684  public SingletonRelationDefinition<AccessControlHandlerCfgClient,AccessControlHandlerCfg> getAccessControlHandlerRelationDefinition() {
685    return RD_ACCESS_CONTROL_HANDLER;
686  }
687
688
689
690  /**
691   * Get the "account-status-notification-handlers" relation definition.
692   *
693   * @return Returns the "account-status-notification-handlers" relation definition.
694   */
695  public InstantiableRelationDefinition<AccountStatusNotificationHandlerCfgClient,AccountStatusNotificationHandlerCfg> getAccountStatusNotificationHandlersRelationDefinition() {
696    return RD_ACCOUNT_STATUS_NOTIFICATION_HANDLERS;
697  }
698
699
700
701  /**
702   * Get the "administration-connector" relation definition.
703   *
704   * @return Returns the "administration-connector" relation definition.
705   */
706  public SingletonRelationDefinition<AdministrationConnectorCfgClient,AdministrationConnectorCfg> getAdministrationConnectorRelationDefinition() {
707    return RD_ADMINISTRATION_CONNECTOR;
708  }
709
710
711
712  /**
713   * Get the "alert-handlers" relation definition.
714   *
715   * @return Returns the "alert-handlers" relation definition.
716   */
717  public InstantiableRelationDefinition<AlertHandlerCfgClient,AlertHandlerCfg> getAlertHandlersRelationDefinition() {
718    return RD_ALERT_HANDLERS;
719  }
720
721
722
723  /**
724   * Get the "attribute-syntaxes" relation definition.
725   *
726   * @return Returns the "attribute-syntaxes" relation definition.
727   */
728  public InstantiableRelationDefinition<AttributeSyntaxCfgClient,AttributeSyntaxCfg> getAttributeSyntaxesRelationDefinition() {
729    return RD_ATTRIBUTE_SYNTAXES;
730  }
731
732
733
734  /**
735   * Get the "backends" relation definition.
736   *
737   * @return Returns the "backends" relation definition.
738   */
739  public InstantiableRelationDefinition<BackendCfgClient,BackendCfg> getBackendsRelationDefinition() {
740    return RD_BACKENDS;
741  }
742
743
744
745  /**
746   * Get the "certificate-mappers" relation definition.
747   *
748   * @return Returns the "certificate-mappers" relation definition.
749   */
750  public InstantiableRelationDefinition<CertificateMapperCfgClient,CertificateMapperCfg> getCertificateMappersRelationDefinition() {
751    return RD_CERTIFICATE_MAPPERS;
752  }
753
754
755
756  /**
757   * Get the "connection-handlers" relation definition.
758   *
759   * @return Returns the "connection-handlers" relation definition.
760   */
761  public InstantiableRelationDefinition<ConnectionHandlerCfgClient,ConnectionHandlerCfg> getConnectionHandlersRelationDefinition() {
762    return RD_CONNECTION_HANDLERS;
763  }
764
765
766
767  /**
768   * Get the "crypto-manager" relation definition.
769   *
770   * @return Returns the "crypto-manager" relation definition.
771   */
772  public SingletonRelationDefinition<CryptoManagerCfgClient,CryptoManagerCfg> getCryptoManagerRelationDefinition() {
773    return RD_CRYPTO_MANAGER;
774  }
775
776
777
778  /**
779   * Get the "entry-caches" relation definition.
780   *
781   * @return Returns the "entry-caches" relation definition.
782   */
783  public InstantiableRelationDefinition<EntryCacheCfgClient,EntryCacheCfg> getEntryCachesRelationDefinition() {
784    return RD_ENTRY_CACHES;
785  }
786
787
788
789  /**
790   * Get the "extended-operation-handlers" relation definition.
791   *
792   * @return Returns the "extended-operation-handlers" relation definition.
793   */
794  public InstantiableRelationDefinition<ExtendedOperationHandlerCfgClient,ExtendedOperationHandlerCfg> getExtendedOperationHandlersRelationDefinition() {
795    return RD_EXTENDED_OPERATION_HANDLERS;
796  }
797
798
799
800  /**
801   * Get the "global-configuration" relation definition.
802   *
803   * @return Returns the "global-configuration" relation definition.
804   */
805  public SingletonRelationDefinition<GlobalCfgClient,GlobalCfg> getGlobalConfigurationRelationDefinition() {
806    return RD_GLOBAL_CONFIGURATION;
807  }
808
809
810
811  /**
812   * Get the "group-implementations" relation definition.
813   *
814   * @return Returns the "group-implementations" relation definition.
815   */
816  public InstantiableRelationDefinition<GroupImplementationCfgClient,GroupImplementationCfg> getGroupImplementationsRelationDefinition() {
817    return RD_GROUP_IMPLEMENTATIONS;
818  }
819
820
821
822  /**
823   * Get the "identity-mappers" relation definition.
824   *
825   * @return Returns the "identity-mappers" relation definition.
826   */
827  public InstantiableRelationDefinition<IdentityMapperCfgClient,IdentityMapperCfg> getIdentityMappersRelationDefinition() {
828    return RD_IDENTITY_MAPPERS;
829  }
830
831
832
833  /**
834   * Get the "key-manager-providers" relation definition.
835   *
836   * @return Returns the "key-manager-providers" relation definition.
837   */
838  public InstantiableRelationDefinition<KeyManagerProviderCfgClient,KeyManagerProviderCfg> getKeyManagerProvidersRelationDefinition() {
839    return RD_KEY_MANAGER_PROVIDERS;
840  }
841
842
843
844  /**
845   * Get the "log-publishers" relation definition.
846   *
847   * @return Returns the "log-publishers" relation definition.
848   */
849  public InstantiableRelationDefinition<LogPublisherCfgClient,LogPublisherCfg> getLogPublishersRelationDefinition() {
850    return RD_LOG_PUBLISHERS;
851  }
852
853
854
855  /**
856   * Get the "log-retention-policies" relation definition.
857   *
858   * @return Returns the "log-retention-policies" relation definition.
859   */
860  public InstantiableRelationDefinition<LogRetentionPolicyCfgClient,LogRetentionPolicyCfg> getLogRetentionPoliciesRelationDefinition() {
861    return RD_LOG_RETENTION_POLICIES;
862  }
863
864
865
866  /**
867   * Get the "log-rotation-policies" relation definition.
868   *
869   * @return Returns the "log-rotation-policies" relation definition.
870   */
871  public InstantiableRelationDefinition<LogRotationPolicyCfgClient,LogRotationPolicyCfg> getLogRotationPoliciesRelationDefinition() {
872    return RD_LOG_ROTATION_POLICIES;
873  }
874
875
876
877  /**
878   * Get the "matching-rules" relation definition.
879   *
880   * @return Returns the "matching-rules" relation definition.
881   */
882  public InstantiableRelationDefinition<MatchingRuleCfgClient,MatchingRuleCfg> getMatchingRulesRelationDefinition() {
883    return RD_MATCHING_RULES;
884  }
885
886
887
888  /**
889   * Get the "monitor-providers" relation definition.
890   *
891   * @return Returns the "monitor-providers" relation definition.
892   */
893  public InstantiableRelationDefinition<MonitorProviderCfgClient,MonitorProviderCfg> getMonitorProvidersRelationDefinition() {
894    return RD_MONITOR_PROVIDERS;
895  }
896
897
898
899  /**
900   * Get the "password-generators" relation definition.
901   *
902   * @return Returns the "password-generators" relation definition.
903   */
904  public InstantiableRelationDefinition<PasswordGeneratorCfgClient,PasswordGeneratorCfg> getPasswordGeneratorsRelationDefinition() {
905    return RD_PASSWORD_GENERATORS;
906  }
907
908
909
910  /**
911   * Get the "password-policies" relation definition.
912   *
913   * @return Returns the "password-policies" relation definition.
914   */
915  public InstantiableRelationDefinition<AuthenticationPolicyCfgClient,AuthenticationPolicyCfg> getPasswordPoliciesRelationDefinition() {
916    return RD_PASSWORD_POLICIES;
917  }
918
919
920
921  /**
922   * Get the "password-storage-schemes" relation definition.
923   *
924   * @return Returns the "password-storage-schemes" relation definition.
925   */
926  public InstantiableRelationDefinition<PasswordStorageSchemeCfgClient,PasswordStorageSchemeCfg> getPasswordStorageSchemesRelationDefinition() {
927    return RD_PASSWORD_STORAGE_SCHEMES;
928  }
929
930
931
932  /**
933   * Get the "password-validators" relation definition.
934   *
935   * @return Returns the "password-validators" relation definition.
936   */
937  public InstantiableRelationDefinition<PasswordValidatorCfgClient,PasswordValidatorCfg> getPasswordValidatorsRelationDefinition() {
938    return RD_PASSWORD_VALIDATORS;
939  }
940
941
942
943  /**
944   * Get the "plugin-root" relation definition.
945   *
946   * @return Returns the "plugin-root" relation definition.
947   */
948  public SingletonRelationDefinition<PluginRootCfgClient,PluginRootCfg> getPluginRootRelationDefinition() {
949    return RD_PLUGIN_ROOT;
950  }
951
952
953
954  /**
955   * Get the "root-dn" relation definition.
956   *
957   * @return Returns the "root-dn" relation definition.
958   */
959  public SingletonRelationDefinition<RootDNCfgClient,RootDNCfg> getRootDNRelationDefinition() {
960    return RD_ROOT_DN;
961  }
962
963
964
965  /**
966   * Get the "root-dse-backend" relation definition.
967   *
968   * @return Returns the "root-dse-backend" relation definition.
969   */
970  public SingletonRelationDefinition<RootDSEBackendCfgClient,RootDSEBackendCfg> getRootDSEBackendRelationDefinition() {
971    return RD_ROOT_DSE_BACKEND;
972  }
973
974
975
976  /**
977   * Get the "sasl-mechanism-handlers" relation definition.
978   *
979   * @return Returns the "sasl-mechanism-handlers" relation definition.
980   */
981  public InstantiableRelationDefinition<SASLMechanismHandlerCfgClient,SASLMechanismHandlerCfg> getSASLMechanismHandlersRelationDefinition() {
982    return RD_SASL_MECHANISM_HANDLERS;
983  }
984
985
986
987  /**
988   * Get the "schema-providers" relation definition.
989   *
990   * @return Returns the "schema-providers" relation definition.
991   */
992  public InstantiableRelationDefinition<SchemaProviderCfgClient,SchemaProviderCfg> getSchemaProvidersRelationDefinition() {
993    return RD_SCHEMA_PROVIDERS;
994  }
995
996
997
998  /**
999   * Get the "synchronization-providers" relation definition.
1000   *
1001   * @return Returns the "synchronization-providers" relation definition.
1002   */
1003  public InstantiableRelationDefinition<SynchronizationProviderCfgClient,SynchronizationProviderCfg> getSynchronizationProvidersRelationDefinition() {
1004    return RD_SYNCHRONIZATION_PROVIDERS;
1005  }
1006
1007
1008
1009  /**
1010   * Get the "trust-manager-providers" relation definition.
1011   *
1012   * @return Returns the "trust-manager-providers" relation definition.
1013   */
1014  public InstantiableRelationDefinition<TrustManagerProviderCfgClient,TrustManagerProviderCfg> getTrustManagerProvidersRelationDefinition() {
1015    return RD_TRUST_MANAGER_PROVIDERS;
1016  }
1017
1018
1019
1020  /**
1021   * Get the "virtual-attributes" relation definition.
1022   *
1023   * @return Returns the "virtual-attributes" relation definition.
1024   */
1025  public InstantiableRelationDefinition<VirtualAttributeCfgClient,VirtualAttributeCfg> getVirtualAttributesRelationDefinition() {
1026    return RD_VIRTUAL_ATTRIBUTES;
1027  }
1028
1029
1030
1031  /**
1032   * Get the "work-queue" relation definition.
1033   *
1034   * @return Returns the "work-queue" relation definition.
1035   */
1036  public SingletonRelationDefinition<WorkQueueCfgClient,WorkQueueCfg> getWorkQueueRelationDefinition() {
1037    return RD_WORK_QUEUE;
1038  }
1039
1040
1041
1042  /**
1043   * Managed object client implementation.
1044   */
1045  private static class RootCfgClientImpl implements
1046    RootCfgClient {
1047
1048    /** Private implementation. */
1049    private ManagedObject<? extends RootCfgClient> impl;
1050
1051
1052
1053    /** Private constructor. */
1054    private RootCfgClientImpl(
1055        ManagedObject<? extends RootCfgClient> impl) {
1056      this.impl = impl;
1057    }
1058
1059
1060
1061    /** {@inheritDoc} */
1062    public AccessControlHandlerCfgClient getAccessControlHandler()
1063        throws DefinitionDecodingException, ManagedObjectDecodingException,
1064        ManagedObjectNotFoundException, ConcurrentModificationException,
1065        LdapException {
1066      return impl.getChild(INSTANCE.getAccessControlHandlerRelationDefinition()).getConfiguration();
1067    }
1068
1069
1070
1071    /** {@inheritDoc} */
1072    public String[] listAccountStatusNotificationHandlers() throws ConcurrentModificationException,
1073        LdapException {
1074      return impl.listChildren(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition());
1075    }
1076
1077
1078
1079    /** {@inheritDoc} */
1080    public AccountStatusNotificationHandlerCfgClient getAccountStatusNotificationHandler(String name)
1081        throws DefinitionDecodingException, ManagedObjectDecodingException,
1082        ManagedObjectNotFoundException, ConcurrentModificationException,
1083        LdapException {
1084      return impl.getChild(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), name).getConfiguration();
1085    }
1086
1087
1088
1089    /** {@inheritDoc} */
1090    public <M extends AccountStatusNotificationHandlerCfgClient> M createAccountStatusNotificationHandler(
1091        ManagedObjectDefinition<M, ? extends AccountStatusNotificationHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1092      return impl.createChild(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), d, name, exceptions).getConfiguration();
1093    }
1094
1095
1096
1097    /** {@inheritDoc} */
1098    public void removeAccountStatusNotificationHandler(String name)
1099        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1100        OperationRejectedException, LdapException {
1101      impl.removeChild(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), name);
1102    }
1103
1104
1105
1106    /** {@inheritDoc} */
1107    public AdministrationConnectorCfgClient getAdministrationConnector()
1108        throws DefinitionDecodingException, ManagedObjectDecodingException,
1109        ManagedObjectNotFoundException, ConcurrentModificationException,
1110        LdapException {
1111      return impl.getChild(INSTANCE.getAdministrationConnectorRelationDefinition()).getConfiguration();
1112    }
1113
1114
1115
1116    /** {@inheritDoc} */
1117    public String[] listAlertHandlers() throws ConcurrentModificationException,
1118        LdapException {
1119      return impl.listChildren(INSTANCE.getAlertHandlersRelationDefinition());
1120    }
1121
1122
1123
1124    /** {@inheritDoc} */
1125    public AlertHandlerCfgClient getAlertHandler(String name)
1126        throws DefinitionDecodingException, ManagedObjectDecodingException,
1127        ManagedObjectNotFoundException, ConcurrentModificationException,
1128        LdapException {
1129      return impl.getChild(INSTANCE.getAlertHandlersRelationDefinition(), name).getConfiguration();
1130    }
1131
1132
1133
1134    /** {@inheritDoc} */
1135    public <M extends AlertHandlerCfgClient> M createAlertHandler(
1136        ManagedObjectDefinition<M, ? extends AlertHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1137      return impl.createChild(INSTANCE.getAlertHandlersRelationDefinition(), d, name, exceptions).getConfiguration();
1138    }
1139
1140
1141
1142    /** {@inheritDoc} */
1143    public void removeAlertHandler(String name)
1144        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1145        OperationRejectedException, LdapException {
1146      impl.removeChild(INSTANCE.getAlertHandlersRelationDefinition(), name);
1147    }
1148
1149
1150
1151    /** {@inheritDoc} */
1152    public String[] listAttributeSyntaxes() throws ConcurrentModificationException,
1153        LdapException {
1154      return impl.listChildren(INSTANCE.getAttributeSyntaxesRelationDefinition());
1155    }
1156
1157
1158
1159    /** {@inheritDoc} */
1160    public AttributeSyntaxCfgClient getAttributeSyntax(String name)
1161        throws DefinitionDecodingException, ManagedObjectDecodingException,
1162        ManagedObjectNotFoundException, ConcurrentModificationException,
1163        LdapException {
1164      return impl.getChild(INSTANCE.getAttributeSyntaxesRelationDefinition(), name).getConfiguration();
1165    }
1166
1167
1168
1169    /** {@inheritDoc} */
1170    public <M extends AttributeSyntaxCfgClient> M createAttributeSyntax(
1171        ManagedObjectDefinition<M, ? extends AttributeSyntaxCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1172      return impl.createChild(INSTANCE.getAttributeSyntaxesRelationDefinition(), d, name, exceptions).getConfiguration();
1173    }
1174
1175
1176
1177    /** {@inheritDoc} */
1178    public void removeAttributeSyntax(String name)
1179        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1180        OperationRejectedException, LdapException {
1181      impl.removeChild(INSTANCE.getAttributeSyntaxesRelationDefinition(), name);
1182    }
1183
1184
1185
1186    /** {@inheritDoc} */
1187    public String[] listBackends() throws ConcurrentModificationException,
1188        LdapException {
1189      return impl.listChildren(INSTANCE.getBackendsRelationDefinition());
1190    }
1191
1192
1193
1194    /** {@inheritDoc} */
1195    public BackendCfgClient getBackend(String name)
1196        throws DefinitionDecodingException, ManagedObjectDecodingException,
1197        ManagedObjectNotFoundException, ConcurrentModificationException,
1198        LdapException {
1199      return impl.getChild(INSTANCE.getBackendsRelationDefinition(), name).getConfiguration();
1200    }
1201
1202
1203
1204    /** {@inheritDoc} */
1205    public <M extends BackendCfgClient> M createBackend(
1206        ManagedObjectDefinition<M, ? extends BackendCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1207      return impl.createChild(INSTANCE.getBackendsRelationDefinition(), d, name, exceptions).getConfiguration();
1208    }
1209
1210
1211
1212    /** {@inheritDoc} */
1213    public void removeBackend(String name)
1214        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1215        OperationRejectedException, LdapException {
1216      impl.removeChild(INSTANCE.getBackendsRelationDefinition(), name);
1217    }
1218
1219
1220
1221    /** {@inheritDoc} */
1222    public String[] listCertificateMappers() throws ConcurrentModificationException,
1223        LdapException {
1224      return impl.listChildren(INSTANCE.getCertificateMappersRelationDefinition());
1225    }
1226
1227
1228
1229    /** {@inheritDoc} */
1230    public CertificateMapperCfgClient getCertificateMapper(String name)
1231        throws DefinitionDecodingException, ManagedObjectDecodingException,
1232        ManagedObjectNotFoundException, ConcurrentModificationException,
1233        LdapException {
1234      return impl.getChild(INSTANCE.getCertificateMappersRelationDefinition(), name).getConfiguration();
1235    }
1236
1237
1238
1239    /** {@inheritDoc} */
1240    public <M extends CertificateMapperCfgClient> M createCertificateMapper(
1241        ManagedObjectDefinition<M, ? extends CertificateMapperCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1242      return impl.createChild(INSTANCE.getCertificateMappersRelationDefinition(), d, name, exceptions).getConfiguration();
1243    }
1244
1245
1246
1247    /** {@inheritDoc} */
1248    public void removeCertificateMapper(String name)
1249        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1250        OperationRejectedException, LdapException {
1251      impl.removeChild(INSTANCE.getCertificateMappersRelationDefinition(), name);
1252    }
1253
1254
1255
1256    /** {@inheritDoc} */
1257    public String[] listConnectionHandlers() throws ConcurrentModificationException,
1258        LdapException {
1259      return impl.listChildren(INSTANCE.getConnectionHandlersRelationDefinition());
1260    }
1261
1262
1263
1264    /** {@inheritDoc} */
1265    public ConnectionHandlerCfgClient getConnectionHandler(String name)
1266        throws DefinitionDecodingException, ManagedObjectDecodingException,
1267        ManagedObjectNotFoundException, ConcurrentModificationException,
1268        LdapException {
1269      return impl.getChild(INSTANCE.getConnectionHandlersRelationDefinition(), name).getConfiguration();
1270    }
1271
1272
1273
1274    /** {@inheritDoc} */
1275    public <M extends ConnectionHandlerCfgClient> M createConnectionHandler(
1276        ManagedObjectDefinition<M, ? extends ConnectionHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1277      return impl.createChild(INSTANCE.getConnectionHandlersRelationDefinition(), d, name, exceptions).getConfiguration();
1278    }
1279
1280
1281
1282    /** {@inheritDoc} */
1283    public void removeConnectionHandler(String name)
1284        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1285        OperationRejectedException, LdapException {
1286      impl.removeChild(INSTANCE.getConnectionHandlersRelationDefinition(), name);
1287    }
1288
1289
1290
1291    /** {@inheritDoc} */
1292    public CryptoManagerCfgClient getCryptoManager()
1293        throws DefinitionDecodingException, ManagedObjectDecodingException,
1294        ManagedObjectNotFoundException, ConcurrentModificationException,
1295        LdapException {
1296      return impl.getChild(INSTANCE.getCryptoManagerRelationDefinition()).getConfiguration();
1297    }
1298
1299
1300
1301    /** {@inheritDoc} */
1302    public String[] listEntryCaches() throws ConcurrentModificationException,
1303        LdapException {
1304      return impl.listChildren(INSTANCE.getEntryCachesRelationDefinition());
1305    }
1306
1307
1308
1309    /** {@inheritDoc} */
1310    public EntryCacheCfgClient getEntryCache(String name)
1311        throws DefinitionDecodingException, ManagedObjectDecodingException,
1312        ManagedObjectNotFoundException, ConcurrentModificationException,
1313        LdapException {
1314      return impl.getChild(INSTANCE.getEntryCachesRelationDefinition(), name).getConfiguration();
1315    }
1316
1317
1318
1319    /** {@inheritDoc} */
1320    public <M extends EntryCacheCfgClient> M createEntryCache(
1321        ManagedObjectDefinition<M, ? extends EntryCacheCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1322      return impl.createChild(INSTANCE.getEntryCachesRelationDefinition(), d, name, exceptions).getConfiguration();
1323    }
1324
1325
1326
1327    /** {@inheritDoc} */
1328    public void removeEntryCache(String name)
1329        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1330        OperationRejectedException, LdapException {
1331      impl.removeChild(INSTANCE.getEntryCachesRelationDefinition(), name);
1332    }
1333
1334
1335
1336    /** {@inheritDoc} */
1337    public String[] listExtendedOperationHandlers() throws ConcurrentModificationException,
1338        LdapException {
1339      return impl.listChildren(INSTANCE.getExtendedOperationHandlersRelationDefinition());
1340    }
1341
1342
1343
1344    /** {@inheritDoc} */
1345    public ExtendedOperationHandlerCfgClient getExtendedOperationHandler(String name)
1346        throws DefinitionDecodingException, ManagedObjectDecodingException,
1347        ManagedObjectNotFoundException, ConcurrentModificationException,
1348        LdapException {
1349      return impl.getChild(INSTANCE.getExtendedOperationHandlersRelationDefinition(), name).getConfiguration();
1350    }
1351
1352
1353
1354    /** {@inheritDoc} */
1355    public <M extends ExtendedOperationHandlerCfgClient> M createExtendedOperationHandler(
1356        ManagedObjectDefinition<M, ? extends ExtendedOperationHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1357      return impl.createChild(INSTANCE.getExtendedOperationHandlersRelationDefinition(), d, name, exceptions).getConfiguration();
1358    }
1359
1360
1361
1362    /** {@inheritDoc} */
1363    public void removeExtendedOperationHandler(String name)
1364        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1365        OperationRejectedException, LdapException {
1366      impl.removeChild(INSTANCE.getExtendedOperationHandlersRelationDefinition(), name);
1367    }
1368
1369
1370
1371    /** {@inheritDoc} */
1372    public GlobalCfgClient getGlobalConfiguration()
1373        throws DefinitionDecodingException, ManagedObjectDecodingException,
1374        ManagedObjectNotFoundException, ConcurrentModificationException,
1375        LdapException {
1376      return impl.getChild(INSTANCE.getGlobalConfigurationRelationDefinition()).getConfiguration();
1377    }
1378
1379
1380
1381    /** {@inheritDoc} */
1382    public String[] listGroupImplementations() throws ConcurrentModificationException,
1383        LdapException {
1384      return impl.listChildren(INSTANCE.getGroupImplementationsRelationDefinition());
1385    }
1386
1387
1388
1389    /** {@inheritDoc} */
1390    public GroupImplementationCfgClient getGroupImplementation(String name)
1391        throws DefinitionDecodingException, ManagedObjectDecodingException,
1392        ManagedObjectNotFoundException, ConcurrentModificationException,
1393        LdapException {
1394      return impl.getChild(INSTANCE.getGroupImplementationsRelationDefinition(), name).getConfiguration();
1395    }
1396
1397
1398
1399    /** {@inheritDoc} */
1400    public <M extends GroupImplementationCfgClient> M createGroupImplementation(
1401        ManagedObjectDefinition<M, ? extends GroupImplementationCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1402      return impl.createChild(INSTANCE.getGroupImplementationsRelationDefinition(), d, name, exceptions).getConfiguration();
1403    }
1404
1405
1406
1407    /** {@inheritDoc} */
1408    public void removeGroupImplementation(String name)
1409        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1410        OperationRejectedException, LdapException {
1411      impl.removeChild(INSTANCE.getGroupImplementationsRelationDefinition(), name);
1412    }
1413
1414
1415
1416    /** {@inheritDoc} */
1417    public String[] listIdentityMappers() throws ConcurrentModificationException,
1418        LdapException {
1419      return impl.listChildren(INSTANCE.getIdentityMappersRelationDefinition());
1420    }
1421
1422
1423
1424    /** {@inheritDoc} */
1425    public IdentityMapperCfgClient getIdentityMapper(String name)
1426        throws DefinitionDecodingException, ManagedObjectDecodingException,
1427        ManagedObjectNotFoundException, ConcurrentModificationException,
1428        LdapException {
1429      return impl.getChild(INSTANCE.getIdentityMappersRelationDefinition(), name).getConfiguration();
1430    }
1431
1432
1433
1434    /** {@inheritDoc} */
1435    public <M extends IdentityMapperCfgClient> M createIdentityMapper(
1436        ManagedObjectDefinition<M, ? extends IdentityMapperCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1437      return impl.createChild(INSTANCE.getIdentityMappersRelationDefinition(), d, name, exceptions).getConfiguration();
1438    }
1439
1440
1441
1442    /** {@inheritDoc} */
1443    public void removeIdentityMapper(String name)
1444        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1445        OperationRejectedException, LdapException {
1446      impl.removeChild(INSTANCE.getIdentityMappersRelationDefinition(), name);
1447    }
1448
1449
1450
1451    /** {@inheritDoc} */
1452    public String[] listKeyManagerProviders() throws ConcurrentModificationException,
1453        LdapException {
1454      return impl.listChildren(INSTANCE.getKeyManagerProvidersRelationDefinition());
1455    }
1456
1457
1458
1459    /** {@inheritDoc} */
1460    public KeyManagerProviderCfgClient getKeyManagerProvider(String name)
1461        throws DefinitionDecodingException, ManagedObjectDecodingException,
1462        ManagedObjectNotFoundException, ConcurrentModificationException,
1463        LdapException {
1464      return impl.getChild(INSTANCE.getKeyManagerProvidersRelationDefinition(), name).getConfiguration();
1465    }
1466
1467
1468
1469    /** {@inheritDoc} */
1470    public <M extends KeyManagerProviderCfgClient> M createKeyManagerProvider(
1471        ManagedObjectDefinition<M, ? extends KeyManagerProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1472      return impl.createChild(INSTANCE.getKeyManagerProvidersRelationDefinition(), d, name, exceptions).getConfiguration();
1473    }
1474
1475
1476
1477    /** {@inheritDoc} */
1478    public void removeKeyManagerProvider(String name)
1479        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1480        OperationRejectedException, LdapException {
1481      impl.removeChild(INSTANCE.getKeyManagerProvidersRelationDefinition(), name);
1482    }
1483
1484
1485
1486    /** {@inheritDoc} */
1487    public String[] listLogPublishers() throws ConcurrentModificationException,
1488        LdapException {
1489      return impl.listChildren(INSTANCE.getLogPublishersRelationDefinition());
1490    }
1491
1492
1493
1494    /** {@inheritDoc} */
1495    public LogPublisherCfgClient getLogPublisher(String name)
1496        throws DefinitionDecodingException, ManagedObjectDecodingException,
1497        ManagedObjectNotFoundException, ConcurrentModificationException,
1498        LdapException {
1499      return impl.getChild(INSTANCE.getLogPublishersRelationDefinition(), name).getConfiguration();
1500    }
1501
1502
1503
1504    /** {@inheritDoc} */
1505    public <M extends LogPublisherCfgClient> M createLogPublisher(
1506        ManagedObjectDefinition<M, ? extends LogPublisherCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1507      return impl.createChild(INSTANCE.getLogPublishersRelationDefinition(), d, name, exceptions).getConfiguration();
1508    }
1509
1510
1511
1512    /** {@inheritDoc} */
1513    public void removeLogPublisher(String name)
1514        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1515        OperationRejectedException, LdapException {
1516      impl.removeChild(INSTANCE.getLogPublishersRelationDefinition(), name);
1517    }
1518
1519
1520
1521    /** {@inheritDoc} */
1522    public String[] listLogRetentionPolicies() throws ConcurrentModificationException,
1523        LdapException {
1524      return impl.listChildren(INSTANCE.getLogRetentionPoliciesRelationDefinition());
1525    }
1526
1527
1528
1529    /** {@inheritDoc} */
1530    public LogRetentionPolicyCfgClient getLogRetentionPolicy(String name)
1531        throws DefinitionDecodingException, ManagedObjectDecodingException,
1532        ManagedObjectNotFoundException, ConcurrentModificationException,
1533        LdapException {
1534      return impl.getChild(INSTANCE.getLogRetentionPoliciesRelationDefinition(), name).getConfiguration();
1535    }
1536
1537
1538
1539    /** {@inheritDoc} */
1540    public <M extends LogRetentionPolicyCfgClient> M createLogRetentionPolicy(
1541        ManagedObjectDefinition<M, ? extends LogRetentionPolicyCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1542      return impl.createChild(INSTANCE.getLogRetentionPoliciesRelationDefinition(), d, name, exceptions).getConfiguration();
1543    }
1544
1545
1546
1547    /** {@inheritDoc} */
1548    public void removeLogRetentionPolicy(String name)
1549        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1550        OperationRejectedException, LdapException {
1551      impl.removeChild(INSTANCE.getLogRetentionPoliciesRelationDefinition(), name);
1552    }
1553
1554
1555
1556    /** {@inheritDoc} */
1557    public String[] listLogRotationPolicies() throws ConcurrentModificationException,
1558        LdapException {
1559      return impl.listChildren(INSTANCE.getLogRotationPoliciesRelationDefinition());
1560    }
1561
1562
1563
1564    /** {@inheritDoc} */
1565    public LogRotationPolicyCfgClient getLogRotationPolicy(String name)
1566        throws DefinitionDecodingException, ManagedObjectDecodingException,
1567        ManagedObjectNotFoundException, ConcurrentModificationException,
1568        LdapException {
1569      return impl.getChild(INSTANCE.getLogRotationPoliciesRelationDefinition(), name).getConfiguration();
1570    }
1571
1572
1573
1574    /** {@inheritDoc} */
1575    public <M extends LogRotationPolicyCfgClient> M createLogRotationPolicy(
1576        ManagedObjectDefinition<M, ? extends LogRotationPolicyCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1577      return impl.createChild(INSTANCE.getLogRotationPoliciesRelationDefinition(), d, name, exceptions).getConfiguration();
1578    }
1579
1580
1581
1582    /** {@inheritDoc} */
1583    public void removeLogRotationPolicy(String name)
1584        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1585        OperationRejectedException, LdapException {
1586      impl.removeChild(INSTANCE.getLogRotationPoliciesRelationDefinition(), name);
1587    }
1588
1589
1590
1591    /** {@inheritDoc} */
1592    public String[] listMatchingRules() throws ConcurrentModificationException,
1593        LdapException {
1594      return impl.listChildren(INSTANCE.getMatchingRulesRelationDefinition());
1595    }
1596
1597
1598
1599    /** {@inheritDoc} */
1600    public MatchingRuleCfgClient getMatchingRule(String name)
1601        throws DefinitionDecodingException, ManagedObjectDecodingException,
1602        ManagedObjectNotFoundException, ConcurrentModificationException,
1603        LdapException {
1604      return impl.getChild(INSTANCE.getMatchingRulesRelationDefinition(), name).getConfiguration();
1605    }
1606
1607
1608
1609    /** {@inheritDoc} */
1610    public <M extends MatchingRuleCfgClient> M createMatchingRule(
1611        ManagedObjectDefinition<M, ? extends MatchingRuleCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1612      return impl.createChild(INSTANCE.getMatchingRulesRelationDefinition(), d, name, exceptions).getConfiguration();
1613    }
1614
1615
1616
1617    /** {@inheritDoc} */
1618    public void removeMatchingRule(String name)
1619        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1620        OperationRejectedException, LdapException {
1621      impl.removeChild(INSTANCE.getMatchingRulesRelationDefinition(), name);
1622    }
1623
1624
1625
1626    /** {@inheritDoc} */
1627    public String[] listMonitorProviders() throws ConcurrentModificationException,
1628        LdapException {
1629      return impl.listChildren(INSTANCE.getMonitorProvidersRelationDefinition());
1630    }
1631
1632
1633
1634    /** {@inheritDoc} */
1635    public MonitorProviderCfgClient getMonitorProvider(String name)
1636        throws DefinitionDecodingException, ManagedObjectDecodingException,
1637        ManagedObjectNotFoundException, ConcurrentModificationException,
1638        LdapException {
1639      return impl.getChild(INSTANCE.getMonitorProvidersRelationDefinition(), name).getConfiguration();
1640    }
1641
1642
1643
1644    /** {@inheritDoc} */
1645    public <M extends MonitorProviderCfgClient> M createMonitorProvider(
1646        ManagedObjectDefinition<M, ? extends MonitorProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1647      return impl.createChild(INSTANCE.getMonitorProvidersRelationDefinition(), d, name, exceptions).getConfiguration();
1648    }
1649
1650
1651
1652    /** {@inheritDoc} */
1653    public void removeMonitorProvider(String name)
1654        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1655        OperationRejectedException, LdapException {
1656      impl.removeChild(INSTANCE.getMonitorProvidersRelationDefinition(), name);
1657    }
1658
1659
1660
1661    /** {@inheritDoc} */
1662    public String[] listPasswordGenerators() throws ConcurrentModificationException,
1663        LdapException {
1664      return impl.listChildren(INSTANCE.getPasswordGeneratorsRelationDefinition());
1665    }
1666
1667
1668
1669    /** {@inheritDoc} */
1670    public PasswordGeneratorCfgClient getPasswordGenerator(String name)
1671        throws DefinitionDecodingException, ManagedObjectDecodingException,
1672        ManagedObjectNotFoundException, ConcurrentModificationException,
1673        LdapException {
1674      return impl.getChild(INSTANCE.getPasswordGeneratorsRelationDefinition(), name).getConfiguration();
1675    }
1676
1677
1678
1679    /** {@inheritDoc} */
1680    public <M extends PasswordGeneratorCfgClient> M createPasswordGenerator(
1681        ManagedObjectDefinition<M, ? extends PasswordGeneratorCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1682      return impl.createChild(INSTANCE.getPasswordGeneratorsRelationDefinition(), d, name, exceptions).getConfiguration();
1683    }
1684
1685
1686
1687    /** {@inheritDoc} */
1688    public void removePasswordGenerator(String name)
1689        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1690        OperationRejectedException, LdapException {
1691      impl.removeChild(INSTANCE.getPasswordGeneratorsRelationDefinition(), name);
1692    }
1693
1694
1695
1696    /** {@inheritDoc} */
1697    public String[] listPasswordPolicies() throws ConcurrentModificationException,
1698        LdapException {
1699      return impl.listChildren(INSTANCE.getPasswordPoliciesRelationDefinition());
1700    }
1701
1702
1703
1704    /** {@inheritDoc} */
1705    public AuthenticationPolicyCfgClient getPasswordPolicy(String name)
1706        throws DefinitionDecodingException, ManagedObjectDecodingException,
1707        ManagedObjectNotFoundException, ConcurrentModificationException,
1708        LdapException {
1709      return impl.getChild(INSTANCE.getPasswordPoliciesRelationDefinition(), name).getConfiguration();
1710    }
1711
1712
1713
1714    /** {@inheritDoc} */
1715    public <M extends AuthenticationPolicyCfgClient> M createPasswordPolicy(
1716        ManagedObjectDefinition<M, ? extends AuthenticationPolicyCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1717      return impl.createChild(INSTANCE.getPasswordPoliciesRelationDefinition(), d, name, exceptions).getConfiguration();
1718    }
1719
1720
1721
1722    /** {@inheritDoc} */
1723    public void removePasswordPolicy(String name)
1724        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1725        OperationRejectedException, LdapException {
1726      impl.removeChild(INSTANCE.getPasswordPoliciesRelationDefinition(), name);
1727    }
1728
1729
1730
1731    /** {@inheritDoc} */
1732    public String[] listPasswordStorageSchemes() throws ConcurrentModificationException,
1733        LdapException {
1734      return impl.listChildren(INSTANCE.getPasswordStorageSchemesRelationDefinition());
1735    }
1736
1737
1738
1739    /** {@inheritDoc} */
1740    public PasswordStorageSchemeCfgClient getPasswordStorageScheme(String name)
1741        throws DefinitionDecodingException, ManagedObjectDecodingException,
1742        ManagedObjectNotFoundException, ConcurrentModificationException,
1743        LdapException {
1744      return impl.getChild(INSTANCE.getPasswordStorageSchemesRelationDefinition(), name).getConfiguration();
1745    }
1746
1747
1748
1749    /** {@inheritDoc} */
1750    public <M extends PasswordStorageSchemeCfgClient> M createPasswordStorageScheme(
1751        ManagedObjectDefinition<M, ? extends PasswordStorageSchemeCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1752      return impl.createChild(INSTANCE.getPasswordStorageSchemesRelationDefinition(), d, name, exceptions).getConfiguration();
1753    }
1754
1755
1756
1757    /** {@inheritDoc} */
1758    public void removePasswordStorageScheme(String name)
1759        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1760        OperationRejectedException, LdapException {
1761      impl.removeChild(INSTANCE.getPasswordStorageSchemesRelationDefinition(), name);
1762    }
1763
1764
1765
1766    /** {@inheritDoc} */
1767    public String[] listPasswordValidators() throws ConcurrentModificationException,
1768        LdapException {
1769      return impl.listChildren(INSTANCE.getPasswordValidatorsRelationDefinition());
1770    }
1771
1772
1773
1774    /** {@inheritDoc} */
1775    public PasswordValidatorCfgClient getPasswordValidator(String name)
1776        throws DefinitionDecodingException, ManagedObjectDecodingException,
1777        ManagedObjectNotFoundException, ConcurrentModificationException,
1778        LdapException {
1779      return impl.getChild(INSTANCE.getPasswordValidatorsRelationDefinition(), name).getConfiguration();
1780    }
1781
1782
1783
1784    /** {@inheritDoc} */
1785    public <M extends PasswordValidatorCfgClient> M createPasswordValidator(
1786        ManagedObjectDefinition<M, ? extends PasswordValidatorCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1787      return impl.createChild(INSTANCE.getPasswordValidatorsRelationDefinition(), d, name, exceptions).getConfiguration();
1788    }
1789
1790
1791
1792    /** {@inheritDoc} */
1793    public void removePasswordValidator(String name)
1794        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1795        OperationRejectedException, LdapException {
1796      impl.removeChild(INSTANCE.getPasswordValidatorsRelationDefinition(), name);
1797    }
1798
1799
1800
1801    /** {@inheritDoc} */
1802    public PluginRootCfgClient getPluginRoot()
1803        throws DefinitionDecodingException, ManagedObjectDecodingException,
1804        ManagedObjectNotFoundException, ConcurrentModificationException,
1805        LdapException {
1806      return impl.getChild(INSTANCE.getPluginRootRelationDefinition()).getConfiguration();
1807    }
1808
1809
1810
1811    /** {@inheritDoc} */
1812    public RootDNCfgClient getRootDN()
1813        throws DefinitionDecodingException, ManagedObjectDecodingException,
1814        ManagedObjectNotFoundException, ConcurrentModificationException,
1815        LdapException {
1816      return impl.getChild(INSTANCE.getRootDNRelationDefinition()).getConfiguration();
1817    }
1818
1819
1820
1821    /** {@inheritDoc} */
1822    public RootDSEBackendCfgClient getRootDSEBackend()
1823        throws DefinitionDecodingException, ManagedObjectDecodingException,
1824        ManagedObjectNotFoundException, ConcurrentModificationException,
1825        LdapException {
1826      return impl.getChild(INSTANCE.getRootDSEBackendRelationDefinition()).getConfiguration();
1827    }
1828
1829
1830
1831    /** {@inheritDoc} */
1832    public String[] listSASLMechanismHandlers() throws ConcurrentModificationException,
1833        LdapException {
1834      return impl.listChildren(INSTANCE.getSASLMechanismHandlersRelationDefinition());
1835    }
1836
1837
1838
1839    /** {@inheritDoc} */
1840    public SASLMechanismHandlerCfgClient getSASLMechanismHandler(String name)
1841        throws DefinitionDecodingException, ManagedObjectDecodingException,
1842        ManagedObjectNotFoundException, ConcurrentModificationException,
1843        LdapException {
1844      return impl.getChild(INSTANCE.getSASLMechanismHandlersRelationDefinition(), name).getConfiguration();
1845    }
1846
1847
1848
1849    /** {@inheritDoc} */
1850    public <M extends SASLMechanismHandlerCfgClient> M createSASLMechanismHandler(
1851        ManagedObjectDefinition<M, ? extends SASLMechanismHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1852      return impl.createChild(INSTANCE.getSASLMechanismHandlersRelationDefinition(), d, name, exceptions).getConfiguration();
1853    }
1854
1855
1856
1857    /** {@inheritDoc} */
1858    public void removeSASLMechanismHandler(String name)
1859        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1860        OperationRejectedException, LdapException {
1861      impl.removeChild(INSTANCE.getSASLMechanismHandlersRelationDefinition(), name);
1862    }
1863
1864
1865
1866    /** {@inheritDoc} */
1867    public String[] listSchemaProviders() throws ConcurrentModificationException,
1868        LdapException {
1869      return impl.listChildren(INSTANCE.getSchemaProvidersRelationDefinition());
1870    }
1871
1872
1873
1874    /** {@inheritDoc} */
1875    public SchemaProviderCfgClient getSchemaProvider(String name)
1876        throws DefinitionDecodingException, ManagedObjectDecodingException,
1877        ManagedObjectNotFoundException, ConcurrentModificationException,
1878        LdapException {
1879      return impl.getChild(INSTANCE.getSchemaProvidersRelationDefinition(), name).getConfiguration();
1880    }
1881
1882
1883
1884    /** {@inheritDoc} */
1885    public <M extends SchemaProviderCfgClient> M createSchemaProvider(
1886        ManagedObjectDefinition<M, ? extends SchemaProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1887      return impl.createChild(INSTANCE.getSchemaProvidersRelationDefinition(), d, name, exceptions).getConfiguration();
1888    }
1889
1890
1891
1892    /** {@inheritDoc} */
1893    public void removeSchemaProvider(String name)
1894        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1895        OperationRejectedException, LdapException {
1896      impl.removeChild(INSTANCE.getSchemaProvidersRelationDefinition(), name);
1897    }
1898
1899
1900
1901    /** {@inheritDoc} */
1902    public String[] listSynchronizationProviders() throws ConcurrentModificationException,
1903        LdapException {
1904      return impl.listChildren(INSTANCE.getSynchronizationProvidersRelationDefinition());
1905    }
1906
1907
1908
1909    /** {@inheritDoc} */
1910    public SynchronizationProviderCfgClient getSynchronizationProvider(String name)
1911        throws DefinitionDecodingException, ManagedObjectDecodingException,
1912        ManagedObjectNotFoundException, ConcurrentModificationException,
1913        LdapException {
1914      return impl.getChild(INSTANCE.getSynchronizationProvidersRelationDefinition(), name).getConfiguration();
1915    }
1916
1917
1918
1919    /** {@inheritDoc} */
1920    public <M extends SynchronizationProviderCfgClient> M createSynchronizationProvider(
1921        ManagedObjectDefinition<M, ? extends SynchronizationProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1922      return impl.createChild(INSTANCE.getSynchronizationProvidersRelationDefinition(), d, name, exceptions).getConfiguration();
1923    }
1924
1925
1926
1927    /** {@inheritDoc} */
1928    public void removeSynchronizationProvider(String name)
1929        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1930        OperationRejectedException, LdapException {
1931      impl.removeChild(INSTANCE.getSynchronizationProvidersRelationDefinition(), name);
1932    }
1933
1934
1935
1936    /** {@inheritDoc} */
1937    public String[] listTrustManagerProviders() throws ConcurrentModificationException,
1938        LdapException {
1939      return impl.listChildren(INSTANCE.getTrustManagerProvidersRelationDefinition());
1940    }
1941
1942
1943
1944    /** {@inheritDoc} */
1945    public TrustManagerProviderCfgClient getTrustManagerProvider(String name)
1946        throws DefinitionDecodingException, ManagedObjectDecodingException,
1947        ManagedObjectNotFoundException, ConcurrentModificationException,
1948        LdapException {
1949      return impl.getChild(INSTANCE.getTrustManagerProvidersRelationDefinition(), name).getConfiguration();
1950    }
1951
1952
1953
1954    /** {@inheritDoc} */
1955    public <M extends TrustManagerProviderCfgClient> M createTrustManagerProvider(
1956        ManagedObjectDefinition<M, ? extends TrustManagerProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1957      return impl.createChild(INSTANCE.getTrustManagerProvidersRelationDefinition(), d, name, exceptions).getConfiguration();
1958    }
1959
1960
1961
1962    /** {@inheritDoc} */
1963    public void removeTrustManagerProvider(String name)
1964        throws ManagedObjectNotFoundException, ConcurrentModificationException,
1965        OperationRejectedException, LdapException {
1966      impl.removeChild(INSTANCE.getTrustManagerProvidersRelationDefinition(), name);
1967    }
1968
1969
1970
1971    /** {@inheritDoc} */
1972    public String[] listVirtualAttributes() throws ConcurrentModificationException,
1973        LdapException {
1974      return impl.listChildren(INSTANCE.getVirtualAttributesRelationDefinition());
1975    }
1976
1977
1978
1979    /** {@inheritDoc} */
1980    public VirtualAttributeCfgClient getVirtualAttribute(String name)
1981        throws DefinitionDecodingException, ManagedObjectDecodingException,
1982        ManagedObjectNotFoundException, ConcurrentModificationException,
1983        LdapException {
1984      return impl.getChild(INSTANCE.getVirtualAttributesRelationDefinition(), name).getConfiguration();
1985    }
1986
1987
1988
1989    /** {@inheritDoc} */
1990    public <M extends VirtualAttributeCfgClient> M createVirtualAttribute(
1991        ManagedObjectDefinition<M, ? extends VirtualAttributeCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException {
1992      return impl.createChild(INSTANCE.getVirtualAttributesRelationDefinition(), d, name, exceptions).getConfiguration();
1993    }
1994
1995
1996
1997    /** {@inheritDoc} */
1998    public void removeVirtualAttribute(String name)
1999        throws ManagedObjectNotFoundException, ConcurrentModificationException,
2000        OperationRejectedException, LdapException {
2001      impl.removeChild(INSTANCE.getVirtualAttributesRelationDefinition(), name);
2002    }
2003
2004
2005
2006    /** {@inheritDoc} */
2007    public WorkQueueCfgClient getWorkQueue()
2008        throws DefinitionDecodingException, ManagedObjectDecodingException,
2009        ManagedObjectNotFoundException, ConcurrentModificationException,
2010        LdapException {
2011      return impl.getChild(INSTANCE.getWorkQueueRelationDefinition()).getConfiguration();
2012    }
2013
2014
2015
2016    /** {@inheritDoc} */
2017    public ManagedObjectDefinition<? extends RootCfgClient, ? extends RootCfg> definition() {
2018      return INSTANCE;
2019    }
2020
2021
2022
2023    /** {@inheritDoc} */
2024    public PropertyProvider properties() {
2025      return impl;
2026    }
2027
2028
2029
2030    /** {@inheritDoc} */
2031    public void commit() throws ManagedObjectAlreadyExistsException,
2032        MissingMandatoryPropertiesException, ConcurrentModificationException,
2033        OperationRejectedException, LdapException {
2034      impl.commit();
2035    }
2036
2037
2038
2039    /** {@inheritDoc} */
2040    public String toString() {
2041      return impl.toString();
2042    }
2043  }
2044
2045
2046
2047  /**
2048   * Managed object server implementation.
2049   */
2050  private static class RootCfgServerImpl implements
2051    RootCfg {
2052
2053    /** Private implementation. */
2054    private ServerManagedObject<? extends RootCfg> impl;
2055
2056
2057
2058    /** Private constructor. */
2059    private RootCfgServerImpl(ServerManagedObject<? extends RootCfg> impl) {
2060      this.impl = impl;
2061    }
2062
2063
2064
2065    /** {@inheritDoc} */
2066    public AccessControlHandlerCfg getAccessControlHandler() throws ConfigException {
2067      return impl.getChild(INSTANCE.getAccessControlHandlerRelationDefinition()).getConfiguration();
2068    }
2069
2070
2071
2072    /** {@inheritDoc} */
2073    public String[] listAccountStatusNotificationHandlers() {
2074      return impl.listChildren(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition());
2075    }
2076
2077
2078
2079    /** {@inheritDoc} */
2080    public AccountStatusNotificationHandlerCfg getAccountStatusNotificationHandler(String name) throws ConfigException {
2081      return impl.getChild(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), name).getConfiguration();
2082    }
2083
2084
2085
2086    /** {@inheritDoc} */
2087    public void addAccountStatusNotificationHandlerAddListener(
2088        ConfigurationAddListener<AccountStatusNotificationHandlerCfg> listener) throws ConfigException {
2089      impl.registerAddListener(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), listener);
2090    }
2091
2092
2093
2094    /** {@inheritDoc} */
2095    public void removeAccountStatusNotificationHandlerAddListener(
2096        ConfigurationAddListener<AccountStatusNotificationHandlerCfg> listener) {
2097      impl.deregisterAddListener(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), listener);
2098    }
2099
2100
2101
2102    /** {@inheritDoc} */
2103    public void addAccountStatusNotificationHandlerDeleteListener(
2104        ConfigurationDeleteListener<AccountStatusNotificationHandlerCfg> listener) throws ConfigException {
2105      impl.registerDeleteListener(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), listener);
2106    }
2107
2108
2109
2110    /** {@inheritDoc} */
2111    public void removeAccountStatusNotificationHandlerDeleteListener(
2112        ConfigurationDeleteListener<AccountStatusNotificationHandlerCfg> listener) {
2113      impl.deregisterDeleteListener(INSTANCE.getAccountStatusNotificationHandlersRelationDefinition(), listener);
2114    }
2115
2116
2117
2118    /** {@inheritDoc} */
2119    public AdministrationConnectorCfg getAdministrationConnector() throws ConfigException {
2120      return impl.getChild(INSTANCE.getAdministrationConnectorRelationDefinition()).getConfiguration();
2121    }
2122
2123
2124
2125    /** {@inheritDoc} */
2126    public String[] listAlertHandlers() {
2127      return impl.listChildren(INSTANCE.getAlertHandlersRelationDefinition());
2128    }
2129
2130
2131
2132    /** {@inheritDoc} */
2133    public AlertHandlerCfg getAlertHandler(String name) throws ConfigException {
2134      return impl.getChild(INSTANCE.getAlertHandlersRelationDefinition(), name).getConfiguration();
2135    }
2136
2137
2138
2139    /** {@inheritDoc} */
2140    public void addAlertHandlerAddListener(
2141        ConfigurationAddListener<AlertHandlerCfg> listener) throws ConfigException {
2142      impl.registerAddListener(INSTANCE.getAlertHandlersRelationDefinition(), listener);
2143    }
2144
2145
2146
2147    /** {@inheritDoc} */
2148    public void removeAlertHandlerAddListener(
2149        ConfigurationAddListener<AlertHandlerCfg> listener) {
2150      impl.deregisterAddListener(INSTANCE.getAlertHandlersRelationDefinition(), listener);
2151    }
2152
2153
2154
2155    /** {@inheritDoc} */
2156    public void addAlertHandlerDeleteListener(
2157        ConfigurationDeleteListener<AlertHandlerCfg> listener) throws ConfigException {
2158      impl.registerDeleteListener(INSTANCE.getAlertHandlersRelationDefinition(), listener);
2159    }
2160
2161
2162
2163    /** {@inheritDoc} */
2164    public void removeAlertHandlerDeleteListener(
2165        ConfigurationDeleteListener<AlertHandlerCfg> listener) {
2166      impl.deregisterDeleteListener(INSTANCE.getAlertHandlersRelationDefinition(), listener);
2167    }
2168
2169
2170
2171    /** {@inheritDoc} */
2172    public String[] listAttributeSyntaxes() {
2173      return impl.listChildren(INSTANCE.getAttributeSyntaxesRelationDefinition());
2174    }
2175
2176
2177
2178    /** {@inheritDoc} */
2179    public AttributeSyntaxCfg getAttributeSyntax(String name) throws ConfigException {
2180      return impl.getChild(INSTANCE.getAttributeSyntaxesRelationDefinition(), name).getConfiguration();
2181    }
2182
2183
2184
2185    /** {@inheritDoc} */
2186    public void addAttributeSyntaxAddListener(
2187        ConfigurationAddListener<AttributeSyntaxCfg> listener) throws ConfigException {
2188      impl.registerAddListener(INSTANCE.getAttributeSyntaxesRelationDefinition(), listener);
2189    }
2190
2191
2192
2193    /** {@inheritDoc} */
2194    public void removeAttributeSyntaxAddListener(
2195        ConfigurationAddListener<AttributeSyntaxCfg> listener) {
2196      impl.deregisterAddListener(INSTANCE.getAttributeSyntaxesRelationDefinition(), listener);
2197    }
2198
2199
2200
2201    /** {@inheritDoc} */
2202    public void addAttributeSyntaxDeleteListener(
2203        ConfigurationDeleteListener<AttributeSyntaxCfg> listener) throws ConfigException {
2204      impl.registerDeleteListener(INSTANCE.getAttributeSyntaxesRelationDefinition(), listener);
2205    }
2206
2207
2208
2209    /** {@inheritDoc} */
2210    public void removeAttributeSyntaxDeleteListener(
2211        ConfigurationDeleteListener<AttributeSyntaxCfg> listener) {
2212      impl.deregisterDeleteListener(INSTANCE.getAttributeSyntaxesRelationDefinition(), listener);
2213    }
2214
2215
2216
2217    /** {@inheritDoc} */
2218    public String[] listBackends() {
2219      return impl.listChildren(INSTANCE.getBackendsRelationDefinition());
2220    }
2221
2222
2223
2224    /** {@inheritDoc} */
2225    public BackendCfg getBackend(String name) throws ConfigException {
2226      return impl.getChild(INSTANCE.getBackendsRelationDefinition(), name).getConfiguration();
2227    }
2228
2229
2230
2231    /** {@inheritDoc} */
2232    public void addBackendAddListener(
2233        ConfigurationAddListener<BackendCfg> listener) throws ConfigException {
2234      impl.registerAddListener(INSTANCE.getBackendsRelationDefinition(), listener);
2235    }
2236
2237
2238
2239    /** {@inheritDoc} */
2240    public void removeBackendAddListener(
2241        ConfigurationAddListener<BackendCfg> listener) {
2242      impl.deregisterAddListener(INSTANCE.getBackendsRelationDefinition(), listener);
2243    }
2244
2245
2246
2247    /** {@inheritDoc} */
2248    public void addBackendDeleteListener(
2249        ConfigurationDeleteListener<BackendCfg> listener) throws ConfigException {
2250      impl.registerDeleteListener(INSTANCE.getBackendsRelationDefinition(), listener);
2251    }
2252
2253
2254
2255    /** {@inheritDoc} */
2256    public void removeBackendDeleteListener(
2257        ConfigurationDeleteListener<BackendCfg> listener) {
2258      impl.deregisterDeleteListener(INSTANCE.getBackendsRelationDefinition(), listener);
2259    }
2260
2261
2262
2263    /** {@inheritDoc} */
2264    public String[] listCertificateMappers() {
2265      return impl.listChildren(INSTANCE.getCertificateMappersRelationDefinition());
2266    }
2267
2268
2269
2270    /** {@inheritDoc} */
2271    public CertificateMapperCfg getCertificateMapper(String name) throws ConfigException {
2272      return impl.getChild(INSTANCE.getCertificateMappersRelationDefinition(), name).getConfiguration();
2273    }
2274
2275
2276
2277    /** {@inheritDoc} */
2278    public void addCertificateMapperAddListener(
2279        ConfigurationAddListener<CertificateMapperCfg> listener) throws ConfigException {
2280      impl.registerAddListener(INSTANCE.getCertificateMappersRelationDefinition(), listener);
2281    }
2282
2283
2284
2285    /** {@inheritDoc} */
2286    public void removeCertificateMapperAddListener(
2287        ConfigurationAddListener<CertificateMapperCfg> listener) {
2288      impl.deregisterAddListener(INSTANCE.getCertificateMappersRelationDefinition(), listener);
2289    }
2290
2291
2292
2293    /** {@inheritDoc} */
2294    public void addCertificateMapperDeleteListener(
2295        ConfigurationDeleteListener<CertificateMapperCfg> listener) throws ConfigException {
2296      impl.registerDeleteListener(INSTANCE.getCertificateMappersRelationDefinition(), listener);
2297    }
2298
2299
2300
2301    /** {@inheritDoc} */
2302    public void removeCertificateMapperDeleteListener(
2303        ConfigurationDeleteListener<CertificateMapperCfg> listener) {
2304      impl.deregisterDeleteListener(INSTANCE.getCertificateMappersRelationDefinition(), listener);
2305    }
2306
2307
2308
2309    /** {@inheritDoc} */
2310    public String[] listConnectionHandlers() {
2311      return impl.listChildren(INSTANCE.getConnectionHandlersRelationDefinition());
2312    }
2313
2314
2315
2316    /** {@inheritDoc} */
2317    public ConnectionHandlerCfg getConnectionHandler(String name) throws ConfigException {
2318      return impl.getChild(INSTANCE.getConnectionHandlersRelationDefinition(), name).getConfiguration();
2319    }
2320
2321
2322
2323    /** {@inheritDoc} */
2324    public void addConnectionHandlerAddListener(
2325        ConfigurationAddListener<ConnectionHandlerCfg> listener) throws ConfigException {
2326      impl.registerAddListener(INSTANCE.getConnectionHandlersRelationDefinition(), listener);
2327    }
2328
2329
2330
2331    /** {@inheritDoc} */
2332    public void removeConnectionHandlerAddListener(
2333        ConfigurationAddListener<ConnectionHandlerCfg> listener) {
2334      impl.deregisterAddListener(INSTANCE.getConnectionHandlersRelationDefinition(), listener);
2335    }
2336
2337
2338
2339    /** {@inheritDoc} */
2340    public void addConnectionHandlerDeleteListener(
2341        ConfigurationDeleteListener<ConnectionHandlerCfg> listener) throws ConfigException {
2342      impl.registerDeleteListener(INSTANCE.getConnectionHandlersRelationDefinition(), listener);
2343    }
2344
2345
2346
2347    /** {@inheritDoc} */
2348    public void removeConnectionHandlerDeleteListener(
2349        ConfigurationDeleteListener<ConnectionHandlerCfg> listener) {
2350      impl.deregisterDeleteListener(INSTANCE.getConnectionHandlersRelationDefinition(), listener);
2351    }
2352
2353
2354
2355    /** {@inheritDoc} */
2356    public CryptoManagerCfg getCryptoManager() throws ConfigException {
2357      return impl.getChild(INSTANCE.getCryptoManagerRelationDefinition()).getConfiguration();
2358    }
2359
2360
2361
2362    /** {@inheritDoc} */
2363    public String[] listEntryCaches() {
2364      return impl.listChildren(INSTANCE.getEntryCachesRelationDefinition());
2365    }
2366
2367
2368
2369    /** {@inheritDoc} */
2370    public EntryCacheCfg getEntryCache(String name) throws ConfigException {
2371      return impl.getChild(INSTANCE.getEntryCachesRelationDefinition(), name).getConfiguration();
2372    }
2373
2374
2375
2376    /** {@inheritDoc} */
2377    public void addEntryCacheAddListener(
2378        ConfigurationAddListener<EntryCacheCfg> listener) throws ConfigException {
2379      impl.registerAddListener(INSTANCE.getEntryCachesRelationDefinition(), listener);
2380    }
2381
2382
2383
2384    /** {@inheritDoc} */
2385    public void removeEntryCacheAddListener(
2386        ConfigurationAddListener<EntryCacheCfg> listener) {
2387      impl.deregisterAddListener(INSTANCE.getEntryCachesRelationDefinition(), listener);
2388    }
2389
2390
2391
2392    /** {@inheritDoc} */
2393    public void addEntryCacheDeleteListener(
2394        ConfigurationDeleteListener<EntryCacheCfg> listener) throws ConfigException {
2395      impl.registerDeleteListener(INSTANCE.getEntryCachesRelationDefinition(), listener);
2396    }
2397
2398
2399
2400    /** {@inheritDoc} */
2401    public void removeEntryCacheDeleteListener(
2402        ConfigurationDeleteListener<EntryCacheCfg> listener) {
2403      impl.deregisterDeleteListener(INSTANCE.getEntryCachesRelationDefinition(), listener);
2404    }
2405
2406
2407
2408    /** {@inheritDoc} */
2409    public String[] listExtendedOperationHandlers() {
2410      return impl.listChildren(INSTANCE.getExtendedOperationHandlersRelationDefinition());
2411    }
2412
2413
2414
2415    /** {@inheritDoc} */
2416    public ExtendedOperationHandlerCfg getExtendedOperationHandler(String name) throws ConfigException {
2417      return impl.getChild(INSTANCE.getExtendedOperationHandlersRelationDefinition(), name).getConfiguration();
2418    }
2419
2420
2421
2422    /** {@inheritDoc} */
2423    public void addExtendedOperationHandlerAddListener(
2424        ConfigurationAddListener<ExtendedOperationHandlerCfg> listener) throws ConfigException {
2425      impl.registerAddListener(INSTANCE.getExtendedOperationHandlersRelationDefinition(), listener);
2426    }
2427
2428
2429
2430    /** {@inheritDoc} */
2431    public void removeExtendedOperationHandlerAddListener(
2432        ConfigurationAddListener<ExtendedOperationHandlerCfg> listener) {
2433      impl.deregisterAddListener(INSTANCE.getExtendedOperationHandlersRelationDefinition(), listener);
2434    }
2435
2436
2437
2438    /** {@inheritDoc} */
2439    public void addExtendedOperationHandlerDeleteListener(
2440        ConfigurationDeleteListener<ExtendedOperationHandlerCfg> listener) throws ConfigException {
2441      impl.registerDeleteListener(INSTANCE.getExtendedOperationHandlersRelationDefinition(), listener);
2442    }
2443
2444
2445
2446    /** {@inheritDoc} */
2447    public void removeExtendedOperationHandlerDeleteListener(
2448        ConfigurationDeleteListener<ExtendedOperationHandlerCfg> listener) {
2449      impl.deregisterDeleteListener(INSTANCE.getExtendedOperationHandlersRelationDefinition(), listener);
2450    }
2451
2452
2453
2454    /** {@inheritDoc} */
2455    public GlobalCfg getGlobalConfiguration() throws ConfigException {
2456      return impl.getChild(INSTANCE.getGlobalConfigurationRelationDefinition()).getConfiguration();
2457    }
2458
2459
2460
2461    /** {@inheritDoc} */
2462    public String[] listGroupImplementations() {
2463      return impl.listChildren(INSTANCE.getGroupImplementationsRelationDefinition());
2464    }
2465
2466
2467
2468    /** {@inheritDoc} */
2469    public GroupImplementationCfg getGroupImplementation(String name) throws ConfigException {
2470      return impl.getChild(INSTANCE.getGroupImplementationsRelationDefinition(), name).getConfiguration();
2471    }
2472
2473
2474
2475    /** {@inheritDoc} */
2476    public void addGroupImplementationAddListener(
2477        ConfigurationAddListener<GroupImplementationCfg> listener) throws ConfigException {
2478      impl.registerAddListener(INSTANCE.getGroupImplementationsRelationDefinition(), listener);
2479    }
2480
2481
2482
2483    /** {@inheritDoc} */
2484    public void removeGroupImplementationAddListener(
2485        ConfigurationAddListener<GroupImplementationCfg> listener) {
2486      impl.deregisterAddListener(INSTANCE.getGroupImplementationsRelationDefinition(), listener);
2487    }
2488
2489
2490
2491    /** {@inheritDoc} */
2492    public void addGroupImplementationDeleteListener(
2493        ConfigurationDeleteListener<GroupImplementationCfg> listener) throws ConfigException {
2494      impl.registerDeleteListener(INSTANCE.getGroupImplementationsRelationDefinition(), listener);
2495    }
2496
2497
2498
2499    /** {@inheritDoc} */
2500    public void removeGroupImplementationDeleteListener(
2501        ConfigurationDeleteListener<GroupImplementationCfg> listener) {
2502      impl.deregisterDeleteListener(INSTANCE.getGroupImplementationsRelationDefinition(), listener);
2503    }
2504
2505
2506
2507    /** {@inheritDoc} */
2508    public String[] listIdentityMappers() {
2509      return impl.listChildren(INSTANCE.getIdentityMappersRelationDefinition());
2510    }
2511
2512
2513
2514    /** {@inheritDoc} */
2515    public IdentityMapperCfg getIdentityMapper(String name) throws ConfigException {
2516      return impl.getChild(INSTANCE.getIdentityMappersRelationDefinition(), name).getConfiguration();
2517    }
2518
2519
2520
2521    /** {@inheritDoc} */
2522    public void addIdentityMapperAddListener(
2523        ConfigurationAddListener<IdentityMapperCfg> listener) throws ConfigException {
2524      impl.registerAddListener(INSTANCE.getIdentityMappersRelationDefinition(), listener);
2525    }
2526
2527
2528
2529    /** {@inheritDoc} */
2530    public void removeIdentityMapperAddListener(
2531        ConfigurationAddListener<IdentityMapperCfg> listener) {
2532      impl.deregisterAddListener(INSTANCE.getIdentityMappersRelationDefinition(), listener);
2533    }
2534
2535
2536
2537    /** {@inheritDoc} */
2538    public void addIdentityMapperDeleteListener(
2539        ConfigurationDeleteListener<IdentityMapperCfg> listener) throws ConfigException {
2540      impl.registerDeleteListener(INSTANCE.getIdentityMappersRelationDefinition(), listener);
2541    }
2542
2543
2544
2545    /** {@inheritDoc} */
2546    public void removeIdentityMapperDeleteListener(
2547        ConfigurationDeleteListener<IdentityMapperCfg> listener) {
2548      impl.deregisterDeleteListener(INSTANCE.getIdentityMappersRelationDefinition(), listener);
2549    }
2550
2551
2552
2553    /** {@inheritDoc} */
2554    public String[] listKeyManagerProviders() {
2555      return impl.listChildren(INSTANCE.getKeyManagerProvidersRelationDefinition());
2556    }
2557
2558
2559
2560    /** {@inheritDoc} */
2561    public KeyManagerProviderCfg getKeyManagerProvider(String name) throws ConfigException {
2562      return impl.getChild(INSTANCE.getKeyManagerProvidersRelationDefinition(), name).getConfiguration();
2563    }
2564
2565
2566
2567    /** {@inheritDoc} */
2568    public void addKeyManagerProviderAddListener(
2569        ConfigurationAddListener<KeyManagerProviderCfg> listener) throws ConfigException {
2570      impl.registerAddListener(INSTANCE.getKeyManagerProvidersRelationDefinition(), listener);
2571    }
2572
2573
2574
2575    /** {@inheritDoc} */
2576    public void removeKeyManagerProviderAddListener(
2577        ConfigurationAddListener<KeyManagerProviderCfg> listener) {
2578      impl.deregisterAddListener(INSTANCE.getKeyManagerProvidersRelationDefinition(), listener);
2579    }
2580
2581
2582
2583    /** {@inheritDoc} */
2584    public void addKeyManagerProviderDeleteListener(
2585        ConfigurationDeleteListener<KeyManagerProviderCfg> listener) throws ConfigException {
2586      impl.registerDeleteListener(INSTANCE.getKeyManagerProvidersRelationDefinition(), listener);
2587    }
2588
2589
2590
2591    /** {@inheritDoc} */
2592    public void removeKeyManagerProviderDeleteListener(
2593        ConfigurationDeleteListener<KeyManagerProviderCfg> listener) {
2594      impl.deregisterDeleteListener(INSTANCE.getKeyManagerProvidersRelationDefinition(), listener);
2595    }
2596
2597
2598
2599    /** {@inheritDoc} */
2600    public String[] listLogPublishers() {
2601      return impl.listChildren(INSTANCE.getLogPublishersRelationDefinition());
2602    }
2603
2604
2605
2606    /** {@inheritDoc} */
2607    public LogPublisherCfg getLogPublisher(String name) throws ConfigException {
2608      return impl.getChild(INSTANCE.getLogPublishersRelationDefinition(), name).getConfiguration();
2609    }
2610
2611
2612
2613    /** {@inheritDoc} */
2614    public void addLogPublisherAddListener(
2615        ConfigurationAddListener<LogPublisherCfg> listener) throws ConfigException {
2616      impl.registerAddListener(INSTANCE.getLogPublishersRelationDefinition(), listener);
2617    }
2618
2619
2620
2621    /** {@inheritDoc} */
2622    public void removeLogPublisherAddListener(
2623        ConfigurationAddListener<LogPublisherCfg> listener) {
2624      impl.deregisterAddListener(INSTANCE.getLogPublishersRelationDefinition(), listener);
2625    }
2626
2627
2628
2629    /** {@inheritDoc} */
2630    public void addLogPublisherDeleteListener(
2631        ConfigurationDeleteListener<LogPublisherCfg> listener) throws ConfigException {
2632      impl.registerDeleteListener(INSTANCE.getLogPublishersRelationDefinition(), listener);
2633    }
2634
2635
2636
2637    /** {@inheritDoc} */
2638    public void removeLogPublisherDeleteListener(
2639        ConfigurationDeleteListener<LogPublisherCfg> listener) {
2640      impl.deregisterDeleteListener(INSTANCE.getLogPublishersRelationDefinition(), listener);
2641    }
2642
2643
2644
2645    /** {@inheritDoc} */
2646    public String[] listLogRetentionPolicies() {
2647      return impl.listChildren(INSTANCE.getLogRetentionPoliciesRelationDefinition());
2648    }
2649
2650
2651
2652    /** {@inheritDoc} */
2653    public LogRetentionPolicyCfg getLogRetentionPolicy(String name) throws ConfigException {
2654      return impl.getChild(INSTANCE.getLogRetentionPoliciesRelationDefinition(), name).getConfiguration();
2655    }
2656
2657
2658
2659    /** {@inheritDoc} */
2660    public void addLogRetentionPolicyAddListener(
2661        ConfigurationAddListener<LogRetentionPolicyCfg> listener) throws ConfigException {
2662      impl.registerAddListener(INSTANCE.getLogRetentionPoliciesRelationDefinition(), listener);
2663    }
2664
2665
2666
2667    /** {@inheritDoc} */
2668    public void removeLogRetentionPolicyAddListener(
2669        ConfigurationAddListener<LogRetentionPolicyCfg> listener) {
2670      impl.deregisterAddListener(INSTANCE.getLogRetentionPoliciesRelationDefinition(), listener);
2671    }
2672
2673
2674
2675    /** {@inheritDoc} */
2676    public void addLogRetentionPolicyDeleteListener(
2677        ConfigurationDeleteListener<LogRetentionPolicyCfg> listener) throws ConfigException {
2678      impl.registerDeleteListener(INSTANCE.getLogRetentionPoliciesRelationDefinition(), listener);
2679    }
2680
2681
2682
2683    /** {@inheritDoc} */
2684    public void removeLogRetentionPolicyDeleteListener(
2685        ConfigurationDeleteListener<LogRetentionPolicyCfg> listener) {
2686      impl.deregisterDeleteListener(INSTANCE.getLogRetentionPoliciesRelationDefinition(), listener);
2687    }
2688
2689
2690
2691    /** {@inheritDoc} */
2692    public String[] listLogRotationPolicies() {
2693      return impl.listChildren(INSTANCE.getLogRotationPoliciesRelationDefinition());
2694    }
2695
2696
2697
2698    /** {@inheritDoc} */
2699    public LogRotationPolicyCfg getLogRotationPolicy(String name) throws ConfigException {
2700      return impl.getChild(INSTANCE.getLogRotationPoliciesRelationDefinition(), name).getConfiguration();
2701    }
2702
2703
2704
2705    /** {@inheritDoc} */
2706    public void addLogRotationPolicyAddListener(
2707        ConfigurationAddListener<LogRotationPolicyCfg> listener) throws ConfigException {
2708      impl.registerAddListener(INSTANCE.getLogRotationPoliciesRelationDefinition(), listener);
2709    }
2710
2711
2712
2713    /** {@inheritDoc} */
2714    public void removeLogRotationPolicyAddListener(
2715        ConfigurationAddListener<LogRotationPolicyCfg> listener) {
2716      impl.deregisterAddListener(INSTANCE.getLogRotationPoliciesRelationDefinition(), listener);
2717    }
2718
2719
2720
2721    /** {@inheritDoc} */
2722    public void addLogRotationPolicyDeleteListener(
2723        ConfigurationDeleteListener<LogRotationPolicyCfg> listener) throws ConfigException {
2724      impl.registerDeleteListener(INSTANCE.getLogRotationPoliciesRelationDefinition(), listener);
2725    }
2726
2727
2728
2729    /** {@inheritDoc} */
2730    public void removeLogRotationPolicyDeleteListener(
2731        ConfigurationDeleteListener<LogRotationPolicyCfg> listener) {
2732      impl.deregisterDeleteListener(INSTANCE.getLogRotationPoliciesRelationDefinition(), listener);
2733    }
2734
2735
2736
2737    /** {@inheritDoc} */
2738    public String[] listMatchingRules() {
2739      return impl.listChildren(INSTANCE.getMatchingRulesRelationDefinition());
2740    }
2741
2742
2743
2744    /** {@inheritDoc} */
2745    public MatchingRuleCfg getMatchingRule(String name) throws ConfigException {
2746      return impl.getChild(INSTANCE.getMatchingRulesRelationDefinition(), name).getConfiguration();
2747    }
2748
2749
2750
2751    /** {@inheritDoc} */
2752    public void addMatchingRuleAddListener(
2753        ConfigurationAddListener<MatchingRuleCfg> listener) throws ConfigException {
2754      impl.registerAddListener(INSTANCE.getMatchingRulesRelationDefinition(), listener);
2755    }
2756
2757
2758
2759    /** {@inheritDoc} */
2760    public void removeMatchingRuleAddListener(
2761        ConfigurationAddListener<MatchingRuleCfg> listener) {
2762      impl.deregisterAddListener(INSTANCE.getMatchingRulesRelationDefinition(), listener);
2763    }
2764
2765
2766
2767    /** {@inheritDoc} */
2768    public void addMatchingRuleDeleteListener(
2769        ConfigurationDeleteListener<MatchingRuleCfg> listener) throws ConfigException {
2770      impl.registerDeleteListener(INSTANCE.getMatchingRulesRelationDefinition(), listener);
2771    }
2772
2773
2774
2775    /** {@inheritDoc} */
2776    public void removeMatchingRuleDeleteListener(
2777        ConfigurationDeleteListener<MatchingRuleCfg> listener) {
2778      impl.deregisterDeleteListener(INSTANCE.getMatchingRulesRelationDefinition(), listener);
2779    }
2780
2781
2782
2783    /** {@inheritDoc} */
2784    public String[] listMonitorProviders() {
2785      return impl.listChildren(INSTANCE.getMonitorProvidersRelationDefinition());
2786    }
2787
2788
2789
2790    /** {@inheritDoc} */
2791    public MonitorProviderCfg getMonitorProvider(String name) throws ConfigException {
2792      return impl.getChild(INSTANCE.getMonitorProvidersRelationDefinition(), name).getConfiguration();
2793    }
2794
2795
2796
2797    /** {@inheritDoc} */
2798    public void addMonitorProviderAddListener(
2799        ConfigurationAddListener<MonitorProviderCfg> listener) throws ConfigException {
2800      impl.registerAddListener(INSTANCE.getMonitorProvidersRelationDefinition(), listener);
2801    }
2802
2803
2804
2805    /** {@inheritDoc} */
2806    public void removeMonitorProviderAddListener(
2807        ConfigurationAddListener<MonitorProviderCfg> listener) {
2808      impl.deregisterAddListener(INSTANCE.getMonitorProvidersRelationDefinition(), listener);
2809    }
2810
2811
2812
2813    /** {@inheritDoc} */
2814    public void addMonitorProviderDeleteListener(
2815        ConfigurationDeleteListener<MonitorProviderCfg> listener) throws ConfigException {
2816      impl.registerDeleteListener(INSTANCE.getMonitorProvidersRelationDefinition(), listener);
2817    }
2818
2819
2820
2821    /** {@inheritDoc} */
2822    public void removeMonitorProviderDeleteListener(
2823        ConfigurationDeleteListener<MonitorProviderCfg> listener) {
2824      impl.deregisterDeleteListener(INSTANCE.getMonitorProvidersRelationDefinition(), listener);
2825    }
2826
2827
2828
2829    /** {@inheritDoc} */
2830    public String[] listPasswordGenerators() {
2831      return impl.listChildren(INSTANCE.getPasswordGeneratorsRelationDefinition());
2832    }
2833
2834
2835
2836    /** {@inheritDoc} */
2837    public PasswordGeneratorCfg getPasswordGenerator(String name) throws ConfigException {
2838      return impl.getChild(INSTANCE.getPasswordGeneratorsRelationDefinition(), name).getConfiguration();
2839    }
2840
2841
2842
2843    /** {@inheritDoc} */
2844    public void addPasswordGeneratorAddListener(
2845        ConfigurationAddListener<PasswordGeneratorCfg> listener) throws ConfigException {
2846      impl.registerAddListener(INSTANCE.getPasswordGeneratorsRelationDefinition(), listener);
2847    }
2848
2849
2850
2851    /** {@inheritDoc} */
2852    public void removePasswordGeneratorAddListener(
2853        ConfigurationAddListener<PasswordGeneratorCfg> listener) {
2854      impl.deregisterAddListener(INSTANCE.getPasswordGeneratorsRelationDefinition(), listener);
2855    }
2856
2857
2858
2859    /** {@inheritDoc} */
2860    public void addPasswordGeneratorDeleteListener(
2861        ConfigurationDeleteListener<PasswordGeneratorCfg> listener) throws ConfigException {
2862      impl.registerDeleteListener(INSTANCE.getPasswordGeneratorsRelationDefinition(), listener);
2863    }
2864
2865
2866
2867    /** {@inheritDoc} */
2868    public void removePasswordGeneratorDeleteListener(
2869        ConfigurationDeleteListener<PasswordGeneratorCfg> listener) {
2870      impl.deregisterDeleteListener(INSTANCE.getPasswordGeneratorsRelationDefinition(), listener);
2871    }
2872
2873
2874
2875    /** {@inheritDoc} */
2876    public String[] listPasswordPolicies() {
2877      return impl.listChildren(INSTANCE.getPasswordPoliciesRelationDefinition());
2878    }
2879
2880
2881
2882    /** {@inheritDoc} */
2883    public AuthenticationPolicyCfg getPasswordPolicy(String name) throws ConfigException {
2884      return impl.getChild(INSTANCE.getPasswordPoliciesRelationDefinition(), name).getConfiguration();
2885    }
2886
2887
2888
2889    /** {@inheritDoc} */
2890    public void addPasswordPolicyAddListener(
2891        ConfigurationAddListener<AuthenticationPolicyCfg> listener) throws ConfigException {
2892      impl.registerAddListener(INSTANCE.getPasswordPoliciesRelationDefinition(), listener);
2893    }
2894
2895
2896
2897    /** {@inheritDoc} */
2898    public void removePasswordPolicyAddListener(
2899        ConfigurationAddListener<AuthenticationPolicyCfg> listener) {
2900      impl.deregisterAddListener(INSTANCE.getPasswordPoliciesRelationDefinition(), listener);
2901    }
2902
2903
2904
2905    /** {@inheritDoc} */
2906    public void addPasswordPolicyDeleteListener(
2907        ConfigurationDeleteListener<AuthenticationPolicyCfg> listener) throws ConfigException {
2908      impl.registerDeleteListener(INSTANCE.getPasswordPoliciesRelationDefinition(), listener);
2909    }
2910
2911
2912
2913    /** {@inheritDoc} */
2914    public void removePasswordPolicyDeleteListener(
2915        ConfigurationDeleteListener<AuthenticationPolicyCfg> listener) {
2916      impl.deregisterDeleteListener(INSTANCE.getPasswordPoliciesRelationDefinition(), listener);
2917    }
2918
2919
2920
2921    /** {@inheritDoc} */
2922    public String[] listPasswordStorageSchemes() {
2923      return impl.listChildren(INSTANCE.getPasswordStorageSchemesRelationDefinition());
2924    }
2925
2926
2927
2928    /** {@inheritDoc} */
2929    public PasswordStorageSchemeCfg getPasswordStorageScheme(String name) throws ConfigException {
2930      return impl.getChild(INSTANCE.getPasswordStorageSchemesRelationDefinition(), name).getConfiguration();
2931    }
2932
2933
2934
2935    /** {@inheritDoc} */
2936    public void addPasswordStorageSchemeAddListener(
2937        ConfigurationAddListener<PasswordStorageSchemeCfg> listener) throws ConfigException {
2938      impl.registerAddListener(INSTANCE.getPasswordStorageSchemesRelationDefinition(), listener);
2939    }
2940
2941
2942
2943    /** {@inheritDoc} */
2944    public void removePasswordStorageSchemeAddListener(
2945        ConfigurationAddListener<PasswordStorageSchemeCfg> listener) {
2946      impl.deregisterAddListener(INSTANCE.getPasswordStorageSchemesRelationDefinition(), listener);
2947    }
2948
2949
2950
2951    /** {@inheritDoc} */
2952    public void addPasswordStorageSchemeDeleteListener(
2953        ConfigurationDeleteListener<PasswordStorageSchemeCfg> listener) throws ConfigException {
2954      impl.registerDeleteListener(INSTANCE.getPasswordStorageSchemesRelationDefinition(), listener);
2955    }
2956
2957
2958
2959    /** {@inheritDoc} */
2960    public void removePasswordStorageSchemeDeleteListener(
2961        ConfigurationDeleteListener<PasswordStorageSchemeCfg> listener) {
2962      impl.deregisterDeleteListener(INSTANCE.getPasswordStorageSchemesRelationDefinition(), listener);
2963    }
2964
2965
2966
2967    /** {@inheritDoc} */
2968    public String[] listPasswordValidators() {
2969      return impl.listChildren(INSTANCE.getPasswordValidatorsRelationDefinition());
2970    }
2971
2972
2973
2974    /** {@inheritDoc} */
2975    public PasswordValidatorCfg getPasswordValidator(String name) throws ConfigException {
2976      return impl.getChild(INSTANCE.getPasswordValidatorsRelationDefinition(), name).getConfiguration();
2977    }
2978
2979
2980
2981    /** {@inheritDoc} */
2982    public void addPasswordValidatorAddListener(
2983        ConfigurationAddListener<PasswordValidatorCfg> listener) throws ConfigException {
2984      impl.registerAddListener(INSTANCE.getPasswordValidatorsRelationDefinition(), listener);
2985    }
2986
2987
2988
2989    /** {@inheritDoc} */
2990    public void removePasswordValidatorAddListener(
2991        ConfigurationAddListener<PasswordValidatorCfg> listener) {
2992      impl.deregisterAddListener(INSTANCE.getPasswordValidatorsRelationDefinition(), listener);
2993    }
2994
2995
2996
2997    /** {@inheritDoc} */
2998    public void addPasswordValidatorDeleteListener(
2999        ConfigurationDeleteListener<PasswordValidatorCfg> listener) throws ConfigException {
3000      impl.registerDeleteListener(INSTANCE.getPasswordValidatorsRelationDefinition(), listener);
3001    }
3002
3003
3004
3005    /** {@inheritDoc} */
3006    public void removePasswordValidatorDeleteListener(
3007        ConfigurationDeleteListener<PasswordValidatorCfg> listener) {
3008      impl.deregisterDeleteListener(INSTANCE.getPasswordValidatorsRelationDefinition(), listener);
3009    }
3010
3011
3012
3013    /** {@inheritDoc} */
3014    public PluginRootCfg getPluginRoot() throws ConfigException {
3015      return impl.getChild(INSTANCE.getPluginRootRelationDefinition()).getConfiguration();
3016    }
3017
3018
3019
3020    /** {@inheritDoc} */
3021    public RootDNCfg getRootDN() throws ConfigException {
3022      return impl.getChild(INSTANCE.getRootDNRelationDefinition()).getConfiguration();
3023    }
3024
3025
3026
3027    /** {@inheritDoc} */
3028    public RootDSEBackendCfg getRootDSEBackend() throws ConfigException {
3029      return impl.getChild(INSTANCE.getRootDSEBackendRelationDefinition()).getConfiguration();
3030    }
3031
3032
3033
3034    /** {@inheritDoc} */
3035    public String[] listSASLMechanismHandlers() {
3036      return impl.listChildren(INSTANCE.getSASLMechanismHandlersRelationDefinition());
3037    }
3038
3039
3040
3041    /** {@inheritDoc} */
3042    public SASLMechanismHandlerCfg getSASLMechanismHandler(String name) throws ConfigException {
3043      return impl.getChild(INSTANCE.getSASLMechanismHandlersRelationDefinition(), name).getConfiguration();
3044    }
3045
3046
3047
3048    /** {@inheritDoc} */
3049    public void addSASLMechanismHandlerAddListener(
3050        ConfigurationAddListener<SASLMechanismHandlerCfg> listener) throws ConfigException {
3051      impl.registerAddListener(INSTANCE.getSASLMechanismHandlersRelationDefinition(), listener);
3052    }
3053
3054
3055
3056    /** {@inheritDoc} */
3057    public void removeSASLMechanismHandlerAddListener(
3058        ConfigurationAddListener<SASLMechanismHandlerCfg> listener) {
3059      impl.deregisterAddListener(INSTANCE.getSASLMechanismHandlersRelationDefinition(), listener);
3060    }
3061
3062
3063
3064    /** {@inheritDoc} */
3065    public void addSASLMechanismHandlerDeleteListener(
3066        ConfigurationDeleteListener<SASLMechanismHandlerCfg> listener) throws ConfigException {
3067      impl.registerDeleteListener(INSTANCE.getSASLMechanismHandlersRelationDefinition(), listener);
3068    }
3069
3070
3071
3072    /** {@inheritDoc} */
3073    public void removeSASLMechanismHandlerDeleteListener(
3074        ConfigurationDeleteListener<SASLMechanismHandlerCfg> listener) {
3075      impl.deregisterDeleteListener(INSTANCE.getSASLMechanismHandlersRelationDefinition(), listener);
3076    }
3077
3078
3079
3080    /** {@inheritDoc} */
3081    public String[] listSchemaProviders() {
3082      return impl.listChildren(INSTANCE.getSchemaProvidersRelationDefinition());
3083    }
3084
3085
3086
3087    /** {@inheritDoc} */
3088    public SchemaProviderCfg getSchemaProvider(String name) throws ConfigException {
3089      return impl.getChild(INSTANCE.getSchemaProvidersRelationDefinition(), name).getConfiguration();
3090    }
3091
3092
3093
3094    /** {@inheritDoc} */
3095    public void addSchemaProviderAddListener(
3096        ConfigurationAddListener<SchemaProviderCfg> listener) throws ConfigException {
3097      impl.registerAddListener(INSTANCE.getSchemaProvidersRelationDefinition(), listener);
3098    }
3099
3100
3101
3102    /** {@inheritDoc} */
3103    public void removeSchemaProviderAddListener(
3104        ConfigurationAddListener<SchemaProviderCfg> listener) {
3105      impl.deregisterAddListener(INSTANCE.getSchemaProvidersRelationDefinition(), listener);
3106    }
3107
3108
3109
3110    /** {@inheritDoc} */
3111    public void addSchemaProviderDeleteListener(
3112        ConfigurationDeleteListener<SchemaProviderCfg> listener) throws ConfigException {
3113      impl.registerDeleteListener(INSTANCE.getSchemaProvidersRelationDefinition(), listener);
3114    }
3115
3116
3117
3118    /** {@inheritDoc} */
3119    public void removeSchemaProviderDeleteListener(
3120        ConfigurationDeleteListener<SchemaProviderCfg> listener) {
3121      impl.deregisterDeleteListener(INSTANCE.getSchemaProvidersRelationDefinition(), listener);
3122    }
3123
3124
3125
3126    /** {@inheritDoc} */
3127    public String[] listSynchronizationProviders() {
3128      return impl.listChildren(INSTANCE.getSynchronizationProvidersRelationDefinition());
3129    }
3130
3131
3132
3133    /** {@inheritDoc} */
3134    public SynchronizationProviderCfg getSynchronizationProvider(String name) throws ConfigException {
3135      return impl.getChild(INSTANCE.getSynchronizationProvidersRelationDefinition(), name).getConfiguration();
3136    }
3137
3138
3139
3140    /** {@inheritDoc} */
3141    public void addSynchronizationProviderAddListener(
3142        ConfigurationAddListener<SynchronizationProviderCfg> listener) throws ConfigException {
3143      impl.registerAddListener(INSTANCE.getSynchronizationProvidersRelationDefinition(), listener);
3144    }
3145
3146
3147
3148    /** {@inheritDoc} */
3149    public void removeSynchronizationProviderAddListener(
3150        ConfigurationAddListener<SynchronizationProviderCfg> listener) {
3151      impl.deregisterAddListener(INSTANCE.getSynchronizationProvidersRelationDefinition(), listener);
3152    }
3153
3154
3155
3156    /** {@inheritDoc} */
3157    public void addSynchronizationProviderDeleteListener(
3158        ConfigurationDeleteListener<SynchronizationProviderCfg> listener) throws ConfigException {
3159      impl.registerDeleteListener(INSTANCE.getSynchronizationProvidersRelationDefinition(), listener);
3160    }
3161
3162
3163
3164    /** {@inheritDoc} */
3165    public void removeSynchronizationProviderDeleteListener(
3166        ConfigurationDeleteListener<SynchronizationProviderCfg> listener) {
3167      impl.deregisterDeleteListener(INSTANCE.getSynchronizationProvidersRelationDefinition(), listener);
3168    }
3169
3170
3171
3172    /** {@inheritDoc} */
3173    public String[] listTrustManagerProviders() {
3174      return impl.listChildren(INSTANCE.getTrustManagerProvidersRelationDefinition());
3175    }
3176
3177
3178
3179    /** {@inheritDoc} */
3180    public TrustManagerProviderCfg getTrustManagerProvider(String name) throws ConfigException {
3181      return impl.getChild(INSTANCE.getTrustManagerProvidersRelationDefinition(), name).getConfiguration();
3182    }
3183
3184
3185
3186    /** {@inheritDoc} */
3187    public void addTrustManagerProviderAddListener(
3188        ConfigurationAddListener<TrustManagerProviderCfg> listener) throws ConfigException {
3189      impl.registerAddListener(INSTANCE.getTrustManagerProvidersRelationDefinition(), listener);
3190    }
3191
3192
3193
3194    /** {@inheritDoc} */
3195    public void removeTrustManagerProviderAddListener(
3196        ConfigurationAddListener<TrustManagerProviderCfg> listener) {
3197      impl.deregisterAddListener(INSTANCE.getTrustManagerProvidersRelationDefinition(), listener);
3198    }
3199
3200
3201
3202    /** {@inheritDoc} */
3203    public void addTrustManagerProviderDeleteListener(
3204        ConfigurationDeleteListener<TrustManagerProviderCfg> listener) throws ConfigException {
3205      impl.registerDeleteListener(INSTANCE.getTrustManagerProvidersRelationDefinition(), listener);
3206    }
3207
3208
3209
3210    /** {@inheritDoc} */
3211    public void removeTrustManagerProviderDeleteListener(
3212        ConfigurationDeleteListener<TrustManagerProviderCfg> listener) {
3213      impl.deregisterDeleteListener(INSTANCE.getTrustManagerProvidersRelationDefinition(), listener);
3214    }
3215
3216
3217
3218    /** {@inheritDoc} */
3219    public String[] listVirtualAttributes() {
3220      return impl.listChildren(INSTANCE.getVirtualAttributesRelationDefinition());
3221    }
3222
3223
3224
3225    /** {@inheritDoc} */
3226    public VirtualAttributeCfg getVirtualAttribute(String name) throws ConfigException {
3227      return impl.getChild(INSTANCE.getVirtualAttributesRelationDefinition(), name).getConfiguration();
3228    }
3229
3230
3231
3232    /** {@inheritDoc} */
3233    public void addVirtualAttributeAddListener(
3234        ConfigurationAddListener<VirtualAttributeCfg> listener) throws ConfigException {
3235      impl.registerAddListener(INSTANCE.getVirtualAttributesRelationDefinition(), listener);
3236    }
3237
3238
3239
3240    /** {@inheritDoc} */
3241    public void removeVirtualAttributeAddListener(
3242        ConfigurationAddListener<VirtualAttributeCfg> listener) {
3243      impl.deregisterAddListener(INSTANCE.getVirtualAttributesRelationDefinition(), listener);
3244    }
3245
3246
3247
3248    /** {@inheritDoc} */
3249    public void addVirtualAttributeDeleteListener(
3250        ConfigurationDeleteListener<VirtualAttributeCfg> listener) throws ConfigException {
3251      impl.registerDeleteListener(INSTANCE.getVirtualAttributesRelationDefinition(), listener);
3252    }
3253
3254
3255
3256    /** {@inheritDoc} */
3257    public void removeVirtualAttributeDeleteListener(
3258        ConfigurationDeleteListener<VirtualAttributeCfg> listener) {
3259      impl.deregisterDeleteListener(INSTANCE.getVirtualAttributesRelationDefinition(), listener);
3260    }
3261
3262
3263
3264    /** {@inheritDoc} */
3265    public WorkQueueCfg getWorkQueue() throws ConfigException {
3266      return impl.getChild(INSTANCE.getWorkQueueRelationDefinition()).getConfiguration();
3267    }
3268
3269
3270
3271    /** {@inheritDoc} */
3272    public Class<? extends RootCfg> configurationClass() {
3273      return RootCfg.class;
3274    }
3275
3276
3277
3278    /** {@inheritDoc} */
3279    public DN dn() {
3280      return impl.getDN();
3281    }
3282
3283
3284
3285    /** {@inheritDoc} */
3286    public String toString() {
3287      return impl.toString();
3288    }
3289  }
3290}