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